@witty-ai/skill-insight 0.3.0-beta → 0.5.0-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (412) hide show
  1. package/.env.example +51 -6
  2. package/.next/standalone/.next/BUILD_ID +1 -1
  3. package/.next/standalone/.next/app-path-routes-manifest.json +2 -0
  4. package/.next/standalone/.next/build-manifest.json +2 -2
  5. package/.next/standalone/.next/prerender-manifest.json +3 -3
  6. package/.next/standalone/.next/routes-manifest.json +12 -0
  7. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  8. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.rsc +4 -4
  18. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
  19. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  20. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  21. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  22. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  23. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  24. package/.next/standalone/.next/server/app/api/auth/apikey/route.js +2 -2
  25. package/.next/standalone/.next/server/app/api/auth/apikey/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/auth/organization/route/app-paths-manifest.json +3 -0
  27. package/.next/standalone/.next/server/app/api/auth/organization/route/build-manifest.json +11 -0
  28. package/.next/standalone/.next/server/app/api/auth/organization/route/server-reference-manifest.json +4 -0
  29. package/.next/standalone/.next/server/app/api/auth/organization/route.js +7 -0
  30. package/.next/standalone/.next/server/app/api/auth/organization/route.js.map +5 -0
  31. package/.next/standalone/.next/server/app/api/auth/organization/route.js.nft.json +1 -0
  32. package/.next/standalone/.next/server/app/api/auth/organization/route_client-reference-manifest.js +2 -0
  33. package/.next/standalone/.next/server/app/api/config/create/route.js +5 -5
  34. package/.next/standalone/.next/server/app/api/config/create/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/config/route.js +5 -4
  36. package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/config/status/route.js +2 -2
  38. package/.next/standalone/.next/server/app/api/config/status/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/data/route.js +5 -4
  40. package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/executions/[executionId]/analyze-match/route.js +4 -4
  42. package/.next/standalone/.next/server/app/api/executions/[executionId]/analyze-match/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/guide/route/app-paths-manifest.json +3 -0
  44. package/.next/standalone/.next/server/app/api/guide/route/build-manifest.json +11 -0
  45. package/.next/standalone/.next/server/app/api/guide/route/server-reference-manifest.json +4 -0
  46. package/.next/standalone/.next/server/app/api/guide/route.js +7 -0
  47. package/.next/standalone/.next/server/app/api/guide/route.js.map +5 -0
  48. package/.next/standalone/.next/server/app/api/guide/route.js.nft.json +1 -0
  49. package/.next/standalone/.next/server/app/api/guide/route_client-reference-manifest.js +2 -0
  50. package/.next/standalone/.next/server/app/api/otel/v1/logs/route.js +5 -4
  51. package/.next/standalone/.next/server/app/api/otel/v1/logs/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/api/otel/v1/traces/route.js +5 -4
  53. package/.next/standalone/.next/server/app/api/otel/v1/traces/route.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/api/proxy/[taskId]/[...path]/route.js +3 -3
  55. package/.next/standalone/.next/server/app/api/proxy/[taskId]/[...path]/route.js.nft.json +1 -1
  56. package/.next/standalone/.next/server/app/api/proxy/[taskId]/end/route.js +5 -4
  57. package/.next/standalone/.next/server/app/api/proxy/[taskId]/end/route.js.nft.json +1 -1
  58. package/.next/standalone/.next/server/app/api/proxy/[taskId]/start/route.js +2 -2
  59. package/.next/standalone/.next/server/app/api/proxy/[taskId]/start/route.js.nft.json +1 -1
  60. package/.next/standalone/.next/server/app/api/rejudge/route.js +5 -4
  61. package/.next/standalone/.next/server/app/api/rejudge/route.js.nft.json +1 -1
  62. package/.next/standalone/.next/server/app/api/session/route.js +5 -5
  63. package/.next/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/api/settings/route.js +2 -2
  65. package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/api/settings/test/route.js +2 -2
  67. package/.next/standalone/.next/server/app/api/settings/test/route.js.nft.json +1 -1
  68. package/.next/standalone/.next/server/app/api/skills/[id]/activate/route.js +2 -2
  69. package/.next/standalone/.next/server/app/api/skills/[id]/activate/route.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/app/api/skills/[id]/toggle/route.js +2 -2
  71. package/.next/standalone/.next/server/app/api/skills/[id]/toggle/route.js.nft.json +1 -1
  72. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js +3 -3
  73. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js.nft.json +1 -1
  74. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js +4 -4
  75. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js.nft.json +1 -1
  76. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js +2 -2
  77. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/app/api/skills/[id]/versions/route.js +2 -2
  79. package/.next/standalone/.next/server/app/api/skills/[id]/versions/route.js.nft.json +1 -1
  80. package/.next/standalone/.next/server/app/api/skills/automation/import/route.js +2 -2
  81. package/.next/standalone/.next/server/app/api/skills/automation/import/route.js.nft.json +1 -1
  82. package/.next/standalone/.next/server/app/api/skills/automation/push/route.js +2 -2
  83. package/.next/standalone/.next/server/app/api/skills/automation/push/route.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/api/skills/by-name/route.js +2 -2
  85. package/.next/standalone/.next/server/app/api/skills/by-name/route.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/api/skills/logs/route.js +5 -4
  87. package/.next/standalone/.next/server/app/api/skills/logs/route.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/api/skills/route.js +2 -2
  89. package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/app/api/skills/upload/route.js +2 -2
  91. package/.next/standalone/.next/server/app/api/skills/upload/route.js.nft.json +1 -1
  92. package/.next/standalone/.next/server/app/api/sync/manifest/route.js +2 -2
  93. package/.next/standalone/.next/server/app/api/sync/manifest/route.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/api/sync/opencode/route.js +2 -2
  95. package/.next/standalone/.next/server/app/api/sync/opencode/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/upload/route.js +5 -3
  97. package/.next/standalone/.next/server/app/api/upload/route.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/app/details/page/react-loadable-manifest.json +3 -3
  99. package/.next/standalone/.next/server/app/details/page.js.nft.json +1 -1
  100. package/.next/standalone/.next/server/app/details/page_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/details.html +1 -1
  102. package/.next/standalone/.next/server/app/details.rsc +5 -5
  103. package/.next/standalone/.next/server/app/details.segments/_full.segment.rsc +5 -5
  104. package/.next/standalone/.next/server/app/details.segments/_head.segment.rsc +1 -1
  105. package/.next/standalone/.next/server/app/details.segments/_index.segment.rsc +3 -3
  106. package/.next/standalone/.next/server/app/details.segments/_tree.segment.rsc +2 -2
  107. package/.next/standalone/.next/server/app/details.segments/details/__PAGE__.segment.rsc +2 -2
  108. package/.next/standalone/.next/server/app/details.segments/details.segment.rsc +1 -1
  109. package/.next/standalone/.next/server/app/index.html +1 -1
  110. package/.next/standalone/.next/server/app/index.rsc +5 -5
  111. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  112. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +5 -5
  113. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  114. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
  115. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  116. package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -1
  117. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  118. package/.next/standalone/.next/server/app/login.html +1 -1
  119. package/.next/standalone/.next/server/app/login.rsc +5 -5
  120. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +5 -5
  121. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  122. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +3 -3
  123. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  124. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  125. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  126. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  127. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  128. package/.next/standalone/.next/server/app/skills/page.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  130. package/.next/standalone/.next/server/app/skills.html +1 -1
  131. package/.next/standalone/.next/server/app/skills.rsc +5 -5
  132. package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +5 -5
  133. package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  134. package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +3 -3
  135. package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  136. package/.next/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +2 -2
  137. package/.next/standalone/.next/server/app/skills.segments/skills.segment.rsc +1 -1
  138. package/.next/standalone/.next/server/app-paths-manifest.json +2 -0
  139. package/.next/standalone/.next/server/chunks/[root-of-the-server]__02ddba88._.js +3 -0
  140. package/.next/standalone/.next/server/chunks/[root-of-the-server]__05e510f4._.js +3 -0
  141. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0a140a5a._.js +122 -0
  142. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1013b265._.js +3 -0
  143. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1c95bcde._.js +3 -0
  144. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ce5e3b8._.js +3 -0
  145. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4a6d443b._.js +3 -0
  146. package/.next/standalone/.next/server/chunks/[root-of-the-server]__53775b48._.js +3 -0
  147. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5444db55._.js +3 -0
  148. package/.next/standalone/.next/server/chunks/[root-of-the-server]__591248f3._.js +3 -0
  149. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5d8178f6._.js +3 -0
  150. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6923eecf._.js +3 -0
  151. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6d8053e2._.js +3 -0
  152. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6fc12878._.js +3 -0
  153. package/.next/standalone/.next/server/chunks/[root-of-the-server]__73ce6d21._.js +3 -0
  154. package/.next/standalone/.next/server/chunks/[root-of-the-server]__863cf6de._.js +3 -0
  155. package/.next/standalone/.next/server/chunks/[root-of-the-server]__98b3de5e._.js +3 -0
  156. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9d551ea2._.js +3 -0
  157. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a4d3d791._.js +3 -0
  158. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__c6c98b22._.js → [root-of-the-server]__aa5c8858._.js} +3 -3
  159. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b11acc79._.js +3 -0
  160. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b835ea7f._.js +3 -0
  161. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ba01f286._.js +3 -0
  162. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bd91659b._.js +3 -0
  163. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c200214a._.js +3 -0
  164. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d7fab946._.js +3 -0
  165. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d8c1808b._.js +3 -0
  166. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d9b9fecc._.js +3 -0
  167. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e280561d._.js +3 -0
  168. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e2f0baee._.js +3 -0
  169. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e550423c._.js +3 -0
  170. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fc05579d._.js +3 -0
  171. package/.next/standalone/.next/server/chunks/_33c0c729._.js +1 -1
  172. package/.next/standalone/.next/server/chunks/_41a98bd8._.js +3 -0
  173. package/.next/standalone/.next/server/chunks/_c48f7c66._.js +1 -1
  174. package/.next/standalone/.next/server/chunks/_c82df3e0._.js +3 -3
  175. package/.next/standalone/.next/server/chunks/_cd3d20ca._.js +1 -1
  176. package/.next/standalone/.next/server/chunks/_fa49adfa._.js +3 -3
  177. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_auth_organization_route_actions_f58710b7.js +3 -0
  178. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_guide_route_actions_6c188449.js +3 -0
  179. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_c33286ed.js +71 -110
  180. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_f42faeee.js +1 -400
  181. package/.next/standalone/.next/server/chunks/src_497d2ad2._.js +22 -22
  182. package/.next/standalone/.next/server/chunks/src_c8971a2d._.js +1 -1
  183. package/.next/standalone/.next/server/chunks/src_lib_12408140._.js +3 -0
  184. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__5d576168._.js → [root-of-the-server]__40353d98._.js} +1 -1
  185. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__89851212._.js → [root-of-the-server]__480fcd92._.js} +1 -1
  186. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__72a7f3ed._.js → [root-of-the-server]__48f8fbcb._.js} +1 -1
  187. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__438a2c90._.js → [root-of-the-server]__49921b2a._.js} +1 -1
  188. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__51073007._.js +1 -1
  189. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__c9e3c893._.js → [root-of-the-server]__593be3d6._.js} +1 -1
  190. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__ca101543._.js → [root-of-the-server]__5e9ff641._.js} +1 -1
  191. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__90641614._.js → [root-of-the-server]__66cc6ff2._.js} +1 -1
  192. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__37bfda90._.js → [root-of-the-server]__9889bdc8._.js} +1 -1
  193. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__42ba97b6._.js → [root-of-the-server]__9905ca7a._.js} +2 -2
  194. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__9ab7cc4a._.js +3 -0
  195. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__7bb97139._.js → [root-of-the-server]__9d6b7d48._.js} +1 -1
  196. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__6b8b9bb9._.js → [root-of-the-server]__b8edc8c6._.js} +1 -1
  197. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1dfe61f8._.js → [root-of-the-server]__d691ecb0._.js} +1 -1
  198. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__d0917d6e._.js → [root-of-the-server]__e5ddfd15._.js} +1 -1
  199. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__e5e3a145._.js → [root-of-the-server]__f72f330e._.js} +1 -1
  200. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__99ab66d7._.js → [root-of-the-server]__f843e085._.js} +1 -1
  201. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__8a82ef12._.js → [root-of-the-server]__fd69d276._.js} +2 -2
  202. package/.next/standalone/.next/server/chunks/ssr/{_7688d7cd._.js → _049876f0._.js} +2 -2
  203. package/.next/standalone/.next/server/chunks/ssr/{_981cd263._.js → _09546b95._.js} +2 -2
  204. package/.next/standalone/.next/server/chunks/ssr/_8f5379ab._.js +1 -1
  205. package/.next/standalone/.next/server/chunks/ssr/{node_modules_cf1f3d2c._.js → _b121f1ae._.js} +2 -2
  206. package/.next/standalone/.next/server/chunks/ssr/_c8c8c083._.js +18 -42
  207. package/.next/standalone/.next/server/chunks/ssr/_fd46f439._.js +3 -0
  208. package/.next/standalone/.next/server/chunks/ssr/{node_modules_a4a1f3c3._.js → node_modules_039c6a11._.js} +1 -1
  209. package/.next/standalone/.next/server/chunks/ssr/{node_modules_a7a82280._.js → node_modules_0d3530cd._.js} +2 -2
  210. package/.next/standalone/.next/server/chunks/ssr/{node_modules_0c2939c3._.js → node_modules_0e883565._.js} +1 -1
  211. package/.next/standalone/.next/server/chunks/ssr/{node_modules_8d9e56b7._.js → node_modules_11dbf165._.js} +2 -2
  212. package/.next/standalone/.next/server/chunks/ssr/{node_modules_76d6c533._.js → node_modules_2041c122._.js} +2 -2
  213. package/.next/standalone/.next/server/chunks/ssr/{node_modules_b007145b._.js → node_modules_235267bb._.js} +1 -1
  214. package/.next/standalone/.next/server/chunks/ssr/{node_modules_11d81adf._.js → node_modules_25dfb0ba._.js} +2 -2
  215. package/.next/standalone/.next/server/chunks/ssr/{node_modules_205ce1c9._.js → node_modules_2b12c669._.js} +2 -2
  216. package/.next/standalone/.next/server/chunks/ssr/{node_modules_cc19e85c._.js → node_modules_32996880._.js} +2 -2
  217. package/.next/standalone/.next/server/chunks/ssr/{node_modules_62621b34._.js → node_modules_35885fe9._.js} +2 -2
  218. package/.next/standalone/.next/server/chunks/ssr/{node_modules_ee43cfd6._.js → node_modules_38a95353._.js} +2 -2
  219. package/.next/standalone/.next/server/chunks/ssr/{node_modules_f596a14c._.js → node_modules_3a317c51._.js} +1 -1
  220. package/.next/standalone/.next/server/chunks/ssr/{node_modules_776b68cf._.js → node_modules_44966ab2._.js} +1 -1
  221. package/.next/standalone/.next/server/chunks/ssr/node_modules_514c148b._.js +3 -0
  222. package/.next/standalone/.next/server/chunks/ssr/{node_modules_e272ac31._.js → node_modules_53af751a._.js} +2 -2
  223. package/.next/standalone/.next/server/chunks/ssr/{node_modules_23d38260._.js → node_modules_5f539891._.js} +1 -1
  224. package/.next/standalone/.next/server/chunks/ssr/{node_modules_86b6ffa4._.js → node_modules_60402210._.js} +1 -1
  225. package/.next/standalone/.next/server/chunks/ssr/{node_modules_3769cd60._.js → node_modules_60eccfb6._.js} +1 -1
  226. package/.next/standalone/.next/server/chunks/ssr/{node_modules_fdf808cf._.js → node_modules_632c098c._.js} +1 -1
  227. package/.next/standalone/.next/server/chunks/ssr/{node_modules_60cf7de2._.js → node_modules_6c42f75c._.js} +1 -1
  228. package/.next/standalone/.next/server/chunks/ssr/{node_modules_2f215d2b._.js → node_modules_6fbe276d._.js} +2 -2
  229. package/.next/standalone/.next/server/chunks/ssr/{node_modules_4cd41088._.js → node_modules_740e9d59._.js} +2 -2
  230. package/.next/standalone/.next/server/chunks/ssr/{node_modules_d0af4cb2._.js → node_modules_7a3d551c._.js} +1 -1
  231. package/.next/standalone/.next/server/chunks/ssr/{node_modules_4f41f172._.js → node_modules_861cb9cf._.js} +2 -2
  232. package/.next/standalone/.next/server/chunks/ssr/{node_modules_db8af6e3._.js → node_modules_8a892761._.js} +1 -1
  233. package/.next/standalone/.next/server/chunks/ssr/{node_modules_28fef057._.js → node_modules_a5a4946e._.js} +1 -1
  234. package/.next/standalone/.next/server/chunks/ssr/{node_modules_3d9afa91._.js → node_modules_a712c937._.js} +1 -1
  235. package/.next/standalone/.next/server/chunks/ssr/{node_modules_330b9e3c._.js → node_modules_a8c276dd._.js} +2 -2
  236. package/.next/standalone/.next/server/chunks/ssr/{node_modules_abf4f826._.js → node_modules_acc9d529._.js} +1 -1
  237. package/.next/standalone/.next/server/chunks/ssr/{node_modules_39a3e684._.js → node_modules_ad07ab39._.js} +1 -1
  238. package/.next/standalone/.next/server/chunks/ssr/{node_modules_1d88c7cc._.js → node_modules_b38efa22._.js} +1 -1
  239. package/.next/standalone/.next/server/chunks/ssr/{node_modules_8633bac6._.js → node_modules_b4ef036d._.js} +2 -2
  240. package/.next/standalone/.next/server/chunks/ssr/{node_modules_abc9e5a6._.js → node_modules_b6bad701._.js} +2 -2
  241. package/.next/standalone/.next/server/chunks/ssr/{node_modules_c90fa812._.js → node_modules_b9810024._.js} +1 -1
  242. package/.next/standalone/.next/server/chunks/ssr/{node_modules_f56b62b0._.js → node_modules_b9ad808d._.js} +1 -1
  243. package/.next/standalone/.next/server/chunks/ssr/{node_modules_7287189a._.js → node_modules_bc287d9f._.js} +1 -1
  244. package/.next/standalone/.next/server/chunks/ssr/{node_modules_5ab83f0a._.js → node_modules_c411d7df._.js} +2 -2
  245. package/.next/standalone/.next/server/chunks/ssr/{node_modules_c98dd942._.js → node_modules_c6469d93._.js} +1 -1
  246. package/.next/standalone/.next/server/chunks/ssr/{node_modules_6391b0cd._.js → node_modules_c704e802._.js} +1 -1
  247. package/.next/standalone/.next/server/chunks/ssr/{node_modules_df113a74._.js → node_modules_cda46cfc._.js} +2 -2
  248. package/.next/standalone/.next/server/chunks/ssr/{node_modules_aa6da06c._.js → node_modules_cf171d0c._.js} +1 -1
  249. package/.next/standalone/.next/server/chunks/ssr/{node_modules_be61cdef._.js → node_modules_e8927fc2._.js} +1 -1
  250. package/.next/standalone/.next/server/chunks/ssr/node_modules_katex_dist_katex_mjs_d037b3b1._.js +1 -1
  251. package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-7R4GIKGN_mjs_e5dda8cc._.js +1 -1
  252. package/.next/standalone/.next/server/chunks/ssr/src_66a70595._.js +1 -1
  253. package/.next/standalone/.next/server/chunks/ssr/src_app_login_page_tsx_72f58654._.js +1 -1
  254. package/.next/standalone/.next/server/pages/404.html +1 -1
  255. package/.next/standalone/.next/server/pages/500.html +2 -2
  256. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  257. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  258. package/.next/standalone/.next/static/chunks/{d60f0b3e2f4689ac.js → 01eddf501c574a44.js} +1 -1
  259. package/.next/{static/chunks/ec0de430276c8209.js → standalone/.next/static/chunks/078d76156083f265.js} +1 -1
  260. package/.next/standalone/.next/static/chunks/{6a17b619eed04f07.js → 07c9f28a269c701a.js} +2 -2
  261. package/.next/standalone/.next/static/chunks/1e782a49beaf489c.js +1 -0
  262. package/.next/{static/chunks/55723b38de737547.js → standalone/.next/static/chunks/21105f8885631d60.js} +1 -1
  263. package/.next/standalone/.next/static/chunks/4071dbec4cf7e72e.js +109 -0
  264. package/.next/{static/chunks/052f178ab7519d8d.js → standalone/.next/static/chunks/5432ce4a494bc74d.js} +2 -2
  265. package/.next/standalone/.next/static/chunks/59cd76b8d89e776a.js +1 -0
  266. package/.next/standalone/.next/static/chunks/67bd1a5de2195779.js +1 -0
  267. package/.next/standalone/.next/static/chunks/6baf949fafec6be3.js +1 -0
  268. package/.next/standalone/.next/static/chunks/737b8cff3c6a4e30.js +1 -0
  269. package/.next/standalone/.next/static/chunks/7e35f4cf2e266022.js +1 -0
  270. package/.next/standalone/.next/static/chunks/a87b5e84254095a5.js +1 -0
  271. package/.next/standalone/.next/static/chunks/b43afe7d924243d9.js +2 -0
  272. package/.next/standalone/.next/static/chunks/c6bd2818656b1f20.css +1 -0
  273. package/.next/{static/chunks/559e55a53f22f5d1.js → standalone/.next/static/chunks/c875bd2ff662b46f.js} +1 -1
  274. package/.next/{static/chunks/6d12c79948c7e0ac.js → standalone/.next/static/chunks/dc59a07a8f327b40.js} +1 -1
  275. package/.next/standalone/.next/static/chunks/e09d9ee16fe90255.js +1 -0
  276. package/.next/standalone/.next/static/chunks/{20337e5244416041.js → e20b02ee30c11a26.js} +1 -1
  277. package/.next/standalone/.next/static/chunks/ff6357067630b168.js +1 -0
  278. package/.next/standalone/LICENSE +1 -1
  279. package/.next/standalone/bin/cli.js +1 -1
  280. package/.next/standalone/features/feature-skill-used-jump-link/design/2026-03-18-skill-used-jump-link-design.md +126 -0
  281. package/.next/standalone/features/feature-skill-used-jump-link/feature.json +32 -0
  282. package/.next/standalone/features/feature-skill-used-jump-link/issue.md +32 -0
  283. package/.next/standalone/features/feature-skill-used-jump-link/plans/2026-03-18-skill-used-jump-link.md +528 -0
  284. package/.next/standalone/next.config.ts +14 -2
  285. package/.next/standalone/node_modules/.prisma/client/edge.js +23 -5
  286. package/.next/standalone/node_modules/.prisma/client/index-browser.js +20 -2
  287. package/.next/standalone/node_modules/.prisma/client/index.js +23 -5
  288. package/.next/standalone/node_modules/.prisma/client/package.json +1 -1
  289. package/.next/standalone/node_modules/.prisma/client/schema.prisma +19 -2
  290. package/.next/standalone/node_modules/.prisma/client/wasm.js +20 -2
  291. package/.next/standalone/node_modules/@img/colour/color.cjs +11 -9
  292. package/.next/standalone/node_modules/@img/colour/package.json +21 -8
  293. package/.next/standalone/package.json +1 -1
  294. package/.next/standalone/prisma/schema.prisma +19 -2
  295. package/.next/standalone/scripts/activate_telemetry.sh +24 -24
  296. package/.next/standalone/scripts/claude_watcher_client.ts +9 -7
  297. package/.next/standalone/scripts/init_opengauss.py +15 -0
  298. package/.next/standalone/scripts/install.js +68 -35
  299. package/.next/standalone/scripts/logs.js +1 -1
  300. package/.next/standalone/scripts/openclaw_watcher_client.ts +9 -7
  301. package/.next/standalone/scripts/opencode_plugin.ts +278 -46
  302. package/.next/standalone/scripts/postinstall.js +80 -38
  303. package/.next/standalone/scripts/restart.js +1 -1
  304. package/.next/standalone/scripts/start.js +84 -60
  305. package/.next/standalone/scripts/status.js +1 -1
  306. package/.next/standalone/scripts/stop.js +38 -14
  307. package/.next/standalone/scripts/sync_skills.js +5 -5
  308. package/.next/standalone/scripts/utils.js +91 -23
  309. package/.next/standalone/tests/setup_skill_optimizer.sh +118 -0
  310. package/.next/static/chunks/{d60f0b3e2f4689ac.js → 01eddf501c574a44.js} +1 -1
  311. package/.next/{standalone/.next/static/chunks/ec0de430276c8209.js → static/chunks/078d76156083f265.js} +1 -1
  312. package/.next/static/chunks/{6a17b619eed04f07.js → 07c9f28a269c701a.js} +2 -2
  313. package/.next/static/chunks/1e782a49beaf489c.js +1 -0
  314. package/.next/{standalone/.next/static/chunks/55723b38de737547.js → static/chunks/21105f8885631d60.js} +1 -1
  315. package/.next/static/chunks/4071dbec4cf7e72e.js +109 -0
  316. package/.next/{standalone/.next/static/chunks/052f178ab7519d8d.js → static/chunks/5432ce4a494bc74d.js} +2 -2
  317. package/.next/static/chunks/59cd76b8d89e776a.js +1 -0
  318. package/.next/static/chunks/67bd1a5de2195779.js +1 -0
  319. package/.next/static/chunks/6baf949fafec6be3.js +1 -0
  320. package/.next/static/chunks/737b8cff3c6a4e30.js +1 -0
  321. package/.next/static/chunks/7e35f4cf2e266022.js +1 -0
  322. package/.next/static/chunks/a87b5e84254095a5.js +1 -0
  323. package/.next/static/chunks/b43afe7d924243d9.js +2 -0
  324. package/.next/static/chunks/c6bd2818656b1f20.css +1 -0
  325. package/.next/{standalone/.next/static/chunks/559e55a53f22f5d1.js → static/chunks/c875bd2ff662b46f.js} +1 -1
  326. package/.next/{standalone/.next/static/chunks/6d12c79948c7e0ac.js → static/chunks/dc59a07a8f327b40.js} +1 -1
  327. package/.next/static/chunks/e09d9ee16fe90255.js +1 -0
  328. package/.next/static/chunks/{20337e5244416041.js → e20b02ee30c11a26.js} +1 -1
  329. package/.next/static/chunks/ff6357067630b168.js +1 -0
  330. package/LICENSE +1 -1
  331. package/README.md +7 -6
  332. package/bin/cli.js +1 -1
  333. package/package.json +1 -1
  334. package/prisma/schema.prisma +19 -2
  335. package/scripts/activate_telemetry.sh +24 -24
  336. package/scripts/claude_watcher_client.ts +9 -7
  337. package/scripts/init_opengauss.py +15 -0
  338. package/scripts/install.js +68 -35
  339. package/scripts/logs.js +1 -1
  340. package/scripts/openclaw_watcher_client.ts +9 -7
  341. package/scripts/opencode_plugin.ts +278 -46
  342. package/scripts/postinstall.js +80 -38
  343. package/scripts/restart.js +1 -1
  344. package/scripts/start.js +84 -60
  345. package/scripts/status.js +1 -1
  346. package/scripts/stop.js +38 -14
  347. package/scripts/sync_skills.js +5 -5
  348. package/scripts/utils.js +91 -23
  349. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1306e4eb._.js +0 -3
  350. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1809fb2b._.js +0 -3
  351. package/.next/standalone/.next/server/chunks/[root-of-the-server]__19594bdd._.js +0 -3
  352. package/.next/standalone/.next/server/chunks/[root-of-the-server]__19db3d34._.js +0 -3
  353. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2b2e7f49._.js +0 -3
  354. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3c02de9b._.js +0 -3
  355. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3f3ad12b._.js +0 -3
  356. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4c1ad182._.js +0 -3
  357. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4dce0fe6._.js +0 -3
  358. package/.next/standalone/.next/server/chunks/[root-of-the-server]__582cdc68._.js +0 -3
  359. package/.next/standalone/.next/server/chunks/[root-of-the-server]__625e84f3._.js +0 -3
  360. package/.next/standalone/.next/server/chunks/[root-of-the-server]__68b5a8b3._.js +0 -3
  361. package/.next/standalone/.next/server/chunks/[root-of-the-server]__704b8533._.js +0 -3
  362. package/.next/standalone/.next/server/chunks/[root-of-the-server]__78ea20f2._.js +0 -3
  363. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7f754db9._.js +0 -3
  364. package/.next/standalone/.next/server/chunks/[root-of-the-server]__824c33e1._.js +0 -3
  365. package/.next/standalone/.next/server/chunks/[root-of-the-server]__92449e6d._.js +0 -3
  366. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9465727f._.js +0 -3
  367. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9c3018b5._.js +0 -3
  368. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a12846e0._.js +0 -3
  369. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a637116a._.js +0 -3
  370. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a8f83ee4._.js +0 -3
  371. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a8ffc1b1._.js +0 -3
  372. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9cb205c._.js +0 -122
  373. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ab7048b0._.js +0 -3
  374. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ac25e4ae._.js +0 -3
  375. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ae5ac9cd._.js +0 -3
  376. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bebf4267._.js +0 -3
  377. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c5ae3ebd._.js +0 -3
  378. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ebdafae4._.js +0 -3
  379. package/.next/standalone/.next/server/chunks/[root-of-the-server]__eefd5f5b._.js +0 -3
  380. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__082c32a2._.js +0 -3
  381. package/.next/standalone/.next/server/chunks/ssr/_b7889f85._.js +0 -3
  382. package/.next/standalone/.next/server/chunks/ssr/node_modules_0b762d3e._.js +0 -3
  383. package/.next/standalone/.next/static/chunks/024c9acb4aa490c8.js +0 -1
  384. package/.next/standalone/.next/static/chunks/104f2c1fb93033c0.js +0 -1
  385. package/.next/standalone/.next/static/chunks/222a937a6c859036.js +0 -1
  386. package/.next/standalone/.next/static/chunks/2e1b2125198a02c4.js +0 -1
  387. package/.next/standalone/.next/static/chunks/32b26ff1bbd034fd.js +0 -1
  388. package/.next/standalone/.next/static/chunks/428e6cf64b115e9d.css +0 -1
  389. package/.next/standalone/.next/static/chunks/62e251619a96dc26.js +0 -1
  390. package/.next/standalone/.next/static/chunks/65c652f23d2d68bd.js +0 -133
  391. package/.next/standalone/.next/static/chunks/876e2d70185fd438.js +0 -1
  392. package/.next/standalone/.next/static/chunks/c647b2e4532050e0.js +0 -1
  393. package/.next/standalone/.next/static/chunks/d2e574310159a10b.js +0 -1
  394. package/.next/standalone/.next/static/chunks/dab1749712763979.js +0 -2
  395. package/.next/static/chunks/024c9acb4aa490c8.js +0 -1
  396. package/.next/static/chunks/104f2c1fb93033c0.js +0 -1
  397. package/.next/static/chunks/222a937a6c859036.js +0 -1
  398. package/.next/static/chunks/2e1b2125198a02c4.js +0 -1
  399. package/.next/static/chunks/32b26ff1bbd034fd.js +0 -1
  400. package/.next/static/chunks/428e6cf64b115e9d.css +0 -1
  401. package/.next/static/chunks/62e251619a96dc26.js +0 -1
  402. package/.next/static/chunks/65c652f23d2d68bd.js +0 -133
  403. package/.next/static/chunks/876e2d70185fd438.js +0 -1
  404. package/.next/static/chunks/c647b2e4532050e0.js +0 -1
  405. package/.next/static/chunks/d2e574310159a10b.js +0 -1
  406. package/.next/static/chunks/dab1749712763979.js +0 -2
  407. /package/.next/standalone/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → H581Rok68JtPV4bAVVH3l}/_buildManifest.js +0 -0
  408. /package/.next/standalone/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → H581Rok68JtPV4bAVVH3l}/_clientMiddlewareManifest.json +0 -0
  409. /package/.next/standalone/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → H581Rok68JtPV4bAVVH3l}/_ssgManifest.js +0 -0
  410. /package/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → H581Rok68JtPV4bAVVH3l}/_buildManifest.js +0 -0
  411. /package/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → H581Rok68JtPV4bAVVH3l}/_clientMiddlewareManifest.json +0 -0
  412. /package/.next/static/{Zt2VD1Py2IilfVNJL-9Wm → H581Rok68JtPV4bAVVH3l}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,16015,(e,s,t)=>{},98547,(e,s,t)=>{var d=e.i(18392);e.r(16015);var r=e.r(71645),a=r&&"object"==typeof r&&"default"in r?r:{default:r},l=void 0!==d.default&&d.default.env&&!0,n=function(e){return"[object String]"===Object.prototype.toString.call(e)},i=function(){function e(e){var s=void 0===e?{}:e,t=s.name,d=void 0===t?"stylesheet":t,r=s.optimizeForSpeed,a=void 0===r?l:r;c(n(d),"`name` must be a string"),this._name=d,this._deletedRulePlaceholder="#"+d+"-deleted-rule____{}",c("boolean"==typeof a,"`optimizeForSpeed` must be a boolean"),this._optimizeForSpeed=a,this._serverSheet=void 0,this._tags=[],this._injected=!1,this._rulesCount=0;var i="u">typeof window&&document.querySelector('meta[property="csp-nonce"]');this._nonce=i?i.getAttribute("content"):null}var s,t=e.prototype;return t.setOptimizeForSpeed=function(e){c("boolean"==typeof e,"`setOptimizeForSpeed` accepts a boolean"),c(0===this._rulesCount,"optimizeForSpeed cannot be when rules have already been inserted"),this.flush(),this._optimizeForSpeed=e,this.inject()},t.isOptimizeForSpeed=function(){return this._optimizeForSpeed},t.inject=function(){var e=this;if(c(!this._injected,"sheet already injected"),this._injected=!0,"u">typeof window&&this._optimizeForSpeed){this._tags[0]=this.makeStyleTag(this._name),this._optimizeForSpeed="insertRule"in this.getSheet(),this._optimizeForSpeed||(l||console.warn("StyleSheet: optimizeForSpeed mode not supported falling back to standard mode."),this.flush(),this._injected=!0);return}this._serverSheet={cssRules:[],insertRule:function(s,t){return"number"==typeof t?e._serverSheet.cssRules[t]={cssText:s}:e._serverSheet.cssRules.push({cssText:s}),t},deleteRule:function(s){e._serverSheet.cssRules[s]=null}}},t.getSheetForTag=function(e){if(e.sheet)return e.sheet;for(var s=0;s<document.styleSheets.length;s++)if(document.styleSheets[s].ownerNode===e)return document.styleSheets[s]},t.getSheet=function(){return this.getSheetForTag(this._tags[this._tags.length-1])},t.insertRule=function(e,s){if(c(n(e),"`insertRule` accepts only strings"),"u"<typeof window)return"number"!=typeof s&&(s=this._serverSheet.cssRules.length),this._serverSheet.insertRule(e,s),this._rulesCount++;if(this._optimizeForSpeed){var t=this.getSheet();"number"!=typeof s&&(s=t.cssRules.length);try{t.insertRule(e,s)}catch(s){return l||console.warn("StyleSheet: illegal rule: \n\n"+e+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),-1}}else{var d=this._tags[s];this._tags.push(this.makeStyleTag(this._name,e,d))}return this._rulesCount++},t.replaceRule=function(e,s){if(this._optimizeForSpeed||"u"<typeof window){var t="u">typeof window?this.getSheet():this._serverSheet;if(s.trim()||(s=this._deletedRulePlaceholder),!t.cssRules[e])return e;t.deleteRule(e);try{t.insertRule(s,e)}catch(d){l||console.warn("StyleSheet: illegal rule: \n\n"+s+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),t.insertRule(this._deletedRulePlaceholder,e)}}else{var d=this._tags[e];c(d,"old rule at index `"+e+"` not found"),d.textContent=s}return e},t.deleteRule=function(e){if("u"<typeof window)return void this._serverSheet.deleteRule(e);if(this._optimizeForSpeed)this.replaceRule(e,"");else{var s=this._tags[e];c(s,"rule at index `"+e+"` not found"),s.parentNode.removeChild(s),this._tags[e]=null}},t.flush=function(){this._injected=!1,this._rulesCount=0,"u">typeof window?(this._tags.forEach(function(e){return e&&e.parentNode.removeChild(e)}),this._tags=[]):this._serverSheet.cssRules=[]},t.cssRules=function(){var e=this;return"u"<typeof window?this._serverSheet.cssRules:this._tags.reduce(function(s,t){return t?s=s.concat(Array.prototype.map.call(e.getSheetForTag(t).cssRules,function(s){return s.cssText===e._deletedRulePlaceholder?null:s})):s.push(null),s},[])},t.makeStyleTag=function(e,s,t){s&&c(n(s),"makeStyleTag accepts only strings as second parameter");var d=document.createElement("style");this._nonce&&d.setAttribute("nonce",this._nonce),d.type="text/css",d.setAttribute("data-"+e,""),s&&d.appendChild(document.createTextNode(s));var r=document.head||document.getElementsByTagName("head")[0];return t?r.insertBefore(d,t):r.appendChild(d),d},s=[{key:"length",get:function(){return this._rulesCount}}],function(e,s){for(var t=0;t<s.length;t++){var d=s[t];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(e,d.key,d)}}(e.prototype,s),e}();function c(e,s){if(!e)throw Error("StyleSheet: "+s+".")}var o=function(e){for(var s=5381,t=e.length;t;)s=33*s^e.charCodeAt(--t);return s>>>0},x={};function p(e,s){if(!s)return"jsx-"+e;var t=String(s),d=e+t;return x[d]||(x[d]="jsx-"+o(e+"-"+t)),x[d]}function f(e,s){"u"<typeof window&&(s=s.replace(/\/style/gi,"\\/style"));var t=e+s;return x[t]||(x[t]=s.replace(/__jsx-style-dynamic-selector/g,e)),x[t]}var m=function(){function e(e){var s=void 0===e?{}:e,t=s.styleSheet,d=void 0===t?null:t,r=s.optimizeForSpeed,a=void 0!==r&&r;this._sheet=d||new i({name:"styled-jsx",optimizeForSpeed:a}),this._sheet.inject(),d&&"boolean"==typeof a&&(this._sheet.setOptimizeForSpeed(a),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer=void 0,this._indices={},this._instancesCounts={}}var s=e.prototype;return s.add=function(e){var s=this;void 0===this._optimizeForSpeed&&(this._optimizeForSpeed=Array.isArray(e.children),this._sheet.setOptimizeForSpeed(this._optimizeForSpeed),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),"u">typeof window&&!this._fromServer&&(this._fromServer=this.selectFromServer(),this._instancesCounts=Object.keys(this._fromServer).reduce(function(e,s){return e[s]=0,e},{}));var t=this.getIdAndRules(e),d=t.styleId,r=t.rules;if(d in this._instancesCounts){this._instancesCounts[d]+=1;return}var a=r.map(function(e){return s._sheet.insertRule(e)}).filter(function(e){return -1!==e});this._indices[d]=a,this._instancesCounts[d]=1},s.remove=function(e){var s=this,t=this.getIdAndRules(e).styleId;if(function(e,s){if(!e)throw Error("StyleSheetRegistry: "+s+".")}(t in this._instancesCounts,"styleId: `"+t+"` not found"),this._instancesCounts[t]-=1,this._instancesCounts[t]<1){var d=this._fromServer&&this._fromServer[t];d?(d.parentNode.removeChild(d),delete this._fromServer[t]):(this._indices[t].forEach(function(e){return s._sheet.deleteRule(e)}),delete this._indices[t]),delete this._instancesCounts[t]}},s.update=function(e,s){this.add(s),this.remove(e)},s.flush=function(){this._sheet.flush(),this._sheet.inject(),this._fromServer=void 0,this._indices={},this._instancesCounts={}},s.cssRules=function(){var e=this,s=this._fromServer?Object.keys(this._fromServer).map(function(s){return[s,e._fromServer[s]]}):[],t=this._sheet.cssRules();return s.concat(Object.keys(this._indices).map(function(s){return[s,e._indices[s].map(function(e){return t[e].cssText}).join(e._optimizeForSpeed?"":"\n")]}).filter(function(e){return!!e[1]}))},s.styles=function(e){var s,t;return s=this.cssRules(),void 0===(t=e)&&(t={}),s.map(function(e){var s=e[0],d=e[1];return a.default.createElement("style",{id:"__"+s,key:"__"+s,nonce:t.nonce?t.nonce:void 0,dangerouslySetInnerHTML:{__html:d}})})},s.getIdAndRules=function(e){var s=e.children,t=e.dynamic,d=e.id;if(t){var r=p(d,t);return{styleId:r,rules:Array.isArray(s)?s.map(function(e){return f(r,e)}):[f(r,s)]}}return{styleId:p(d),rules:Array.isArray(s)?s:[s]}},s.selectFromServer=function(){return Array.prototype.slice.call(document.querySelectorAll('[id^="__jsx-"]')).reduce(function(e,s){return e[s.id.slice(2)]=s,e},{})},e}(),b=r.createContext(null);function u(){return new m}function h(){return r.useContext(b)}b.displayName="StyleSheetContext";var g=a.default.useInsertionEffect||a.default.useLayoutEffect,j="u">typeof window?u():void 0;function y(e){var s=j||h();return s&&("u"<typeof window?s.add(e):g(function(){return s.add(e),function(){s.remove(e)}},[e.id,String(e.dynamic)])),null}y.dynamic=function(e){return e.map(function(e){return p(e[0],e[1])}).join(" ")},t.StyleRegistry=function(e){var s=e.registry,t=e.children,d=r.useContext(b),l=r.useState(function(){return d||s||u()})[0];return a.default.createElement(b.Provider,{value:l},t)},t.createStyleRegistry=u,t.style=y,t.useStyleRegistry=h},37902,(e,s,t)=>{s.exports=e.r(98547).style},58116,e=>{"use strict";e.i(18392);var s=e.i(43476),t=e.i(37902),d=e.i(71645),r=e.i(74080),a=e.i(75225),l=e.i(9694),n=e.i(72526),i=e.i(59559),c=e.i(31195),o=e.i(34239),x=e.i(85183),p=e.i(93230),f=e.i(9665),m=e.i(97703),b=e.i(9165),u=e.i(94690);function h({onSuccess:e}){let{user:t}=(0,u.useAuth)(),[r,a]=(0,d.useState)(!1),[l,n]=(0,d.useState)([]),i=(0,d.useRef)(null),c=async s=>{let d=s.target.files;if(!d||0===d.length)return;a(!0),n(["Preparing upload..."]);let r=new FormData;t&&r.append("user",t);for(let e=0;e<d.length;e++)r.append("files",d[e]),r.append("paths",d[e].webkitRelativePath);try{n(e=>[...e,`Uploading ${d.length} files...`]);let s=await (0,b.apiFetch)("/api/skills/upload",{method:"POST",body:r}),t=await s.json();s.ok?(n(e=>[...e,"Upload successful!",`Skill: ${t.skill.name} (v${t.version.version})`]),alert("技能上传成功!"),e()):(n(e=>[...e,`Error: ${t.error}`]),alert(`上传失败: ${t.error}`))}catch(e){n(s=>[...s,`Network Error: ${e.message}`]),alert("上传出错")}finally{a(!1),i.current&&(i.current.value="")}};return(0,s.jsxs)("div",{className:"upload-card",children:[(0,s.jsx)("div",{style:{fontSize:"3rem",marginBottom:"1rem",color:"#94a3b8"},children:"📂"}),(0,s.jsx)("h3",{style:{fontSize:"1.25rem",fontWeight:600,marginBottom:"0.5rem",color:"#1e293b"},children:"上传 Skill"}),(0,s.jsxs)("p",{style:{color:"#64748b",marginBottom:"1.5rem",maxWidth:"400px",fontSize:"0.9rem",lineHeight:1.5},children:["选择包含 ",(0,s.jsx)("code",{children:"SKILL.md"}),"的文件夹。",(0,s.jsx)("br",{}),(0,s.jsx)("span",{style:{color:"#d97706"},children:"注意: 请上传整个文件夹"}),(0,s.jsx)("br",{}),(0,s.jsx)("span",{style:{color:"#dc2626",fontWeight:"bold"},children:"重要: 文件夹名称不得包含中文字符。"})]}),(0,s.jsxs)("div",{style:{position:"relative",display:"inline-block"},children:[(0,s.jsx)("button",{className:"btn-primary",style:{display:"flex",alignItems:"center",gap:"0.5rem",padding:"0.75rem 1.5rem",fontSize:"1rem"},onClick:()=>i.current?.click(),children:(0,s.jsx)("span",{children:"选择文件夹"})}),(0,s.jsx)("input",{ref:i,type:"file",webkitdirectory:"",directory:"",multiple:!0,style:{display:"none"},onChange:c})]}),l.length>0&&(0,s.jsx)("div",{style:{marginTop:"2rem",width:"100%",maxWidth:"600px",textAlign:"left",background:"#f8fafc",padding:"1rem",borderRadius:"0.5rem",maxHeight:"150px",overflowY:"auto"},children:l.map((e,t)=>(0,s.jsx)("div",{style:{color:"#475569",fontSize:"0.8rem",fontFamily:"monospace",marginBottom:"4px",borderBottom:"1px solid #e2e8f0",paddingBottom:"2px"},children:e},t))})]})}function g({skillId:e,version:t,onClose:r}){let{user:a}=(0,u.useAuth)(),[l,n]=(0,d.useState)(null),[i,c]=(0,d.useState)(!0),[o,x]=(0,d.useState)(!1),[p,f]=(0,d.useState)(null);(0,d.useEffect)(()=>{c(!0),(0,b.apiFetch)(`/api/skills/${e}/versions/${t}?user=${encodeURIComponent(a||"")}`).then(e=>e.json()).then(e=>{n(e),c(!1)}).catch(e=>{alert("Failed to load details"),c(!1)}),(0,b.apiFetch)(`/api/skills/${e}/versions/${t}/parse-flow?user=${encodeURIComponent(a||"")}`).then(e=>e.json()).then(e=>{e.parsed&&f(e)}).catch(()=>{})},[e,t]);let m=async()=>{x(!0);try{let s=await (0,b.apiFetch)(`/api/skills/${e}/versions/${t}/parse-flow`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:a})}),d=await s.json();d.success?f({parsed:!0,flowJson:JSON.stringify(d.flow),mermaidCode:d.mermaidCode,parsedAt:new Date().toISOString()}):alert(`解析失败: ${d.error}`)}catch(s){let e=s instanceof Error?s.message:"未知错误";alert(`解析出错: ${e}`)}finally{x(!1)}};return(0,s.jsx)("div",{className:"modal-overlay",onClick:r,style:{zIndex:1100},children:(0,s.jsxs)("div",{className:"modal-content card",onClick:e=>e.stopPropagation(),style:{width:"1200px",maxWidth:"95vw",maxHeight:"90vh",display:"flex",flexDirection:"column",padding:0,overflow:"hidden"},children:[(0,s.jsxs)("div",{className:"modal-header-new",style:{padding:"1rem 1.5rem",background:"#f8fafc",borderBottom:"1px solid #e2e8f0",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,s.jsxs)("h3",{style:{margin:0,fontSize:"1.25rem",fontWeight:"bold",color:"#1e293b"},children:["Version Details (v",t,")"]}),(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"1rem"},children:[(0,s.jsx)("button",{onClick:m,disabled:o,style:{padding:"6px 16px",background:o?"#cbd5e1":"#2563eb",color:o?"#64748b":"#ffffff",border:"none",borderRadius:"4px",cursor:o?"not-allowed":"pointer",fontWeight:"bold",fontSize:"0.9rem"},children:o?"解析中...":p?"重新解析":"解析流程"}),(0,s.jsx)("button",{onClick:r,style:{background:"none",border:"none",color:"#64748b",fontSize:"1.5rem",cursor:"pointer",padding:"0 0.5rem",lineHeight:1},children:"×"})]})]}),(0,s.jsx)("div",{style:{flex:1,display:"flex",gap:"1.5rem",padding:"1.5rem",minHeight:0,overflowY:"auto"},children:i?(0,s.jsx)("div",{style:{textAlign:"center",padding:"2rem",color:"#64748b",flex:1},children:"Loading details..."}):l?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{style:{flex:"1 1 50%",display:"flex",flexDirection:"column",gap:"1.5rem",minWidth:0},children:[(0,s.jsx)("div",{style:{background:"#f8fafc",padding:"1rem",borderRadius:"8px",border:"1px solid #e2e8f0"},children:(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{style:{color:"#64748b",fontSize:"0.85rem",display:"block",marginBottom:"4px"},children:"Created At"}),(0,s.jsx)("div",{style:{color:"#1e293b",fontWeight:500},children:new Date(l.createdAt).toLocaleString()})]})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h4",{style:{color:"#64748b",marginBottom:"0.5rem",fontSize:"0.85rem",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:600},children:"变更历史"}),(0,s.jsx)("div",{style:{background:"#f8fafc",padding:"1rem",borderRadius:"6px",color:"#334155",whiteSpace:"pre-wrap",border:"1px solid #e2e8f0",fontSize:"0.9rem",lineHeight:1.6},children:l.changeLog||(0,s.jsx)("span",{style:{color:"#94a3b8",fontStyle:"italic"},children:"无变更历史"})})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h4",{style:{color:"#64748b",marginBottom:"0.5rem",fontSize:"0.85rem",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:600},children:"Skill Content (SKILL.md)"}),(0,s.jsx)("pre",{style:{background:"#f8fafc",padding:"1rem",borderRadius:"6px",color:"#334155",overflowX:"auto",fontFamily:"monospace",fontSize:"0.85rem",border:"1px solid #e2e8f0",maxHeight:"300px",whiteSpace:"pre-wrap"},children:l.content||(0,s.jsx)("span",{style:{color:"#94a3b8",fontStyle:"italic"},children:"(Empty content)"})})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h4",{style:{color:"#64748b",marginBottom:"0.5rem",fontSize:"0.85rem",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:600},children:"Included Files"}),(0,s.jsx)("div",{style:{background:"#f8fafc",padding:"1rem",borderRadius:"6px",border:"1px solid #e2e8f0"},children:(()=>{try{let e=l.files?JSON.parse(l.files):[];if(0===e.length)return(0,s.jsx)("span",{style:{color:"#94a3b8",fontSize:"0.9rem",fontStyle:"italic"},children:"No additional files."});return(0,s.jsx)("ul",{style:{margin:0,paddingLeft:"1.2rem",color:"#475569",fontSize:"0.9rem"},children:e.map((e,t)=>(0,s.jsx)("li",{style:{marginBottom:"4px"},children:e},t))})}catch(e){return(0,s.jsx)("span",{style:{color:"#dc2626",fontSize:"0.9rem"},children:"Error parsing file list."})}})()})]})]}),(0,s.jsxs)("div",{style:{flex:"1 1 50%",minWidth:0,display:"flex",flexDirection:"column"},children:[(0,s.jsx)("h4",{style:{color:"#64748b",marginBottom:"0.5rem",fontSize:"0.85rem",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:600},children:"预期执行流程"}),p?(0,s.jsxs)("div",{style:{background:"#f8fafc",padding:"1rem",borderRadius:"6px",border:"1px solid #e2e8f0",flex:1,display:"flex",flexDirection:"column"},children:[(0,s.jsxs)("div",{style:{marginBottom:"0.5rem",fontSize:"0.8rem",color:"#94a3b8",flexShrink:0},children:["解析时间: ",new Date(p.parsedAt).toLocaleString()]}),(0,s.jsx)("div",{style:{flex:1,overflow:"auto"},children:(0,s.jsx)(j,{code:p.mermaidCode})})]}):(0,s.jsx)("div",{style:{background:"#f8fafc",padding:"2rem",borderRadius:"6px",border:"1px solid #e2e8f0",flex:1,display:"flex",alignItems:"center",justifyContent:"center",color:"#94a3b8"},children:"点击「解析流程」按钮生成预期执行流程图"})]})]}):(0,s.jsx)("div",{style:{color:"#dc2626",textAlign:"center",padding:"2rem",flex:1},children:"Failed to load details."})})]})})}function j({code:t}){let[r,a]=(0,d.useState)(""),[l,n]=(0,d.useState)("");return((0,d.useEffect)(()=>{let s=async()=>{try{let s=(await e.A(95802)).default;s.initialize({startOnLoad:!1,theme:"default",flowchart:{useMaxWidth:!1}});let{svg:d}=await s.render("mermaid-"+Date.now(),t);a(d),n("")}catch(e){console.error("Mermaid render error:",e),n("流程图渲染失败")}};t&&s()},[t]),l)?(0,s.jsx)("div",{style:{color:"#dc2626"},children:l}):(0,s.jsx)("div",{style:{width:"100%",display:"flex",justifyContent:"center",alignItems:"flex-start"},dangerouslySetInnerHTML:{__html:r}})}function y({skill:e,onClose:t,onUpdate:r}){let{user:a}=(0,u.useAuth)(),[l,n]=(0,d.useState)([]),[i,c]=(0,d.useState)(e.activeVersion),[o,x]=(0,d.useState)(!1),[p,f]=(0,d.useState)(null);(0,d.useEffect)(()=>{(0,b.apiFetch)(`/api/skills/${e.id}/versions?user=${encodeURIComponent(a||"")}`).then(e=>e.json()).then(e=>{n(e)})},[e.id]),(0,d.useEffect)(()=>{c(e.activeVersion)},[e.activeVersion]);let m=()=>{o&&r(),t()},h=async s=>{try{let t=await (0,b.apiFetch)(`/api/skills/${e.id}/activate`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({version:s,user:a})});if(t.ok)c(s),x(!0);else{let e=await t.json();alert(`Failed to activate: ${e.error}`)}}catch(e){alert(`Error: ${e.message}`)}},j=async s=>{if(confirm(`Are you sure you want to delete version ${s}? This action cannot be undone.`))try{let t=await (0,b.apiFetch)(`/api/skills/${e.id}/versions/${s}?user=${encodeURIComponent(a||"")}`,{method:"DELETE"});if(t.ok){alert(`Version ${s} deleted successfully!`);let t=await (0,b.apiFetch)(`/api/skills/${e.id}/versions?user=${encodeURIComponent(a||"")}`),d=await t.json();n(d),x(!0),i===s&&d.length>0&&c(d[0].version)}else{let e=await t.json();alert(`Failed to delete version: ${e.error}`)}}catch(e){alert(`Error: ${e.message}`)}},y=(0,d.useRef)(null),v=async s=>{let t=s.target.files;if(!t||0===t.length)return;let d=new FormData;d.append("targetSkillId",e.id),a&&d.append("user",a);for(let e=0;e<t.length;e++)d.append("files",t[e]),d.append("paths",t[e].webkitRelativePath);try{let s=await (0,b.apiFetch)("/api/skills/upload",{method:"POST",body:d}),t=await s.json();if(s.ok){alert(`Version v${t.version.version} uploaded successfully!`);let s=await (0,b.apiFetch)(`/api/skills/${e.id}/versions?user=${encodeURIComponent(a||"")}`);n(await s.json()),x(!0)}else alert(`Upload failed: ${t.error}`)}catch(e){alert(`Upload error: ${e.message}`)}finally{y.current&&(y.current.value="")}};return(0,s.jsx)("div",{className:"modal-overlay",onClick:m,children:(0,s.jsxs)("div",{className:"modal-window-lg",onClick:e=>e.stopPropagation(),children:[(0,s.jsxs)("div",{className:"modal-header-new",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{style:{margin:0,fontSize:"1.25rem",fontWeight:"bold",color:"#1e293b"},children:e.name}),(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",marginTop:"0.25rem",fontSize:"0.875rem",color:"#64748b"},children:[(0,s.jsx)("span",{children:"当前使用 (Active):"}),(0,s.jsxs)("span",{style:{color:"#16a34a",fontFamily:"monospace",fontWeight:"bold",background:"rgba(22, 163, 74, 0.1)",padding:"0 6px",borderRadius:"4px"},children:["v",i]})]})]}),(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"1rem"},children:[(0,s.jsx)("button",{className:"btn-primary",style:{fontSize:"0.85rem",display:"flex",alignItems:"center",gap:"0.5rem"},onClick:()=>y.current?.click(),children:(0,s.jsx)("span",{children:"📤 上传新版本"})}),(0,s.jsx)("button",{onClick:m,style:{background:"none",border:"none",color:"#64748b",fontSize:"1.5rem",cursor:"pointer",padding:"0 0.5rem"},children:"×"})]}),(0,s.jsx)("input",{ref:y,type:"file",webkitdirectory:"",directory:"",multiple:!0,style:{display:"none"},onChange:v})]}),(0,s.jsxs)("div",{className:"modal-content-scroll",children:[(0,s.jsxs)("table",{className:"version-table w-full text-left order-collapse",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{style:{width:"120px"},children:"版本"}),(0,s.jsx)("th",{children:"变更历史"}),(0,s.jsx)("th",{style:{textAlign:"right",width:"220px"},children:"Action"})]})}),(0,s.jsx)("tbody",{children:l.map(e=>{let t=e.version===i;return(0,s.jsxs)("tr",{className:`version-row ${t?"version-active-row":""}`,children:[(0,s.jsxs)("td",{children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[(0,s.jsxs)("span",{style:{fontSize:"1rem",fontFamily:"monospace",fontWeight:"bold",color:t?"#16a34a":"#2563eb"},children:["v",e.version]}),t&&(0,s.jsx)("span",{style:{fontSize:"0.7rem",backgroundColor:"rgba(22, 163, 74, 0.15)",color:"#16a34a",padding:"2px 6px",borderRadius:"4px",fontWeight:"bold",border:"1px solid rgba(22, 163, 74, 0.3)"},children:"ACTIVE"})]}),(0,s.jsx)("span",{style:{fontSize:"0.75rem",color:"#94a3b8"},children:new Date(e.createdAt).toLocaleDateString()})]}),(0,s.jsx)("td",{children:(0,s.jsx)("p",{style:{margin:0,color:"#334155",whiteSpace:"pre-wrap",lineHeight:1.6,fontSize:"0.9rem"},children:e.changeLog||(0,s.jsx)("span",{style:{color:"#94a3b8",fontStyle:"italic"},children:"无变更历史"})})}),(0,s.jsx)("td",{style:{textAlign:"right",minWidth:"280px"},children:(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"0.5rem",flexWrap:"nowrap",alignItems:"center"},children:[(0,s.jsx)("button",{onClick:()=>f(e.version),className:"btn-sm",style:{background:"#f1f5f9",border:"1px solid #cbd5e1",padding:"6px 12px",color:"#475569",whiteSpace:"nowrap",fontSize:"0.85rem",minWidth:"60px"},children:"查看"}),t?(0,s.jsxs)("span",{style:{padding:"6px 12px",fontSize:"0.85rem",fontFamily:"monospace",color:"#16a34a",display:"flex",alignItems:"center",gap:"6px",whiteSpace:"nowrap"},children:[(0,s.jsx)("span",{style:{width:"6px",height:"6px",borderRadius:"50%",background:"#16a34a"}}),"当前"]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{onClick:()=>h(e.version),className:"btn-sm",style:{background:"#dbeafe",border:"1px solid #3b82f6",padding:"6px 12px",color:"#1d4ed8",whiteSpace:"nowrap",fontSize:"0.85rem",minWidth:"85px"},children:"激活 (set active)"}),(0,s.jsx)("button",{onClick:()=>j(e.version),className:"btn-sm",style:{background:"#fee2e2",border:"1px solid #f87171",padding:"6px 12px",color:"#dc2626",whiteSpace:"nowrap",fontSize:"0.85rem",minWidth:"65px"},children:"Delete"})]})]})})]},e.id)})})]}),0===l.length&&(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"200px",color:"#94a3b8"},children:[(0,s.jsx)("div",{style:{fontSize:"2rem",marginBottom:"1rem",opacity:.5},children:"📂"}),(0,s.jsx)("p",{children:"没有历史版本"})]})]}),null!==p&&(0,s.jsx)(g,{skillId:e.id,version:p,onClose:()=>f(null)})]})})}function v({refresh:e}){let{user:t}=(0,u.useAuth)(),[r,a]=(0,d.useState)([]),[l,n]=(0,d.useState)(!0),[i,c]=(0,d.useState)(null),o=()=>{t&&(n(!0),(0,b.apiFetch)(`/api/skills?user=${encodeURIComponent(t)}`).then(e=>e.json()).then(e=>{a(Array.isArray(e)?e:[]),n(!1)}))};(0,d.useEffect)(()=>{o()},[e]),(0,d.useEffect)(()=>{if(i){let e=r.find(e=>e.id===i.id);e&&c(e)}},[r]);let x=async e=>{if(confirm("Are you sure you want to delete this skill? This action cannot be undone."))try{let s=await (0,b.apiFetch)(`/api/skills?id=${e}&user=${encodeURIComponent(t||"")}`,{method:"DELETE"}),d=await s.json();s.ok?o():alert(`Failed to delete skill: ${d.error}`)}catch(e){alert(`Delete error: ${e.message}`)}},p=async(e,s,d)=>{d.stopPropagation();try{(await (0,b.apiFetch)(`/api/skills/${e}/toggle`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({isUploaded:!s,user:t})})).ok?o():alert("Failed to toggle upload status")}catch(e){alert(`Error: ${e.message}`)}},f=r.length,m=r.filter(e=>e.isUploaded).length;return l?(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",padding:"5rem"},children:[(0,s.jsx)("div",{className:"loading-spinner",style:{width:"2rem",height:"2rem",border:"2px solid #e2e8f0",borderTopColor:"#2563eb",borderRadius:"50%",animation:"spin 1s linear infinite"}}),(0,s.jsx)("style",{children:"@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }"})]}):(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"stats-header",style:{display:"flex",gap:"2rem",marginBottom:"2rem",background:"#f8fafc",padding:"1.5rem",borderRadius:"0.75rem",border:"1px solid #e2e8f0"},children:[(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,s.jsx)("span",{style:{fontSize:"0.875rem",color:"#64748b",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:600},children:"Skill 总数"}),(0,s.jsx)("span",{style:{fontSize:"2.5rem",fontWeight:700,color:"#1e293b",lineHeight:1},children:f})]}),(0,s.jsx)("div",{style:{width:"1px",background:"#e2e8f0"}}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column"},children:[(0,s.jsx)("span",{style:{fontSize:"0.875rem",color:"#64748b",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:600},children:"已上传 Skill"}),(0,s.jsx)("span",{style:{fontSize:"2.5rem",fontWeight:700,color:"#16a34a",lineHeight:1},children:m})]})]}),(0,s.jsxs)("div",{className:"skill-grid",children:[r.map(e=>(0,s.jsxs)("div",{className:"skill-card",children:[(0,s.jsxs)("div",{className:"skill-card-header",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h4",{className:"skill-title",title:e.name,children:e.name}),(0,s.jsxs)("div",{className:"skill-meta",children:[(0,s.jsxs)("span",{className:"skill-version-badge",children:["v",e.version]}),(0,s.jsx)("span",{className:"skill-date",children:new Date(e.updatedAt).toLocaleDateString()})]})]}),(0,s.jsx)("div",{className:"skill-icon",children:"🧩"})]}),(0,s.jsxs)("div",{className:"skill-body",children:[(0,s.jsx)("div",{className:"skill-description",children:e.description||(0,s.jsx)("span",{style:{fontStyle:"italic",color:"#94a3b8"},children:"No description provided for this skill."})}),(0,s.jsxs)("div",{className:"skill-tags",children:[e.tags?.slice(0,3).map((e,t)=>(0,s.jsxs)("span",{className:"skill-tag",children:["#",e]},t)),(e.tags?.length||0)>3&&(0,s.jsxs)("span",{className:"skill-tag",style:{background:"transparent",border:"none",color:"#94a3b8"},children:["+",e.tags.length-3]})]})]}),(0,s.jsxs)("div",{className:"skill-actions",children:[(0,s.jsx)("button",{onClick:s=>p(e.id,e.isUploaded,s),className:`btn-icon ${e.isUploaded?"uploaded":""}`,title:e.isUploaded?"Withdraw Skill (Stop Sync)":"Upload Skill (Enable Sync)",style:{background:e.isUploaded?"rgba(22, 163, 74, 0.1)":"transparent",border:`1px solid ${e.isUploaded?"#16a34a":"#cbd5e1"}`,color:e.isUploaded?"#16a34a":"#64748b",padding:"0.4rem",borderRadius:"4px",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.2s"},children:e.isUploaded?"☁️ 激活":"☁️ 未激活"}),(0,s.jsxs)("button",{onClick:()=>c(e),className:"btn-manage",children:[(0,s.jsx)("span",{children:"⚙️"}),(0,s.jsx)("span",{children:"版本管理"})]}),(0,s.jsx)("button",{onClick:()=>x(e.id),className:"btn-delete",title:"Delete Skill",children:(0,s.jsx)("span",{children:"🗑️"})})]})]},e.id)),0===r.length&&(0,s.jsxs)("div",{className:"upload-card",style:{gridColumn:"1 / -1",background:"transparent",borderStyle:"dashed"},children:[(0,s.jsx)("div",{style:{fontSize:"3rem",marginBottom:"1rem",opacity:.3},children:"📦"}),(0,s.jsx)("p",{style:{color:"#64748b",fontSize:"1.2rem"},children:"无 skill"}),(0,s.jsx)("p",{style:{color:"#94a3b8",fontSize:"0.9rem",marginTop:"0.5rem"},children:"上传 skill"})]})]}),i&&(0,s.jsx)(y,{skill:i,onClose:()=>c(null),onUpdate:o})]})}function k(){let[e,t]=(0,d.useState)("catalog"),[r,a]=(0,d.useState)(0);return(0,s.jsxs)("div",{style:{marginTop:"1rem"},children:[(0,s.jsxs)("div",{className:"nav-tabs",children:[(0,s.jsx)("button",{onClick:()=>t("catalog"),className:`nav-tab-item ${"catalog"===e?"active":""}`,children:"Skill 管理"}),(0,s.jsx)("button",{onClick:()=>t("upload"),className:`nav-tab-item ${"upload"===e?"active":""}`,children:"上传 Skill"})]}),(0,s.jsxs)("div",{style:{minHeight:"400px"},children:["catalog"===e&&(0,s.jsx)(v,{refresh:r}),"upload"===e&&(0,s.jsx)(h,{onSuccess:()=>{a(e=>e+1),t("catalog")}})]})]})}function N({step:e,currentStep:a,totalSteps:l,onNext:n,onPrev:i,onSkip:c,onDismiss:o,onDontShowAgain:x,isVisible:p}){let[f,m]=(0,d.useState)({top:0,left:0}),[b,u]=(0,d.useState)({top:0,left:0}),h=(0,d.useRef)(null),g=e=>{if(navigator.clipboard&&window.isSecureContext)navigator.clipboard.writeText(e).then(()=>{alert("复制成功!")}).catch(()=>{alert("复制失败,请手动复制")});else{let s=document.createElement("textarea");s.value=e,s.style.position="fixed",s.style.left="-9999px",s.style.top="0",document.body.appendChild(s),s.focus(),s.select();try{document.execCommand("copy"),alert("复制成功!")}catch(e){console.error("Fallback: Fallback: Oops, unable to copy",e),alert("复制失败,请手动复制")}document.body.removeChild(s)}},j=(0,d.useCallback)(()=>{if("center"===e.position){if(!h.current)return;let e=h.current.getBoundingClientRect();m({top:(window.innerHeight-e.height)/2,left:(window.innerWidth-e.width)/2}),u({top:0,left:0});return}let s=document.querySelector(e.target);if(!s||!h.current)return;let t=s.getBoundingClientRect(),d=h.current.getBoundingClientRect(),r=0,a=0,l=0,n=0,i=t.left+t.width/2,c=t.top+t.height/2;switch(e.position){case"top":r=t.top-d.height-12,a=i-d.width/2;break;case"bottom":r=t.bottom+12,a=i-d.width/2;break;case"left":r=c-d.height/2,a=t.left-d.width-12;break;case"right":r=c-d.height/2,a=t.right+12}switch(a<10&&(a=10),a+d.width>window.innerWidth-10&&(a=window.innerWidth-d.width-10),r<10&&(r=10),r+d.height>window.innerHeight-10&&(r=window.innerHeight-d.height-10),e.position){case"top":case"bottom":n=i-a-8,l="top"===e.position?d.height-8:-8;break;case"left":case"right":l=c-r-8,n="left"===e.position?d.width-8:-8}m({top:r,left:a}),u({top:l,left:n})},[e]);if((0,d.useEffect)(()=>{if(p){let e=requestAnimationFrame(()=>{j()});return window.addEventListener("resize",j),window.addEventListener("scroll",j,!0),()=>{cancelAnimationFrame(e),window.removeEventListener("resize",j),window.removeEventListener("scroll",j,!0)}}},[p,j]),!p)return null;let y="center"===e.position;return(0,r.createPortal)((0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,background:"rgba(0, 0, 0, 0.5)",zIndex:9998,pointerEvents:"auto"},onClick:o,className:"jsx-f29a97b83a083e27"}),(0,s.jsxs)("div",{ref:h,style:{position:"fixed",top:f.top,left:f.left,background:y?"linear-gradient(135deg, #1e293b 0%, #0f172a 100%)":"#1e293b",border:"1px solid #38bdf8",borderRadius:y?"16px":"12px",padding:y?"32px 40px":"20px",maxWidth:y?"480px":"360px",minWidth:y?"320px":"280px",zIndex:9999,boxShadow:y?"0 25px 50px rgba(0, 0, 0, 0.5), 0 0 40px rgba(56, 189, 248, 0.3)":"0 20px 40px rgba(0, 0, 0, 0.4), 0 0 20px rgba(56, 189, 248, 0.2)",animation:"fadeInScale 0.3s ease-out",textAlign:y?"center":"left"},className:"jsx-f29a97b83a083e27",children:[!y&&(0,s.jsx)("div",{style:(()=>{if("center"===e.position)return null;let s={position:"absolute",width:0,height:0,borderStyle:"solid"};switch(e.position){case"top":return{...s,top:b.top,left:b.left,borderWidth:"8px 8px 0 8px",borderColor:"#1e293b transparent transparent transparent"};case"bottom":return{...s,top:b.top,left:b.left,borderWidth:"0 8px 8px 8px",borderColor:"transparent transparent #1e293b transparent"};case"left":return{...s,top:b.top,left:b.left,borderWidth:"8px 0 8px 8px",borderColor:"transparent transparent transparent #1e293b"};case"right":return{...s,top:b.top,left:b.left,borderWidth:"8px 8px 8px 0",borderColor:"transparent #1e293b transparent transparent"};default:return null}})()||{},className:"jsx-f29a97b83a083e27"}),y&&(0,s.jsx)("div",{style:{fontSize:"3rem",marginBottom:"16px"},className:"jsx-f29a97b83a083e27",children:"👋"}),(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",marginBottom:"12px"},className:"jsx-f29a97b83a083e27",children:[(0,s.jsx)("h3",{style:{margin:0,color:"#38bdf8",fontSize:y?"1.4rem":"1.1rem",fontWeight:600,width:"100%"},className:"jsx-f29a97b83a083e27",children:e.title}),(0,s.jsx)("button",{onClick:o,style:{background:"transparent",border:"none",color:"#94a3b8",cursor:"pointer",fontSize:"1.2rem",padding:"0",lineHeight:1},className:"jsx-f29a97b83a083e27",children:"✕"})]}),(0,s.jsx)("p",{style:{margin:"0 0 16px 0",color:"#e2e8f0",fontSize:"0.9rem",lineHeight:1.6},className:"jsx-f29a97b83a083e27",children:e.content}),e.linkUrl&&e.linkText&&(0,s.jsx)("div",{style:{marginBottom:"16px"},className:"jsx-f29a97b83a083e27",children:(0,s.jsxs)("a",{href:e.linkUrl,target:"_blank",rel:"noopener noreferrer",style:{color:"#38bdf8",textDecoration:"none",fontSize:"0.9rem",fontWeight:500,display:"inline-flex",alignItems:"center",gap:"6px",padding:"8px 16px",background:"rgba(56, 189, 248, 0.1)",borderRadius:"6px",border:"1px solid rgba(56, 189, 248, 0.3)",transition:"all 0.2s"},onClick:e=>e.stopPropagation(),className:"jsx-f29a97b83a083e27",children:[e.linkText,(0,s.jsx)("span",{style:{fontSize:"0.8rem"},className:"jsx-f29a97b83a083e27",children:"↗"})]})}),e.setupCommands&&(0,s.jsxs)("div",{style:{marginBottom:"16px",textAlign:"left"},className:"jsx-f29a97b83a083e27",children:[(0,s.jsx)("div",{style:{color:"#94a3b8",fontSize:"0.85rem",marginBottom:"12px",lineHeight:1.5},className:"jsx-f29a97b83a083e27",children:"为了让客户端能够连接到平台并上报数据,需要配置客户端环境。请根据您的操作系统选择以下命令执行:"}),(0,s.jsxs)("div",{style:{marginBottom:"10px"},className:"jsx-f29a97b83a083e27",children:[(0,s.jsxs)("div",{style:{color:"#38bdf8",fontSize:"0.85rem",fontWeight:600,marginBottom:"6px",display:"flex",alignItems:"center",gap:"6px"},className:"jsx-f29a97b83a083e27",children:[(0,s.jsx)("span",{className:"jsx-f29a97b83a083e27",children:"🐧"}),(0,s.jsx)("span",{className:"jsx-f29a97b83a083e27",children:"Linux / macOS"})]}),(0,s.jsxs)("div",{style:{background:"#0f172a",border:"1px solid #334155",borderRadius:"6px",padding:"10px",position:"relative"},className:"jsx-f29a97b83a083e27",children:[(0,s.jsx)("code",{style:{color:"#e2e8f0",fontSize:"0.8rem",fontFamily:"monospace",wordBreak:"break-all",display:"block",paddingRight:"40px"},className:"jsx-f29a97b83a083e27",children:e.setupCommands.linux}),(0,s.jsx)("button",{onClick:()=>{g(e.setupCommands.linux)},style:{position:"absolute",top:"8px",right:"8px",background:"rgba(56, 189, 248, 0.2)",border:"1px solid rgba(56, 189, 248, 0.4)",color:"#38bdf8",padding:"4px 8px",borderRadius:"4px",cursor:"pointer",fontSize:"0.75rem",fontWeight:500,transition:"all 0.2s"},onMouseEnter:e=>{e.currentTarget.style.background="rgba(56, 189, 248, 0.3)"},onMouseLeave:e=>{e.currentTarget.style.background="rgba(56, 189, 248, 0.2)"},className:"jsx-f29a97b83a083e27",children:"复制"})]})]}),(0,s.jsxs)("div",{className:"jsx-f29a97b83a083e27",children:[(0,s.jsxs)("div",{style:{color:"#38bdf8",fontSize:"0.85rem",fontWeight:600,marginBottom:"6px",display:"flex",alignItems:"center",gap:"6px"},className:"jsx-f29a97b83a083e27",children:[(0,s.jsx)("span",{className:"jsx-f29a97b83a083e27",children:"🪟"}),(0,s.jsx)("span",{className:"jsx-f29a97b83a083e27",children:"Windows"})]}),(0,s.jsxs)("div",{style:{background:"#0f172a",border:"1px solid #334155",borderRadius:"6px",padding:"10px",position:"relative"},className:"jsx-f29a97b83a083e27",children:[(0,s.jsx)("code",{style:{color:"#e2e8f0",fontSize:"0.8rem",fontFamily:"monospace",wordBreak:"break-all",display:"block",paddingRight:"40px"},className:"jsx-f29a97b83a083e27",children:e.setupCommands.windows}),(0,s.jsx)("button",{onClick:()=>{g(e.setupCommands.windows)},style:{position:"absolute",top:"8px",right:"8px",background:"rgba(56, 189, 248, 0.2)",border:"1px solid rgba(56, 189, 248, 0.4)",color:"#38bdf8",padding:"4px 8px",borderRadius:"4px",cursor:"pointer",fontSize:"0.75rem",fontWeight:500,transition:"all 0.2s"},onMouseEnter:e=>{e.currentTarget.style.background="rgba(56, 189, 248, 0.3)"},onMouseLeave:e=>{e.currentTarget.style.background="rgba(56, 189, 248, 0.2)"},className:"jsx-f29a97b83a083e27",children:"复制"})]})]}),e.apiKey&&(0,s.jsxs)("div",{style:{background:"rgba(56, 189, 248, 0.1)",border:"1px solid rgba(56, 189, 248, 0.3)",borderRadius:"6px",padding:"10px",marginTop:"12px"},className:"jsx-f29a97b83a083e27",children:[(0,s.jsx)("div",{style:{color:"#38bdf8",fontSize:"0.85rem",fontWeight:600,marginBottom:"6px"},className:"jsx-f29a97b83a083e27",children:"🔑 您的 API Key"}),(0,s.jsxs)("div",{style:{position:"relative"},className:"jsx-f29a97b83a083e27",children:[(0,s.jsx)("div",{style:{color:"#e2e8f0",fontSize:"0.8rem",fontFamily:"monospace",wordBreak:"break-all",marginBottom:"6px",paddingRight:"50px"},className:"jsx-f29a97b83a083e27",children:e.apiKey}),(0,s.jsx)("button",{onClick:()=>{g(e.apiKey)},style:{position:"absolute",top:"0",right:"0",background:"rgba(56, 189, 248, 0.2)",border:"1px solid rgba(56, 189, 248, 0.4)",color:"#38bdf8",padding:"4px 8px",borderRadius:"4px",cursor:"pointer",fontSize:"0.75rem",fontWeight:500,transition:"all 0.2s"},onMouseEnter:e=>{e.currentTarget.style.background="rgba(56, 189, 248, 0.3)"},onMouseLeave:e=>{e.currentTarget.style.background="rgba(56, 189, 248, 0.2)"},className:"jsx-f29a97b83a083e27",children:"复制"})]}),(0,s.jsx)("div",{style:{color:"#94a3b8",fontSize:"0.75rem",lineHeight:1.4},className:"jsx-f29a97b83a083e27",children:"执行上述命令时,系统会提示您输入 API Key,请复制上面的 Key 粘贴到终端中。"})]})]}),(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",marginBottom:"16px",gap:"8px"},className:"jsx-f29a97b83a083e27",children:[Array.from({length:l}).map((e,t)=>(0,s.jsx)("div",{style:{width:"8px",height:"8px",borderRadius:"50%",background:t===a?"#38bdf8":"#475569",transition:"background 0.2s"},className:"jsx-f29a97b83a083e27"},t)),(0,s.jsxs)("span",{style:{marginLeft:"auto",color:"#94a3b8",fontSize:"0.8rem"},className:"jsx-f29a97b83a083e27",children:[a+1," / ",l]})]}),(0,s.jsxs)("div",{style:{display:"flex",gap:"8px",flexWrap:"wrap"},className:"jsx-f29a97b83a083e27",children:[a>0&&(0,s.jsx)("button",{onClick:i,style:{background:"transparent",border:"1px solid #475569",color:"#94a3b8",padding:"8px 16px",borderRadius:"6px",cursor:"pointer",fontSize:"0.85rem"},className:"jsx-f29a97b83a083e27",children:"上一步"}),e.action&&e.actionLabel&&(0,s.jsx)("button",{onClick:()=>{e.action?.(),n()},style:{background:"linear-gradient(135deg, #38bdf8, #818cf8)",border:"none",color:"white",padding:"8px 16px",borderRadius:"6px",cursor:"pointer",fontSize:"0.85rem",fontWeight:600},className:"jsx-f29a97b83a083e27",children:e.actionLabel}),a<l-1?(0,s.jsx)("button",{onClick:n,style:{background:"#38bdf8",border:"none",color:"#0f172a",padding:"8px 16px",borderRadius:"6px",cursor:"pointer",fontSize:"0.85rem",fontWeight:600},className:"jsx-f29a97b83a083e27",children:"下一步"}):(0,s.jsx)("button",{onClick:o,style:{background:"#4ade80",border:"none",color:"#0f172a",padding:"8px 16px",borderRadius:"6px",cursor:"pointer",fontSize:"0.85rem",fontWeight:600},className:"jsx-f29a97b83a083e27",children:"完成"}),(0,s.jsx)("button",{onClick:c,style:{background:"transparent",border:"none",color:"#94a3b8",padding:"8px 12px",borderRadius:"6px",cursor:"pointer",fontSize:"0.8rem"},className:"jsx-f29a97b83a083e27",children:"跳过"})]}),(0,s.jsx)("div",{style:{marginTop:"12px",paddingTop:"12px",borderTop:"1px solid #334155"},className:"jsx-f29a97b83a083e27",children:(0,s.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:"8px",color:"#94a3b8",fontSize:"0.8rem",cursor:"pointer"},className:"jsx-f29a97b83a083e27",children:[(0,s.jsx)("input",{type:"checkbox",onChange:e=>{e.target.checked&&x()},style:{accentColor:"#38bdf8"},className:"jsx-f29a97b83a083e27"}),"不再显示指引"]})})]}),(0,s.jsx)(t.default,{id:"f29a97b83a083e27",children:"@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}"})]}),document.body)}function S({steps:e,onComplete:t,onSkip:r,onDontShowAgain:a,startStep:l=0}){let[n,i]=(0,d.useState)(l),[c,o]=(0,d.useState)(!0);return 0===e.length||n>=e.length?null:(0,s.jsx)(N,{step:e[n],currentStep:n,totalSteps:e.length,onNext:()=>{n<e.length-1?i(n+1):(o(!1),t())},onPrev:()=>{n>0&&i(n-1)},onSkip:()=>{r(e[n].id),o(!1),t()},onDismiss:()=>{o(!1),t()},onDontShowAgain:a,isVisible:c})}let w=[{id:"welcome",target:"",title:"欢迎使用 Skill-Insight",content:"这是智能体技能评估、分析与优化平台。接下来将引导您完成关键配置,帮助您快速上手使用。",position:"center"},{id:"eval-config",target:".controls",title:"配置评测模型",content:"配置评测模型是使用平台核心分析能力的前提,用于:数据集数据项抽取、Skill执行分析、有效性分析。您可以选择 DeepSeek、OpenAI 等模型作为评测引擎。点击⚙️按钮可以配置评测模型的 API Key 和参数。",position:"bottom",actionLabel:"配置模型"},{id:"dataset-config",target:".tabs .tab-btn:nth-child(2)",title:"配置数据集",content:'数据集用于定义测试问题和标准答案。配置数据集后,系统将使用刚才配置的评测模型自动评估 Agent 的回答质量。点击"数据集管理"标签页可以添加和管理您的测试数据集。',position:"bottom",actionLabel:"前往配置"},{id:"skill-upload",target:".tabs .tab-btn:nth-child(3)",title:"上传技能包",content:'Skill(技能包)是 Agent 执行特定任务的指导文档。上传技能包后,您可以评估其在 Agent 中的实际效果。点击"技能管理"标签页可以上传和管理技能包。',position:"bottom",actionLabel:"前往上传"},{id:"user-manual",target:".title",title:"查看用户手册",content:"需要更详细的帮助?您可以查看用户使用手册获取完整的使用说明和最佳实践指南。",position:"bottom",linkUrl:"https://atomgit.com/openeuler/witty-skill-insight/wiki/%E7%94%A8%E6%88%B7%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C",linkText:"📖 查看用户使用手册"}],_=["#2563eb","#db2777","#16a34a","#d97706","#7c3aed","#dc2626"],C=e=>{if(e<1e3)return`${e.toFixed(0)}ms`;let s=e/1e3;if(s>=60){let e=Math.floor(s/60),t=Math.round(s%60);return 0===t?`${e}m`:`${e}m${t}s`}return`${s.toFixed(1)}s`},z=e=>e>=1e3?`${(e/1e3).toFixed(1)}k`:e.toString(),T=e=>null==e?null:0===e?"$0.00":e<.01?`$${e.toFixed(4)}`:e<1?`$${e.toFixed(3)}`:`$${e.toFixed(2)}`,R=e=>{let s=e.filter(e=>null!=e.cost);if(0===s.length)return null;let t=s.length,d=s.filter(e=>e.is_answer_correct).length;return 0===d?null:s.reduce((e,s)=>e+(s.cost||0),0)/t/(d/t)},F=e=>{let s=e.filter(e=>null!==e.answer_score&&void 0!==e.answer_score);return 0===s.length?{successRate:null,evaluatedCount:0}:{successRate:s.filter(e=>!0===e.is_answer_correct).length/s.length,evaluatedCount:s.length}},I=e=>{if(!e)return"-";let s=new Date(e);return s.getFullYear()+"/"+String(s.getMonth()+1).padStart(2,"0")+"/"+String(s.getDate()).padStart(2,"0")+" "+String(s.getHours()).padStart(2,"0")+":"+String(s.getMinutes()).padStart(2,"0")+":"+String(s.getSeconds()).padStart(2,"0")},A=({content:e})=>{let[t,a]=(0,d.useState)(!1),l=(0,d.useRef)(null),[n,i]=(0,d.useState)({top:0,left:0});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{ref:l,style:{marginLeft:"4px",cursor:"help",fontSize:"0.8rem",display:"inline-block"},onMouseEnter:()=>{if(l.current){let e=l.current.getBoundingClientRect();i({top:e.top,left:e.left+e.width/2}),a(!0)}},onMouseLeave:()=>a(!1),children:"ⓘ"}),t&&"u">typeof document&&(0,r.createPortal)((0,s.jsxs)("div",{style:{position:"fixed",top:n.top-8,left:n.left,transform:"translate(-50%, -100%)",background:"#ffffff",border:"1px solid #e2e8f0",color:"#334155",padding:"6px 10px",borderRadius:"4px",whiteSpace:"pre-wrap",minWidth:"200px",textAlign:"left",zIndex:9999,boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1)",pointerEvents:"none"},children:[e,(0,s.jsx)("div",{style:{position:"absolute",top:"100%",left:"50%",marginLeft:"-4px",width:0,height:0,borderLeft:"4px solid transparent",borderRight:"4px solid transparent",borderTop:"4px solid #e2e8f0"}})]}),document.body)]})};function $(){let{user:e,apiKey:r}=(0,u.useAuth)(),[h,g]=(0,d.useState)(!1),{theme:j,toggleTheme:y,isDark:v}=(0,m.useTheme)(),[N,$]=(0,d.useState)(null),{guideState:W,loading:B,shouldShowGuide:D,setShouldShowGuide:E,markStepSkipped:O,disableGuide:L,dismissForToday:P}=function(e){let[s,t]=(0,d.useState)(null),[r,a]=(0,d.useState)(!0),[l,n]=(0,d.useState)(!1),i=(0,d.useCallback)(async()=>{if(!e)return void a(!1);try{let s=await (0,b.apiFetch)("/api/guide",{headers:{"x-user-id":e}});if(s.ok){let e=await s.json(),d={...e,completedSteps:JSON.parse(e.completedSteps||"[]"),skippedSteps:JSON.parse(e.skippedSteps||"[]")};t(d);let r=e.guideDisabled,a=e.dismissedAt&&new Date(e.dismissedAt).toDateString()===new Date().toDateString();n(!r&&!a)}}catch(e){console.error("Failed to fetch guide state:",e)}finally{a(!1)}},[e]);(0,d.useEffect)(()=>{i()},[i]);let c=(0,d.useCallback)(async s=>{if(e)try{let d=await (0,b.apiFetch)("/api/guide",{method:"POST",headers:{"Content-Type":"application/json","x-user-id":e},body:JSON.stringify(s)});if(d.ok){let e=await d.json(),s={...e,completedSteps:JSON.parse(e.completedSteps||"[]"),skippedSteps:JSON.parse(e.skippedSteps||"[]")};return t(s),s}}catch(e){console.error("Failed to update guide state:",e)}},[e]),o=(0,d.useCallback)(async e=>{if(!s)return;let t=[...new Set([...s.completedSteps,e])];await c({completedSteps:t})},[s,c]),x=(0,d.useCallback)(async e=>{if(!s)return;let t=[...new Set([...s.skippedSteps,e])];await c({skippedSteps:t})},[s,c]),p=(0,d.useCallback)(async()=>{await c({guideDisabled:!0}),n(!1)},[c]),f=(0,d.useCallback)(async()=>{await c({guideDisabled:!1,dismissedAt:null}),n(!0)},[c]),m=(0,d.useCallback)(async()=>{await c({dismissedAt:new Date().toISOString()}),n(!1)},[c]),u=(0,d.useCallback)(async()=>{await c({currentStep:0,completedSteps:[],skippedSteps:[],guideDisabled:!1,dismissedAt:null}),n(!0)},[c]);return{guideState:s,loading:r,shouldShowGuide:l,setShouldShowGuide:n,markStepCompleted:o,markStepSkipped:x,disableGuide:p,enableGuide:f,dismissForToday:m,resetGuide:u,setCurrentStep:(0,d.useCallback)(async e=>{await c({currentStep:e})},[c]),refresh:i}}(e),[U,M]=(0,d.useState)([]);(0,d.useEffect)(()=>{if(W){var e,s;M((e=W.completedSteps,s=W.skippedSteps,w.filter(t=>!e.includes(t.id)&&!s.includes(t.id))).map(e=>{if("welcome"===e.id&&r&&1){let s=window.location.host,t=window.location.protocol,d=`${t}//${s}`,a=(0,b.getApiUrl)("/api/setup"),l=`curl -sSf "${d}${a}" | bash`,n=`irm "${d}${a}" | iex`;return{...e,setupCommands:{linux:l,windows:n},apiKey:r}}return e}))}},[W,r]),(0,d.useEffect)(()=>{if(r)$(r);else if(1){let e=localStorage.getItem("api_key");e&&$(e)}},[r]);let[q,H]=(0,d.useState)("dashboard"),[K,J]=(0,d.useState)(!1);(0,d.useEffect)(()=>{K&&e&&(0,b.apiFetch)("/api/auth/apikey",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:e})}).then(e=>e.json()).then(e=>{e.apiKey&&($(e.apiKey),localStorage.setItem("api_key",e.apiKey))}).catch(e=>console.error("Failed to fetch fresh API key",e))},[K,e]);let[V,Y]=(0,d.useState)([]),[Q,X]=(0,d.useState)(!0),[G,Z]=(0,d.useState)([]),[ee,es]=(0,d.useState)([]),[et,ed]=(0,d.useState)(new Set),[er,ea]=(0,d.useState)(null),[el,en]=(0,d.useState)(null),[ei,ec]=(0,d.useState)(""),[eo,ex]=(0,d.useState)("all"),[ep,ef]=(0,d.useState)("latest_10"),[em,eb]=(0,d.useState)(""),[eu,eh]=(0,d.useState)(""),[eg,ej]=(0,d.useState)(""),[ey,ev]=(0,d.useState)(""),[ek,eN]=(0,d.useState)(!1),[eS,ew]=(0,d.useState)([]),[e_,eC]=(0,d.useState)("framework"),[ez,eT]=(0,d.useState)(!1),[eR,eF]=(0,d.useState)(!1),[eI,eA]=(0,d.useState)([]),[e$,eW]=(0,d.useState)([]),[eB,eD]=(0,d.useState)(""),[eE,eO]=(0,d.useState)(!1),[eL,eP]=(0,d.useState)(!1),[eU,eM]=(0,d.useState)(!1),[eq,eH]=(0,d.useState)(null),[eK,eJ]=(0,d.useState)([]),[eV,eY]=(0,d.useState)("default"),[eQ,eX]=(0,d.useState)(null),[eG,eZ]=(0,d.useState)({id:"new",name:"New Config",provider:"deepseek",model:"deepseek-chat"}),e0=async()=>{eM(!0),eH(null);try{let s=[...eK],t={...eG};"new"===t.id?(t.id=`config_${Date.now()}`,s.push(t)):s=s.map(e=>e.id===t.id?t:e);let d={provider:t.provider,apiKey:t.apiKey,baseUrl:t.baseUrl,model:t.model};eH({type:"success",msg:"Testing connection..."});let r=await (0,b.apiFetch)("/api/settings/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)}),a=await r.json();if(!a.success){eH({type:"error",msg:`Connection Test Failed: ${a.error}`}),eM(!1);return}let l=eV;(1===s.length||"default"===eV)&&(l=t.id);let n={activeConfigId:l,configs:s},i=await (0,b.apiFetch)("/api/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:n,user:e})});if(i.ok)eJ(s),eY(l),eX(null),eH({type:"success",msg:"Saved!"}),setTimeout(()=>eH(null),1500);else{let e=await i.json();eH({type:"error",msg:`Failed to save settings: ${e.error||i.statusText}`})}}catch(e){eH({type:"error",msg:`Error: ${e.message}`})}finally{eM(!1)}},e1=async s=>{await (0,b.apiFetch)("/api/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:{activeConfigId:s,configs:eK},user:e})}),eY(s)},e2=async s=>{if(!confirm("Are you sure?"))return;let t=eK.filter(e=>e.id!==s),d=eV;s===eV&&(d=t[0]?.id||"");let r={activeConfigId:d,configs:t};await (0,b.apiFetch)("/api/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({settings:r,user:e})}),eJ(t),eY(d)};(0,d.useEffect)(()=>{sr()},[]),(0,d.useEffect)(()=>{(0,b.apiFetch)("/api/config/status?check_org=true").then(e=>e.json()).then(e=>g(e.org_mode||!1)).catch(()=>{})},[]),(0,d.useEffect)(()=>{eL&&(sr(),eH(null),eX(null))},[eL]),(0,d.useEffect)(()=>{er&&er.user_feedback?eD(er.user_feedback.comment||""):eD("")},[er]);let[e9,e3]=(0,d.useState)(""),[e6,e7]=(0,d.useState)(""),[e8,e4]=(0,d.useState)(""),[e5,se]=(0,d.useState)(""),[ss,st]=(0,d.useState)(1);(0,d.useEffect)(()=>{st(1)},[e9,e6,e8,e5,eo]);let sd=async()=>{X(!0);try{let s=e?`/api/data?user=${encodeURIComponent(e)}`:"/api/data",t=await (0,b.apiFetch)(s,{cache:"no-store"}),d=(await t.json()).filter(e=>e.query&&""!==e.query.trim()).map(e=>{let s=Number(e.latency||0);return("opencode"===e.framework||"openhands"===e.framework||"claude"===e.framework)&&(s*=1e3),{...e,tokens:Number(e.tokens||e.Token||0),latency:s,framework:("claude"===e.framework?"claudecode":e.framework)||"Unknown",model:e.model||"Unknown",skill_score:void 0!==e.skill_score?Number(e.skill_score):void 0,answer_score:null===e.answer_score?null:void 0!==e.answer_score?Number(e.answer_score):+!!e.is_answer_correct}});Y(d)}catch(e){console.error("Failed to fetch data",e)}finally{X(!1)}},sr=(0,d.useCallback)(async()=>{if(e)try{let s=await (0,b.apiFetch)(`/api/settings?user=${encodeURIComponent(e)}`);if(s.ok){let e=await s.json();e.configs&&(eJ(e.configs),eY(e.activeConfigId||e.configs[0]?.id||"default"))}}catch(e){console.error("Failed to fetch settings",e)}},[e]);(0,d.useEffect)(()=>{e&&(sd(),e&&(0,b.apiFetch)(`/api/config?user=${encodeURIComponent(e)}`).then(e=>e.json()).then(e=>{Array.isArray(e)?Z(e):console.error("Invalid config data received:",e)}).catch(e=>console.error("Failed to fetch configs",e)),e&&(0,b.apiFetch)(`/api/skills?user=${encodeURIComponent(e)}`).then(e=>e.json()).then(e=>{Array.isArray(e)?es(e):console.error("Invalid skills data received:",e)}).catch(e=>console.error("Failed to fetch skills",e)),sr())},[e,sr]);let sa=async s=>{if(confirm("确定要删除这条记录吗?"))try{(await (0,b.apiFetch)(`/api/data?user=${encodeURIComponent(e||"")}`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)})).ok?sd():alert("删除失败")}catch(e){alert("删除出错")}},sl=async(e,s)=>{if(er)try{let t={type:e,comment:void 0!==s?s:eB},d={...er,user_feedback:t};ea(d),Y(e=>e.map(e=>e.task_id===er.task_id||e.upload_id===er.upload_id?d:e)),(await (0,b.apiFetch)("/api/data",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({task_id:er.task_id,upload_id:er.upload_id,user_feedback:t})})).ok?alert("保存成功"):console.error("Feedback save failed")}catch(e){console.error("Feedback error",e)}},sn=async s=>{let t=s.upload_id||s.task_id||"";if(t&&confirm("确定要重新评估这条记录吗?")){console.log("Rejudging ID:",t),ed(e=>{let s=new Set(e);return s.add(t),s});try{let t=await (0,b.apiFetch)("/api/rejudge",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...s,currentUser:e})});if(t.ok){let e=await t.json();(e.record?.judgment_reason||"").includes("未找到匹配的评测配置")?alert(`重评完成: 未找到匹配的评测配置,Score 已归零。请在「数据集管理」中为该 query 添加完全一致的条目后再重评。`):alert(`重评完成: Score ${e.record.answer_score?.toFixed(2)}`);let d={...e.record,tokens:Number(e.record.tokens||e.record.Token||0),latency:Number(e.record.latency||0),framework:e.record.framework||"Unknown",skill_score:void 0!==e.record.skill_score?Number(e.record.skill_score):void 0,answer_score:null!==e.record.answer_score?Number(e.record.answer_score):+!!e.record.is_answer_correct};Y(e=>e.map(e=>e.upload_id===s.upload_id||e.task_id===s.task_id?d:e)),er&&(er.task_id===s.task_id||er.upload_id===s.upload_id)&&ea(d),sd()}else{let e="重评失败";try{let s=await t.json();s&&s.error&&(e+=`: ${s.error}`)}catch(e){}alert(e)}}catch(e){alert("重评请求出错")}finally{ed(e=>{let s=new Set(e);return s.delete(t),s})}}},si=async(e,s)=>{try{let t={task_id:e.task_id,upload_id:e.upload_id,label:s};(await (0,b.apiFetch)("/api/data",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})).ok?(en(null),sd()):alert("更新标签失败")}catch(e){alert("更新标签出错")}},[sc,so]=(0,d.useState)({}),[sx,sp]=(0,d.useState)(!1),[sf,sm]=(0,d.useState)(!1),[sb,su]=(0,d.useState)("manual"),[sh,sg]=(0,d.useState)(null),sj=(0,d.useRef)(new Map);(0,d.useEffect)(()=>()=>{sj.current.forEach(e=>clearTimeout(e))},[]);let sy=(0,d.useCallback)(e=>{let s=async()=>{try{let t=await (0,b.apiFetch)(`/api/config/status?id=${e}`);if(!t.ok)return;let d=await t.json();if("completed"===d.parse_status||"failed"===d.parse_status){Z(s=>s.map(s=>s.id===e?{...s,standard_answer:d.standard_answer||s.standard_answer,root_causes:d.root_causes,key_actions:d.key_actions,parse_status:d.parse_status}:s));let s=sj.current.get(e);s&&clearTimeout(s),sj.current.delete(e)}else{let t=setTimeout(s,2e3);sj.current.set(e,t)}}catch(d){console.error("Config status poll error:",d);let t=setTimeout(s,5e3);sj.current.set(e,t)}},t=setTimeout(s,2e3);sj.current.set(e,t)},[]);(0,d.useEffect)(()=>{G.forEach(e=>{"parsing"!==e.parse_status||sj.current.has(e.id)||sy(e.id)})},[G,sy]);let sv=async()=>{if(!sc.query?.trim())return alert("问题 (Query) 不能为空");if(!sc.id){let e=sc.query.trim();if(G.some(s=>s.query.trim()===e))return alert("该问题已存在于数据集中,请修改后再保存");sc.query=e}sm(!0);try{if(sc.id){let s=[...G];s=s.map(e=>e.id===sc.id?{...e,...sc}:e),(await (0,b.apiFetch)("/api/config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({configs:s,user:e})})).ok?(Z(s),sp(!1),so({})):alert("保存失败")}else{let s;if("manual"===sb&&!sc.standard_answer?.trim())return sm(!1),alert("请填写标准答案");if("document"===sb&&!sh)return sm(!1),alert("请上传案例文档");if("document"===sb&&sh){let t=new FormData;t.append("query",sc.query),t.append("document",sh),e&&t.append("user",e),sc.expectedSkills&&t.append("expectedSkills",JSON.stringify(sc.expectedSkills)),s=await (0,b.apiFetch)("/api/config/create",{method:"POST",body:t})}else s=await (0,b.apiFetch)("/api/config/create",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:sc.query,standardAnswer:sc.standard_answer,skill:sc.skill,skillVersion:sc.skillVersion,expectedSkills:sc.expectedSkills,user:e})});if(s.ok){let e=await s.json();e&&e.id&&(Z(s=>[e,...s]),"parsing"===e.parse_status&&sy(e.id)),sp(!1),so({}),sg(null),su("manual")}else{let e=await s.json();alert(`保存失败: ${e.error||"Unknown error"}`)}}}catch(e){console.error(e),alert("保存出错: "+e.message)}finally{sm(!1)}},sk=async s=>{if(!confirm("确定删除此配置?"))return;let t=G.filter(e=>e.id!==s);(await (0,b.apiFetch)("/api/config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({configs:t,user:e})})).ok&&Z(t)},sN=(0,d.useMemo)(()=>Array.from(new Set(V.map(e=>e.framework))).sort(),[V]),sS=(0,d.useMemo)(()=>Array.from(new Set(V.map(e=>e.query))).sort(),[V]),sw=(0,d.useMemo)(()=>{if("all"===eo)return V;let e=Date.now()-(({"1h":36e5,"3h":108e5,"24h":864e5})[eo]||0);return V.filter(s=>new Date(s.timestamp).getTime()>e)},[V,eo]),s_=(0,d.useMemo)(()=>{let e=new Set;return sw.forEach(s=>{s.label&&e.add(s.label)}),Array.from(e).sort()},[sw]),sC=(0,d.useMemo)(()=>{let e=new Set;return sw.forEach(s=>{s.model&&e.add(s.model)}),Array.from(e).sort()},[sw]),sz="framework"===e_?sN:sC,sT=(0,d.useMemo)(()=>{let e=sw;return"single"===ep&&(e=e.filter(e=>e.query===em)),Array.from(new Set(e.map(e=>e.label||"Other"))).sort()},[sw,ep,em]),sR=(0,d.useMemo)(()=>{let e=sw;return eg&&(e=e.filter(e=>e.query===eg)),eu&&(e=e.filter(e=>e.framework===eu)),Array.from(new Set(e.map(e=>e.label||"Other"))).sort()},[sw,eg,eu]),sF=(0,d.useMemo)(()=>{let e=sw;return eg&&(e=e.filter(e=>e.query===eg)),eu&&(e=e.filter(e=>e.framework===eu)),Array.from(new Set(e.map(e=>e.model||"Unknown"))).sort()},[sw,eg,eu]),sI=(0,d.useMemo)(()=>{let e=sw;return eu&&(e=e.filter(e=>e.framework===eu)),Array.from(new Set(e.map(e=>e.query))).sort()},[sw,eu]);(0,d.useEffect)(()=>{eu&&sN.includes(eu)||!(sN.length>0)||eh(sN[0]),!em&&sS.length>0&&eb(sS[0])},[sN,sS]),(0,d.useEffect)(()=>{eg&&sI.includes(eg)||!(sI.length>0)||ej(sI[0])},[sI]);let sA=(0,d.useMemo)(()=>{let e=sw;if("single"===ep)e=e.filter(e=>e.query===em);else if("latest_10"===ep){let s=Array.from(new Set(e.map(e=>e.query))).map(s=>({query:s,latestTimestamp:Math.max(...e.filter(e=>e.query===s).map(e=>new Date(e.timestamp).getTime()))})).sort((e,s)=>s.latestTimestamp-e.latestTimestamp).slice(0,10).map(e=>e.query);e=e.filter(e=>s.includes(e.query))}if(ek){let s=[];return Array.from(new Set(e.map(e=>e.label||"Other"))).sort().forEach(t=>{if(eS.length>0&&!eS.includes(t))return;let d=e.filter(e=>(e.label||"Other")===t);if(0===d.length)return;let r={label:t,data:[]};Array.from(new Set(d.map(e=>e.query))).forEach(e=>{let s={shortQuery:e.length>15?e.substring(0,15)+"...":e};sz.forEach(t=>{let r=d.filter(s=>s.query===e&&("framework"===e_?s.framework:s.model||"Unknown")===t);if(r.length>0){let e=r.reduce((e,s)=>e+s.latency,0)/r.length,d=r.reduce((e,s)=>e+s.tokens,0)/r.length,a=r.filter(e=>null!==e.answer_score),l=a.length>0,n=l?a.reduce((e,s)=>e+(s.answer_score||0),0)/a.length:0,i=r.reduce((e,s)=>e+(s.skill_recall_rate??0),0)/r.length*100;s[`${t}_lat`]=parseFloat(e.toFixed(2)),s[`${t}_tok`]=Math.round(d),s[`${t}_score`]=l?parseFloat(n.toFixed(2)):null,s[`${t}_recall`]=parseFloat(i.toFixed(1))}}),Object.keys(s).length>1&&r.data.push(s)}),r.data.length>0&&s.push(r)}),s}{let s={};e.forEach(e=>{s[e.query]||(s[e.query]=[]),s[e.query].push(e)});let t=[];return(Object.keys(s).forEach(e=>{let d=s[e],r=Math.max(...d.map(e=>new Date(e.timestamp).getTime())),a={query:e,shortQuery:e.length>15?e.substring(0,15)+"...":e,latestTimestamp:r},l=!1;sz.forEach(e=>{let s=d.filter(s=>("framework"===e_?s.framework:s.model||"Unknown")===e);if(s.length>0){let t=s.reduce((e,s)=>e+s.latency,0)/s.length,d=s.reduce((e,s)=>e+s.tokens,0)/s.length,r=s.reduce((e,s)=>e+(s.skill_recall_rate??0),0)/s.length*100,n=s.filter(e=>null!==e.answer_score),i=n.length>0,c=i?n.reduce((e,s)=>e+(s.answer_score||0),0)/n.length:0;a[`${e}_lat`]=parseFloat(t.toFixed(2)),a[`${e}_tok`]=Math.round(d),a[`${e}_recall`]=parseFloat(r.toFixed(1)),a[`${e}_score`]=i?parseFloat(c.toFixed(2)):null,l=!0}}),l&&t.push(a)}),t.sort((e,s)=>s.latestTimestamp-e.latestTimestamp),"latest_10"===ep)?t.slice(0,10):t}},[sw,ep,em,ek,eS,sz,e_]),s$=(0,d.useMemo)(()=>{if(!eg)return null;let e=sw.filter(e=>e.query===eg);if(eu&&(e=e.filter(e=>e.framework===eu)),0===e.length)return null;let s=e.reduce((e,s)=>e+s.latency,0),t=[...e].sort((e,s)=>e.latency-s.latency),d=new Set(G.filter(e=>e.skill&&""!==e.skill.trim()||e.expectedSkills&&e.expectedSkills.some(e=>e.skill&&""!==e.skill.trim())).map(e=>e.query.trim())),r=sw.filter(e=>e.query&&d.has(e.query.trim())).filter(e=>null!==e.skill_recall_rate&&void 0!==e.skill_recall_rate),a=r.length>0?r.reduce((e,s)=>e+(s.skill_recall_rate??0),0)/r.length*100:0,l=e.filter(e=>null!==e.skill_recall_rate&&void 0!==e.skill_recall_rate),n=l.length>0?l.reduce((e,s)=>e+(s.skill_recall_rate??0),0)/l.length*100:0,i=e.filter(e=>null!=e.cost),c=i.length?i.reduce((e,s)=>e+(s.cost||0),0)/i.length:null,o=R(e);return{count:e.length,avgLatency:s/e.length,avgTokens:Math.round(e.reduce((e,s)=>e+s.tokens,0)/e.length),avgCost:c,globalSkillRecallRate:a,querySkillRecallRate:n,cpsr:o,avgAnsScore:e.filter(e=>null!==e.answer_score).length?e.filter(e=>null!==e.answer_score).reduce((e,s)=>e+(s.answer_score||0),0)/e.filter(e=>null!==e.answer_score).length:0,best:t[0],worst:t[t.length-1],avgSkillScore:e.reduce((e,s)=>e+(s.skill_score||0),0)/e.filter(e=>void 0!==e.skill_score).length||0}},[sw,eu,eg,G]),sW=(0,d.useMemo)(()=>sw.filter(e=>(!e9||e.framework===e9)&&(!e6||e.label===e6)&&(!e5||e.model===e5)&&(!e8||!!e.query.toLowerCase().includes(e8.toLowerCase()))),[sw,e9,e6,e5,e8]),sB=Math.ceil(sW.length/10),sD=sW.slice((ss-1)*10,10*ss),sE=({title:e,dataKey:t,unit:d="",data:r,frameworks:f,yFormatter:m})=>(0,s.jsxs)("div",{className:"card",style:{height:"350px",display:"flex",flexDirection:"column"},children:[(0,s.jsx)("div",{className:"card-title",style:{marginBottom:"10px"},children:e}),(0,s.jsx)("div",{style:{flex:1,minHeight:0},children:(0,s.jsx)(c.ResponsiveContainer,{width:"100%",height:"100%",children:(0,s.jsxs)(l.BarChart,{data:r,margin:{top:10,right:10,left:0,bottom:20},children:[(0,s.jsx)(n.CartesianGrid,{strokeDasharray:"3 3",stroke:"var(--border)"}),(0,s.jsx)(x.XAxis,{dataKey:"shortQuery",stroke:"var(--foreground-secondary)",fontSize:11,angle:-20,textAnchor:"end",height:60}),(0,s.jsx)(p.YAxis,{stroke:"var(--foreground-secondary)",tickFormatter:m}),(0,s.jsx)(o.Tooltip,{formatter:(e,s)=>[void 0!==e?m?m(e):e+d:"-",s||""],contentStyle:{backgroundColor:"var(--dropdown-bg)",borderColor:"var(--border)",color:"var(--foreground)"}}),(0,s.jsx)(i.Legend,{}),f.map((e,d)=>(0,s.jsx)(a.Bar,{dataKey:`${e}_${t}`,name:e,fill:_[d%_.length],radius:[4,4,0,0]},e))]})})})]});return(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 dashboard-container",children:[(0,s.jsxs)("header",{style:{flexDirection:"column",alignItems:"flex-start",gap:"1rem"},className:"jsx-29dfb32d17c16cd9 header",children:[(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",width:"100%",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("h1",{style:{marginBottom:0},className:"jsx-29dfb32d17c16cd9 title",children:"Skill-Insight"}),(0,s.jsx)("span",{style:{fontSize:"0.8rem",color:"var(--foreground-secondary)",letterSpacing:"1px"},className:"jsx-29dfb32d17c16cd9",children:"智能体技能评估、分析与优化"})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 tabs",children:[(0,s.jsx)("button",{onClick:()=>H("dashboard"),className:`jsx-29dfb32d17c16cd9 tab-btn ${"dashboard"===q?"active":""}`,children:"数据概览"}),(0,s.jsx)("button",{onClick:()=>H("config"),className:`jsx-29dfb32d17c16cd9 tab-btn ${"config"===q?"active":""}`,children:"数据集管理"}),(0,s.jsx)("button",{onClick:()=>H("skill"),className:`jsx-29dfb32d17c16cd9 tab-btn ${"skill"===q?"active":""}`,children:"技能管理"})]})]}),"dashboard"===q&&(0,s.jsxs)("div",{style:{display:"flex",gap:"8px"},className:"jsx-29dfb32d17c16cd9 controls",children:[(0,s.jsx)("button",{onClick:y,title:v?"切换到浅色主题":"切换到深色主题",className:"jsx-29dfb32d17c16cd9 theme-toggle-btn",children:v?"☀️":"🌙"}),(0,s.jsxs)("select",{value:eo,onChange:e=>ex(e.target.value),className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("option",{value:"all",className:"jsx-29dfb32d17c16cd9",children:"全部时间"}),(0,s.jsx)("option",{value:"24h",className:"jsx-29dfb32d17c16cd9",children:"24H"}),(0,s.jsx)("option",{value:"3h",className:"jsx-29dfb32d17c16cd9",children:"3H"}),(0,s.jsx)("option",{value:"1h",className:"jsx-29dfb32d17c16cd9",children:"1H"})]}),eK.length>0?(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"4px",border:"1px solid var(--border)",borderRadius:"4px",padding:"4px 8px",background:"var(--background-secondary)"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{fontSize:"0.8rem",color:"var(--foreground-secondary)"},className:"jsx-29dfb32d17c16cd9",children:"模型:"}),(0,s.jsxs)("select",{value:eV||"none",onChange:e=>e1(e.target.value),style:{background:"transparent",color:"var(--foreground-secondary)",border:"none",maxWidth:"140px",outline:"none",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("option",{value:"none",className:"jsx-29dfb32d17c16cd9",children:"未配置模型"}),eK.map(e=>(0,s.jsx)("option",{value:e.id,className:"jsx-29dfb32d17c16cd9",children:e.name},e.id))]}),(0,s.jsx)("div",{style:{width:"1px",height:"14px",background:"var(--border)",margin:"0 4px"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("button",{onClick:()=>eP(!0),style:{background:"transparent",border:"none",cursor:"pointer",padding:"0",fontSize:"1rem"},title:"Manage Configurations",className:"jsx-29dfb32d17c16cd9",children:"⚙️"})]}):(0,s.jsx)("button",{style:{padding:"4px 8px",background:"transparent",border:"1px solid var(--border)",color:"var(--foreground-secondary)"},onClick:()=>eP(!0),className:"jsx-29dfb32d17c16cd9 btn-secondary",children:"⚙️ Eval Config"})]})]}),eL&&(0,s.jsx)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,background:"rgba(0,0,0,0.7)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:2e3},onClick:e=>{e.target===e.currentTarget&&eP(!1)},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsxs)("div",{style:{width:"600px",maxHeight:"90vh",overflowY:"auto"},className:"jsx-29dfb32d17c16cd9 card",children:[!eQ&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"1rem",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("h3",{style:{margin:0,color:"#1e293b"},className:"jsx-29dfb32d17c16cd9",children:"管理模型配置"}),(0,s.jsx)("button",{onClick:()=>eP(!1),style:{background:"transparent",border:"none",color:"#64748b",fontSize:"1.2rem",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"✕"})]}),(0,s.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"8px",marginBottom:"1.5rem"},className:"jsx-29dfb32d17c16cd9",children:eK.map(e=>{let t=e.id.startsWith("default_");return(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"10px",background:eV===e.id?"rgba(37, 99, 235, 0.1)":"#f8fafc",border:eV===e.id?"1px solid #2563eb":"1px solid #e2e8f0",borderRadius:"6px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{style:{fontWeight:"bold",color:eV===e.id?"#2563eb":"#1e293b"},className:"jsx-29dfb32d17c16cd9",children:[e.name," ",eV===e.id&&"(Active)",t&&(0,s.jsx)("span",{style:{marginLeft:"8px",fontSize:"0.8rem",color:"#64748b"},className:"jsx-29dfb32d17c16cd9",children:"📋 Default (Read-only)"})]}),(0,s.jsxs)("div",{style:{fontSize:"0.8rem",color:"#64748b"},className:"jsx-29dfb32d17c16cd9",children:[e.provider," • ",e.model]})]}),(0,s.jsxs)("div",{style:{display:"flex",gap:"8px"},className:"jsx-29dfb32d17c16cd9",children:[eV!==e.id&&(0,s.jsx)("button",{style:{padding:"4px 8px",fontSize:"0.8rem"},onClick:()=>e1(e.id),className:"jsx-29dfb32d17c16cd9 btn-secondary",children:"Activate"}),!t&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{style:{padding:"4px 8px",fontSize:"0.8rem"},onClick:()=>{eZ({...e}),eX(e.id),eH(null)},className:"jsx-29dfb32d17c16cd9 btn-secondary",children:"Edit"}),(0,s.jsx)("button",{style:{padding:"4px 8px",fontSize:"0.8rem",color:"#dc2626",borderColor:"#f87171"},onClick:()=>e2(e.id),className:"jsx-29dfb32d17c16cd9 btn-secondary",children:"Del"})]})]})]},e.id)})}),(0,s.jsx)("button",{style:{width:"100%",display:"flex",justifyContent:"center",gap:"8px"},onClick:()=>{eZ({id:"new",name:"新配置",provider:"deepseek",model:"deepseek-chat",apiKey:"",baseUrl:"https://api.deepseek.com"}),eX("new"),eH(null)},className:"jsx-29dfb32d17c16cd9 btn-primary",children:"+ 添加新配置"})]}),eQ&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"1rem",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("h3",{style:{margin:0,color:"#1e293b"},className:"jsx-29dfb32d17c16cd9",children:"new"===eQ?"新配置":"编辑"}),(0,s.jsx)("button",{onClick:()=>eX(null),style:{background:"transparent",border:"none",color:"#64748b",fontSize:"0.9rem",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"Back to List"})]}),eq&&(0,s.jsx)("div",{style:{padding:"10px",marginBottom:"1rem",borderRadius:"4px",background:"success"===eq.type?"rgba(22, 163, 74, 0.1)":"rgba(220, 38, 38, 0.1)",border:`1px solid ${"success"===eq.type?"#16a34a":"#dc2626"}`,color:"success"===eq.type?"#16a34a":"#dc2626",fontSize:"0.9rem"},className:"jsx-29dfb32d17c16cd9",children:eq.msg}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsx)("label",{className:"jsx-29dfb32d17c16cd9",children:"Config Name"}),(0,s.jsx)("input",{placeholder:"e.g. My DeepSeek, Company OpenAI Proxy",value:eG.name||"",onChange:e=>eZ({...eG,name:e.target.value}),disabled:eQ.startsWith("default_"),style:{width:"100%",padding:"10px",background:"#ffffff",border:"1px solid #cbd5e1",color:"#1e293b",borderRadius:"4px"},className:"jsx-29dfb32d17c16cd9"})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsx)("label",{className:"jsx-29dfb32d17c16cd9",children:"Provider"}),(0,s.jsxs)("select",{value:eG.provider,onChange:e=>{let s=e.target.value,t={provider:s};"deepseek"===s?(t.baseUrl="https://api.deepseek.com",t.model="deepseek-chat"):"siliconflow"===s?(t.baseUrl="https://api.siliconflow.cn/v1",t.model="deepseek-ai/DeepSeek-V3"):"openai"===s?(t.baseUrl="https://api.openai.com/v1",t.model="gpt-4o"):"anthropic"===s&&(t.baseUrl="https://api.anthropic.com/v1",t.model="claude-3-5-sonnet-20240620"),eZ({...eG,...t})},disabled:eQ.startsWith("default_"),style:{width:"100%",padding:"10px",background:"#ffffff",border:"1px solid #cbd5e1",color:"#1e293b",borderRadius:"4px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("option",{value:"deepseek",className:"jsx-29dfb32d17c16cd9",children:"DeepSeek (Official)"}),(0,s.jsx)("option",{value:"siliconflow",className:"jsx-29dfb32d17c16cd9",children:"SiliconFlow (DeepSeek V3 High Speed)"}),(0,s.jsx)("option",{value:"openai",className:"jsx-29dfb32d17c16cd9",children:"OpenAI"}),(0,s.jsx)("option",{value:"anthropic",className:"jsx-29dfb32d17c16cd9",children:"Anthropic"}),(0,s.jsx)("option",{value:"custom",className:"jsx-29dfb32d17c16cd9",children:"Custom (OpenAI Compatible)"})]})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsx)("label",{className:"jsx-29dfb32d17c16cd9",children:"Base URL (Optional)"}),(0,s.jsx)("input",{placeholder:"e.g. https://api.deepseek.com or https://api.openai.com/v1",value:eG.baseUrl||"",onChange:e=>{let s=e.target.value;s=s.replace(/\/chat\/completions\/?$/,""),eZ({...eG,baseUrl:s})},disabled:eQ.startsWith("default_"),style:{width:"100%",padding:"10px",background:"#ffffff",border:"1px solid #cbd5e1",color:"#1e293b",borderRadius:"4px"},className:"jsx-29dfb32d17c16cd9"})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsx)("label",{className:"jsx-29dfb32d17c16cd9",children:"API Key"}),(0,s.jsx)("input",{type:"password",placeholder:"sk-...",value:eG.apiKey||"",onChange:e=>eZ({...eG,apiKey:e.target.value}),disabled:eQ.startsWith("default_"),style:{width:"100%",padding:"10px",background:"#ffffff",border:"1px solid #cbd5e1",color:"#1e293b",borderRadius:"4px"},className:"jsx-29dfb32d17c16cd9"})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsx)("label",{className:"jsx-29dfb32d17c16cd9",children:"Model Name"}),(0,s.jsx)("input",{placeholder:"e.g. deepseek-chat, gpt-4o",value:eG.model||"",onChange:e=>eZ({...eG,model:e.target.value}),disabled:eQ.startsWith("default_"),style:{width:"100%",padding:"10px",background:"#ffffff",border:"1px solid #cbd5e1",color:"#1e293b",borderRadius:"4px"},className:"jsx-29dfb32d17c16cd9"})]}),(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"8px",marginTop:"2rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("button",{onClick:()=>eX(null),className:"jsx-29dfb32d17c16cd9 btn-secondary",children:"Cancel"}),!eQ.startsWith("default_")&&(0,s.jsxs)("button",{onClick:e0,disabled:eU,style:{opacity:eU?.7:1,display:"flex",alignItems:"center",gap:"6px"},className:"jsx-29dfb32d17c16cd9 btn-primary",children:[eU&&(0,s.jsx)("span",{style:{width:"12px",height:"12px",border:"2px solid white",borderTopColor:"transparent",borderRadius:"50%",animation:"spin 1s linear infinite"},className:"jsx-29dfb32d17c16cd9"}),eU?"Testing & Saving...":"Test Connection & Save"]})]})]})]})}),"dashboard"===q&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h2",{className:"jsx-29dfb32d17c16cd9 section-title",children:"全景概览"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 grid",children:sN.map((e,t)=>{let d=sw.filter(s=>s.framework===e),r=new Set(G.filter(e=>e.skill&&""!==e.skill.trim()||e.expectedSkills&&e.expectedSkills.some(e=>e.skill&&""!==e.skill.trim())).map(e=>e.query.trim())),a=d.filter(e=>e.query&&r.has(e.query.trim())),l=d.length?d.reduce((e,s)=>e+s.latency,0)/d.length:0,n=d.length?d.reduce((e,s)=>e+s.tokens,0)/d.length:0,i=d.filter(e=>null!==e.answer_score),c=i.length>0,o=c?i.reduce((e,s)=>e+(s.answer_score||0),0)/i.length:0,x=a.length?a.reduce((e,s)=>e+(s.skill_recall_rate??0),0)/a.length*100:0;return(0,s.jsxs)("div",{style:{borderLeft:`4px solid ${_[t%_.length]}`},className:"jsx-29dfb32d17c16cd9 card",children:[(0,s.jsx)("div",{style:{color:_[t%_.length]},className:"jsx-29dfb32d17c16cd9 card-title",children:e}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 stat-value",children:[d.length," ",(0,s.jsx)("small",{style:{fontSize:"1rem",color:"var(--foreground-muted)"},className:"jsx-29dfb32d17c16cd9",children:"执行数"})]}),(0,s.jsxs)("div",{style:{marginTop:"1rem",display:"grid",gridTemplateColumns:"1fr 1fr",gap:"0.2rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{fontSize:"0.8rem",color:"var(--foreground-secondary)",textTransform:"uppercase"},className:"jsx-29dfb32d17c16cd9",children:"时延"}),(0,s.jsx)("span",{style:{fontSize:"1.5rem",fontWeight:700,color:"var(--foreground)"},className:"jsx-29dfb32d17c16cd9",children:C(l)})]}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{fontSize:"0.8rem",color:"var(--foreground-secondary)",textTransform:"uppercase"},className:"jsx-29dfb32d17c16cd9",children:"TOKEN"}),(0,s.jsx)("span",{style:{fontSize:"1.5rem",fontWeight:700,color:"var(--foreground)"},className:"jsx-29dfb32d17c16cd9",children:z(Math.round(n))})]})]}),(0,s.jsxs)("div",{style:{marginTop:"0.8rem",paddingTop:"0.8rem",borderTop:"1px solid var(--border)",display:"grid",gridTemplateColumns:"1fr 1fr",gap:"0.2rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{fontSize:"0.8rem",color:"var(--foreground-secondary)"},className:"jsx-29dfb32d17c16cd9",children:"准确率"}),(0,s.jsx)("span",{style:{fontSize:"1.5rem",fontWeight:700,color:c?o>.8?"var(--success)":"var(--warning)":"var(--foreground-muted)"},className:"jsx-29dfb32d17c16cd9",children:c?`${(100*o).toFixed(1)}%`:"--"})]}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{fontSize:"0.8rem",color:"var(--foreground-secondary)"},className:"jsx-29dfb32d17c16cd9",children:"技能召回率"}),(0,s.jsxs)("span",{style:{fontSize:"1.5rem",fontWeight:700,color:"var(--warning)"},className:"jsx-29dfb32d17c16cd9",children:[x.toFixed(1),"%"]})]})]})]},e)})}),(0,s.jsx)("h2",{className:"jsx-29dfb32d17c16cd9 section-title",children:"对比分析"}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 analysis-controls",children:[(0,s.jsx)("div",{style:{display:"flex",gap:"1rem",flexWrap:"wrap"},className:"jsx-29dfb32d17c16cd9",children:["latest_10","all","single"].map(e=>(0,s.jsxs)("label",{style:{cursor:"pointer",color:"var(--foreground)",display:"flex",alignItems:"center",gap:"5px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"radio",checked:ep===e,onChange:()=>ef(e),className:"jsx-29dfb32d17c16cd9"}),"latest_10"===e?"最新10问":"all"===e?"所有":"单问题"]},e))}),"single"===ep&&(0,s.jsx)("select",{value:em,onChange:e=>eb(e.target.value),style:{maxWidth:"300px"},className:"jsx-29dfb32d17c16cd9",children:sS.map(e=>(0,s.jsx)("option",{value:e,className:"jsx-29dfb32d17c16cd9",children:e.substring(0,40)},e))}),(0,s.jsxs)("div",{style:{marginLeft:"10px",display:"flex",gap:"8px",borderLeft:"1px solid var(--border)",paddingLeft:"10px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{color:"var(--foreground-secondary)",fontSize:"0.9rem",display:"flex",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:"分类:"}),(0,s.jsx)("button",{onClick:()=>eC("framework"),style:{padding:"2px 8px",fontSize:"0.8rem",background:"framework"===e_?"var(--primary)":"transparent",color:"framework"===e_?"#ffffff":"var(--foreground-secondary)",border:"1px solid var(--primary)"},className:`jsx-29dfb32d17c16cd9 tab-btn-sm ${"framework"===e_?"active":""}`,children:"框架"}),(0,s.jsx)("button",{onClick:()=>eC("model"),style:{padding:"2px 8px",fontSize:"0.8rem",background:"model"===e_?"var(--primary)":"transparent",color:"model"===e_?"#ffffff":"var(--foreground-secondary)",border:"1px solid var(--primary)"},className:`jsx-29dfb32d17c16cd9 tab-btn-sm ${"model"===e_?"active":""}`,children:"模型"})]}),(0,s.jsxs)("div",{style:{marginLeft:"10px",display:"flex",alignItems:"center",gap:"10px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("label",{style:{cursor:"pointer",color:"var(--foreground)",display:"flex",alignItems:"center",gap:"5px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"checkbox",checked:ek,onChange:e=>{eN(e.target.checked),e.target.checked&&eS.length},className:"jsx-29dfb32d17c16cd9"}),"按标签分类"]}),ek&&(0,s.jsxs)("div",{style:{position:"relative",display:"inline-block"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{style:{background:"var(--dropdown-bg)",padding:"4px 8px",borderRadius:"4px",cursor:"pointer",border:"1px solid var(--dropdown-border)",minWidth:"150px",color:"var(--foreground)"},className:"jsx-29dfb32d17c16cd9 dropdown-trigger",children:[0===eS.length?"所有标签":`已选 ${eS.length} 个`,(0,s.jsx)("span",{style:{float:"right",fontSize:"0.8rem"},className:"jsx-29dfb32d17c16cd9",children:"▼"})]}),(0,s.jsxs)("div",{style:{position:"absolute",top:"100%",left:0,zIndex:10,background:"var(--dropdown-bg)",border:"1px solid var(--dropdown-border)",borderRadius:"4px",padding:"0.5rem",minWidth:"200px",maxHeight:"300px",overflowY:"auto",boxShadow:"0 4px 6px -1px var(--shadow-color)"},className:"jsx-29dfb32d17c16cd9 dropdown-content",children:[(0,s.jsxs)("label",{style:{display:"block",marginBottom:"4px",cursor:"pointer",color:"var(--foreground)"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"checkbox",checked:0===eS.length,onChange:()=>ew([]),className:"jsx-29dfb32d17c16cd9"})," ",(0,s.jsx)("span",{style:{marginLeft:"4px"},className:"jsx-29dfb32d17c16cd9",children:"所有标签"})]}),(0,s.jsx)("hr",{style:{borderColor:"var(--border)",margin:"4px 0"},className:"jsx-29dfb32d17c16cd9"}),sT.map(e=>(0,s.jsxs)("label",{style:{display:"block",marginBottom:"4px",cursor:"pointer",color:"var(--foreground)"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"checkbox",checked:eS.includes(e),onChange:s=>{s.target.checked?ew([...eS,e]):ew(eS.filter(s=>s!==e))},className:"jsx-29dfb32d17c16cd9"})," ",(0,s.jsx)("span",{style:{marginLeft:"4px"},className:"jsx-29dfb32d17c16cd9",children:e})]},e))]})]})]})]}),ek?(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[sA.map(e=>(0,s.jsxs)("div",{style:{marginBottom:"2rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("h3",{style:{color:"var(--foreground)",borderBottom:"1px solid var(--border)",paddingBottom:"0.5rem",marginBottom:"1rem"},className:"jsx-29dfb32d17c16cd9",children:["Tag: ",(0,s.jsx)("span",{style:{color:"#2563eb"},className:"jsx-29dfb32d17c16cd9",children:e.label})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 analysis-grid",children:[(0,s.jsx)(sE,{title:"平均时延",unit:"m",dataKey:"lat",data:e.data,frameworks:sz,yFormatter:e=>(e/6e4).toFixed(2)+"m"}),(0,s.jsx)(sE,{title:"平均消耗 (Tokens)",dataKey:"tok",data:e.data,frameworks:sz,yFormatter:z}),(0,s.jsx)(sE,{title:"平均准确率",dataKey:"score",unit:"",data:e.data,frameworks:sz}),(0,s.jsx)(sE,{title:"平均技能召回率",dataKey:"recall",unit:"%",data:e.data,frameworks:sz,yFormatter:e=>Number(e).toFixed(1)+"%"})]})]},e.label)),0===sA.length&&(0,s.jsx)("div",{style:{textAlign:"center",padding:"2rem",color:"#64748b"},className:"jsx-29dfb32d17c16cd9 card",children:"无数据"})]}):sA.length>0?(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 analysis-grid",children:[(0,s.jsx)(sE,{title:(0,s.jsxs)("span",{className:"jsx-29dfb32d17c16cd9",children:["平均时延 ",(0,s.jsx)(A,{content:"基于选中查询的所有执行结果计算出的平均总响应耗时(分钟)"})]}),dataKey:"lat",unit:"m",data:sA,frameworks:sz,yFormatter:e=>(e/6e4).toFixed(2)+"m",className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)(sE,{title:(0,s.jsxs)("span",{className:"jsx-29dfb32d17c16cd9",children:["平均消耗 (Tokens) ",(0,s.jsx)(A,{content:"基于选中查询的所有执行结果计算出的平均 Token 消耗总额"})]}),dataKey:"tok",unit:"",data:sA,frameworks:sz,yFormatter:z,className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)(sE,{title:(0,s.jsxs)("span",{className:"jsx-29dfb32d17c16cd9",children:["平均准确率 ",(0,s.jsx)(A,{content:(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:["基于LLM评估所有执行结果与期望答案的差异,计算出的0-1分值的平均值,1表示完全正确。",(0,s.jsx)("br",{className:"jsx-29dfb32d17c16cd9"}),'"--"表示评估失败,可能是由于模型未配置(请在首页左上角的设置中配置 LLM)或者数据项未配置。']})})]}),dataKey:"score",unit:"",data:sA,frameworks:sz,className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)(sE,{title:(0,s.jsxs)("span",{className:"jsx-29dfb32d17c16cd9",children:["平均技能召回率 ",(0,s.jsx)(A,{content:(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:["基于执行结果是否使用了预期技能计算出的百分比,表示正确调用技能的比例。",(0,s.jsx)("br",{className:"jsx-29dfb32d17c16cd9"}),"这是全局指标,反映技能路由的准确性。"]})})]}),dataKey:"recall",unit:"%",data:sA,frameworks:sz,yFormatter:e=>Number(e).toFixed(1)+"%",className:"jsx-29dfb32d17c16cd9"})]}):(0,s.jsx)("div",{style:{textAlign:"center",padding:"2rem",color:"#64748b"},className:"jsx-29dfb32d17c16cd9 card",children:"无数据"}),(0,s.jsx)("h2",{className:"jsx-29dfb32d17c16cd9 section-title",children:"单问题详情 (Drill-down)"}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 analysis-controls",children:[(0,s.jsxs)("select",{value:eu,onChange:e=>eh(e.target.value),className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("option",{value:"",className:"jsx-29dfb32d17c16cd9",children:"选择框架"}),sN.map(e=>(0,s.jsx)("option",{value:e,className:"jsx-29dfb32d17c16cd9",children:e},e))]}),(0,s.jsxs)("select",{value:eg,onChange:e=>ej(e.target.value),style:{flex:1},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("option",{value:"",className:"jsx-29dfb32d17c16cd9",children:"选择问题"}),sI.map(e=>(0,s.jsx)("option",{value:e,className:"jsx-29dfb32d17c16cd9",children:e.substring(0,80)},e))]}),(0,s.jsxs)("div",{style:{marginLeft:"10px",display:"flex",alignItems:"center",gap:"20px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("label",{style:{cursor:"pointer",color:"var(--foreground)",display:"flex",alignItems:"center",gap:"5px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"checkbox",checked:ez,onChange:e=>{eT(e.target.checked),e.target.checked&&eF(!1)},className:"jsx-29dfb32d17c16cd9"}),"按标签分类"]}),(0,s.jsxs)("label",{style:{cursor:"pointer",color:"var(--foreground)",display:"flex",alignItems:"center",gap:"5px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"checkbox",checked:eR,onChange:e=>{eF(e.target.checked),e.target.checked&&eT(!1)},className:"jsx-29dfb32d17c16cd9"}),"按模型分类"]}),ez&&(0,s.jsxs)("div",{style:{position:"relative",display:"inline-block"},className:"jsx-29dfb32d17c16cd9 dropdown-container",children:[(0,s.jsxs)("div",{style:{background:"var(--dropdown-bg)",padding:"4px 8px",borderRadius:"4px",cursor:"pointer",border:"1px solid var(--dropdown-border)",minWidth:"150px",display:"flex",alignItems:"center",justifyContent:"space-between",color:"var(--foreground)"},className:"jsx-29dfb32d17c16cd9 dropdown-trigger",children:[0===eI.length?"所有标签 (All Labels)":`已选 ${eI.length} 个`,(0,s.jsx)("span",{style:{fontSize:"0.8rem",marginLeft:"8px"},className:"jsx-29dfb32d17c16cd9",children:"▼"})]}),(0,s.jsxs)("div",{style:{position:"absolute",top:"100%",left:0,zIndex:10,background:"var(--dropdown-bg)",border:"1px solid var(--dropdown-border)",borderRadius:"4px",padding:"0.5rem",minWidth:"200px",maxHeight:"300px",overflowY:"auto",boxShadow:"0 4px 6px -1px var(--shadow-color)",color:"var(--foreground)"},className:"jsx-29dfb32d17c16cd9 dropdown-content",children:[(0,s.jsxs)("label",{style:{display:"block",marginBottom:"4px",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"checkbox",checked:0===eI.length,onChange:()=>eA([]),className:"jsx-29dfb32d17c16cd9"})," ",(0,s.jsx)("span",{style:{marginLeft:"4px"},className:"jsx-29dfb32d17c16cd9",children:"所有标签 (All)"})]}),(0,s.jsx)("hr",{style:{borderColor:"var(--border)",margin:"4px 0"},className:"jsx-29dfb32d17c16cd9"}),sR.map(e=>(0,s.jsxs)("label",{style:{display:"block",marginBottom:"4px",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"checkbox",checked:eI.includes(e),onChange:s=>{s.target.checked?eA([...eI,e]):eA(eI.filter(s=>s!==e))},className:"jsx-29dfb32d17c16cd9"})," ",(0,s.jsx)("span",{style:{marginLeft:"4px"},className:"jsx-29dfb32d17c16cd9",children:e})]},e))]})]}),eR&&(0,s.jsxs)("div",{style:{position:"relative",display:"inline-block"},className:"jsx-29dfb32d17c16cd9 dropdown-container",children:[(0,s.jsxs)("div",{style:{background:"var(--dropdown-bg)",padding:"4px 8px",borderRadius:"4px",cursor:"pointer",border:"1px solid var(--dropdown-border)",minWidth:"150px",display:"flex",alignItems:"center",justifyContent:"space-between",color:"var(--foreground)"},className:"jsx-29dfb32d17c16cd9 dropdown-trigger",children:[0===e$.length?"所有模型 (All Models)":`已选 ${e$.length} 个`,(0,s.jsx)("span",{style:{fontSize:"0.8rem",marginLeft:"8px"},className:"jsx-29dfb32d17c16cd9",children:"▼"})]}),(0,s.jsxs)("div",{style:{position:"absolute",top:"100%",left:0,zIndex:10,background:"var(--dropdown-bg)",border:"1px solid var(--dropdown-border)",borderRadius:"4px",padding:"0.5rem",minWidth:"200px",maxHeight:"300px",overflowY:"auto",boxShadow:"0 4px 6px -1px var(--shadow-color)",color:"var(--foreground)"},className:"jsx-29dfb32d17c16cd9 dropdown-content",children:[(0,s.jsxs)("label",{style:{display:"block",marginBottom:"4px",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"checkbox",checked:0===e$.length,onChange:()=>eW([]),className:"jsx-29dfb32d17c16cd9"})," ",(0,s.jsx)("span",{style:{marginLeft:"4px"},className:"jsx-29dfb32d17c16cd9",children:"所有模型 (All)"})]}),(0,s.jsx)("hr",{style:{borderColor:"var(--border)",margin:"4px 0"},className:"jsx-29dfb32d17c16cd9"}),sF.map(e=>(0,s.jsxs)("label",{style:{display:"block",marginBottom:"4px",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"checkbox",checked:e$.includes(e),onChange:s=>{s.target.checked?eW([...e$,e]):eW(e$.filter(s=>s!==e))},className:"jsx-29dfb32d17c16cd9"})," ",(0,s.jsx)("span",{style:{marginLeft:"4px"},className:"jsx-29dfb32d17c16cd9",children:e})]},e))]})]})]})]}),ez||eR?(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9",children:(ez?sR:sF).filter(e=>ez?0===eI.length||eI.includes(e):0===e$.length||e$.includes(e)).map(e=>{let t=sw;if(t=ez?t.filter(s=>(s.label||"Other")===e):t.filter(s=>(s.model||"Unknown")===e),eg&&(t=t.filter(e=>e.query===eg)),eu&&(t=t.filter(e=>e.framework===eu)),0===t.length)return null;let d=t.length,r=t.reduce((e,s)=>e+s.latency,0)/d,a=Math.round(t.reduce((e,s)=>e+s.tokens,0)/d);t.reduce((e,s)=>e+(s.skill_recall_rate??0),0);let l=t.filter(e=>null!==e.answer_score),n=l.length?l.reduce((e,s)=>e+(s.answer_score||0),0)/l.length:0,i=[...t].sort((e,s)=>e.latency-s.latency)[0],c=[...t].sort((e,s)=>s.latency-e.latency)[0],o=t.filter(e=>null!=e.cost),x=o.length?o.reduce((e,s)=>e+(s.cost||0),0)/o.length:null,p=R(t),f=null;if(ez&&eg&&"without-skill"!==e&&"Other"!==e){let s=sw.filter(e=>e.query===eg);eu&&(s=s.filter(e=>e.framework===eu)),f=((e,s)=>{let t=e.filter(e=>(e.label||"Other")===s),d=e.filter(e=>"without-skill"===e.label),{successRate:r,evaluatedCount:a}=F(t),{successRate:l,evaluatedCount:n}=F(d);return 0===n?{valuePct:null,passSkill:r,passNoSkill:l,evaluatedSkillCount:a,evaluatedBaselineCount:n,reason:"缺少 without-skill 基线或基线数据尚未完成评测,暂无法计算。"}:0===a?{valuePct:null,passSkill:r,passNoSkill:l,evaluatedSkillCount:a,evaluatedBaselineCount:n,reason:"当前标签下暂无可用于计算的已评测数据。"}:null===r||null===l?{valuePct:null,passSkill:r,passNoSkill:l,evaluatedSkillCount:a,evaluatedBaselineCount:n,reason:"当前数据不足以完成 Skill Lift 计算。"}:l>=1?{valuePct:null,passSkill:r,passNoSkill:l,evaluatedSkillCount:a,evaluatedBaselineCount:n,reason:"without-skill 基线成功率为 100%,公式分母为 0,暂无法计算。"}:{valuePct:(r-l)/(1-l)*100,passSkill:r,passNoSkill:l,evaluatedSkillCount:a,evaluatedBaselineCount:n,reason:null}})(s,e)}return(0,s.jsxs)("div",{style:{marginBottom:"2rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{marginBottom:"0.5rem"},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsxs)("h3",{style:{margin:0,color:"#38bdf8",fontSize:"1.1rem"},className:"jsx-29dfb32d17c16cd9",children:[ez?"标签 (Label): ":"模型 (Model): "," ",e]})}),(0,s.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"1rem"},className:"jsx-29dfb32d17c16cd9 grid",children:[(0,s.jsxs)("div",{style:{gridColumn:"span 2"},className:"jsx-29dfb32d17c16cd9 card",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 card-title",children:["平均表现",(0,s.jsxs)("span",{style:{fontSize:"0.85rem",color:"#94a3b8",fontWeight:"normal",marginLeft:"8px"},className:"jsx-29dfb32d17c16cd9",children:["(基于 ",d," 条记录)"]})]}),(0,s.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(5, 1fr)",gap:"1rem",textAlign:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:"平均时延"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:C(r)})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:"平均 Token"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:z(a)})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:"平均准确率"}),(0,s.jsx)("div",{style:{color:n>.8?"#4ade80":"#fbbf24"},className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:n.toFixed(2)})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:["平均成本 ",(0,s.jsx)(A,{content:"根据默认定价或自定义(custom-models.json)定价估算得出。"})]}),(0,s.jsx)("div",{style:null==x?{color:"#64748b"}:{},className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:null!=x?T(x):"N/A"})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:["CPSR ",(0,s.jsx)(A,{content:"单次成功解决成本:每次任务成功解决的平均开销。\n计算公式:(总成本)÷(成功解决的运行次数)"})]}),(0,s.jsx)("div",{style:{color:null!=p?"#38bdf8":"#64748b"},className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:null!=p?T(p):"N/A"})]})]})]}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"space-between"},className:"jsx-29dfb32d17c16cd9 card",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{fontSize:"0.85rem"},className:"jsx-29dfb32d17c16cd9 card-title text-green-400",children:"最好表现 (Min Lat)"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:C(i.latency)}),(0,s.jsxs)("div",{style:{fontSize:"0.75rem"},className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400 mt-2",children:["Token: ",z(i.tokens)," | Score: ",i.answer_score?.toFixed(2)||"-"," ",(0,s.jsx)("br",{className:"jsx-29dfb32d17c16cd9"}),"Cost: ",T(i.cost)||"-"]})]}),(0,s.jsx)("div",{style:{fontSize:"0.75rem",color:"#38bdf8",cursor:"pointer",marginTop:"0.5rem",textAlign:"right"},onClick:()=>{let e=`/details?framework=${encodeURIComponent(i.framework)}&expandTaskId=${i.task_id||i.upload_id}`;window.open(e,"_blank")},className:"jsx-29dfb32d17c16cd9",children:"查看 >"})]}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"space-between"},className:"jsx-29dfb32d17c16cd9 card",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{fontSize:"0.85rem"},className:"jsx-29dfb32d17c16cd9 card-title text-red-400",children:"最差表现 (Max Lat)"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:C(c.latency)}),(0,s.jsxs)("div",{style:{fontSize:"0.75rem"},className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400 mt-2",children:["Token: ",z(c.tokens)," | Score: ",c.answer_score?.toFixed(2)||"-"," ",(0,s.jsx)("br",{className:"jsx-29dfb32d17c16cd9"}),"Cost: ",T(c.cost)||"-"]})]}),(0,s.jsx)("div",{style:{fontSize:"0.75rem",color:"#38bdf8",cursor:"pointer",marginTop:"0.5rem",textAlign:"right"},onClick:()=>window.open(`/details?framework=${encodeURIComponent(c.framework)}&query=${encodeURIComponent(c.query)}&expandTaskId=${c.task_id||c.upload_id}`,"_blank"),className:"jsx-29dfb32d17c16cd9",children:"查看 >"})]}),ez&&null!==f&&(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"space-between"},className:"jsx-29dfb32d17c16cd9 card",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{style:{fontSize:"0.85rem"},className:"jsx-29dfb32d17c16cd9 card-title text-purple-400",children:["技能提升 (Skill Lift)",(0,s.jsx)(A,{content:"表示启用当前 Skill 标签后,相对 without-skill 基线带来的成功率提升。\n计算公式:(skill_success_rate - no_skill_success_rate) / (1 - no_skill_success_rate)\n其中:skill_success_rate 为当前标签下已评测记录的成功率;no_skill_success_rate 为 without-skill 基线下已评测记录的成功率。\n仅在同时存在已评测的当前标签数据和 without-skill 基线数据时才计算。"})]}),(0,s.jsx)("div",{style:{marginTop:"0.5rem",fontSize:"0.85rem"},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsx)("div",{style:{marginBottom:"0.5rem"},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsx)("div",{style:{fontSize:"1.2rem",fontWeight:"bold",color:null==f.valuePct?"#94a3b8":f.valuePct>0?"#4ade80":f.valuePct<0?"#f87171":"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:null==f.valuePct?"N/A":`${f.valuePct>0?"+":""}${f.valuePct.toFixed(2)}%`})})})]}),(0,s.jsxs)("div",{style:{fontSize:"0.75rem",color:"#64748b"},className:"jsx-29dfb32d17c16cd9",children:["当前标签成功率:",null==f.passSkill?"N/A":`${(100*f.passSkill).toFixed(1)}%`,(0,s.jsx)("br",{className:"jsx-29dfb32d17c16cd9"}),"基线成功率:",null==f.passNoSkill?"N/A":`${(100*f.passNoSkill).toFixed(1)}%`]}),(0,s.jsx)("div",{style:{fontSize:"0.75rem",color:"#64748b",marginTop:"0.5rem",textAlign:"left",whiteSpace:"pre-wrap"},className:"jsx-29dfb32d17c16cd9",children:f.reason||"基于 without-skill 基线计算。"})]})]})]},e)})}):s$?(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 grid",children:[(0,s.jsxs)("div",{style:{gridColumn:"span 2"},className:"jsx-29dfb32d17c16cd9 card",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 card-title",children:["平均表现",(0,s.jsxs)("span",{style:{fontSize:"0.9rem",color:"#94a3b8",fontWeight:"normal",marginLeft:"8px"},className:"jsx-29dfb32d17c16cd9",children:["(基于 ",s$.count," 条记录)"]})]}),(0,s.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(5, 1fr)",gap:"1rem",textAlign:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:"平均时延"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:C(s$.avgLatency)})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:"平均 Token"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:z(s$.avgTokens)})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:"平均技能召回率"}),(0,s.jsxs)("div",{style:{color:"#f1f5f9"},className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:[s$.querySkillRecallRate?.toFixed(2),"%"]})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:"平均准确率"}),(0,s.jsx)("div",{style:{color:s$.avgAnsScore>.8?"#4ade80":"#fbbf24"},className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:s$.avgAnsScore.toFixed(2)})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:["平均成本 ",(0,s.jsx)(A,{content:"根据默认定价或自定义(custom-models.json)定价估算得出。"})]}),(0,s.jsx)("div",{style:null==s$.avgCost?{color:"#64748b"}:{},className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:null!=s$.avgCost?T(s$.avgCost):"N/A"})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400",children:["CPSR",(0,s.jsx)(A,{content:"单次成功解决成本:每次任务成功解决的平均开销。\n计算公式:(总成本)÷(成功解决的运行次数)"})]}),(0,s.jsx)("div",{style:{color:null!=s$.cpsr?"#38bdf8":"#64748b"},className:"jsx-29dfb32d17c16cd9 text-xl font-bold",children:null!=s$.cpsr?T(s$.cpsr):"N/A"})]})]})]}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"space-between"},className:"jsx-29dfb32d17c16cd9 card",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 card-title text-green-400",children:"最好表现 (Min Latency)"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-2xl font-bold",children:C(s$.best.latency)}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400 mt-2",children:["Token: ",z(s$.best.tokens)," | Cost: ",T(s$.best.cost)||"-"," ",(0,s.jsx)("br",{className:"jsx-29dfb32d17c16cd9"}),"Time: ",I(s$.best.timestamp)]})]}),(0,s.jsx)("div",{style:{fontSize:"0.8rem",color:"#38bdf8",cursor:"pointer",marginTop:"0.5rem",textAlign:"right"},onClick:()=>window.open(`/details?framework=${encodeURIComponent(s$.best.framework)}&query=${encodeURIComponent(s$.best.query)}&expandTaskId=${s$.best.task_id||s$.best.upload_id}`,"_blank"),className:"jsx-29dfb32d17c16cd9",children:"查看 >"})]}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"space-between"},className:"jsx-29dfb32d17c16cd9 card",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 card-title text-red-400",children:"最差表现 (Max Latency)"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 text-2xl font-bold",children:C(s$.worst.latency)}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 text-sm text-slate-400 mt-2",children:["Token: ",z(s$.worst.tokens)," | Cost: ",T(s$.worst.cost)||"-"," ",(0,s.jsx)("br",{className:"jsx-29dfb32d17c16cd9"}),"Time: ",I(s$.worst.timestamp)]})]}),(0,s.jsx)("div",{style:{fontSize:"0.8rem",color:"#38bdf8",cursor:"pointer",marginTop:"0.5rem",textAlign:"right"},onClick:()=>{let e=`/details?framework=${encodeURIComponent(s$.worst.framework)}&expandTaskId=${s$.worst.task_id||s$.worst.upload_id}`;window.open(e,"_blank")},className:"jsx-29dfb32d17c16cd9",children:"查看 >"})]})]}):(0,s.jsx)("div",{style:{textAlign:"center",padding:"2rem",color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9 card",children:eg?"该组合下暂无数据":"请选择一个问题进行分析"}),(0,s.jsx)("h2",{className:"jsx-29dfb32d17c16cd9 section-title",children:"执行记录"}),(0,s.jsxs)("div",{style:{marginBottom:"1rem"},className:"jsx-29dfb32d17c16cd9 analysis-controls",children:[(0,s.jsxs)("select",{value:e9,onChange:e=>e3(e.target.value),style:{fontSize:"0.9rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("option",{value:"",className:"jsx-29dfb32d17c16cd9",children:"所有框架 (All Frameworks)"}),sN.map(e=>(0,s.jsx)("option",{value:e,className:"jsx-29dfb32d17c16cd9",children:e},e))]}),(0,s.jsxs)("select",{value:e6,onChange:e=>e7(e.target.value),style:{fontSize:"0.9rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("option",{value:"",className:"jsx-29dfb32d17c16cd9",children:"所有标签 (All Labels)"}),s_.map(e=>(0,s.jsx)("option",{value:e,className:"jsx-29dfb32d17c16cd9",children:e},e))]}),(0,s.jsxs)("select",{value:e5,onChange:e=>se(e.target.value),style:{fontSize:"0.9rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("option",{value:"",className:"jsx-29dfb32d17c16cd9",children:"所有模型 (All Models)"}),sC.map(e=>(0,s.jsx)("option",{value:e,className:"jsx-29dfb32d17c16cd9",children:e},e))]}),(0,s.jsx)("input",{type:"text",placeholder:"搜索问题...",value:e8,onChange:e=>e4(e.target.value),style:{padding:"0.5rem",background:"var(--input-bg)",border:"1px solid var(--input-border)",borderRadius:"4px",color:"var(--foreground)",minWidth:"250px"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsxs)("span",{style:{marginLeft:"auto",color:"var(--foreground-secondary)",fontSize:"0.9rem"},className:"jsx-29dfb32d17c16cd9",children:["共有 ",sW.length," 条数据"]})]}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 card table-container",children:(0,s.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("thead",{style:{textAlign:"left",color:"var(--foreground-secondary)",borderBottom:"1px solid var(--border)"},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsxs)("tr",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:"时间"}),(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:"框架"}),(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:"用户输入"}),(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:(0,s.jsxs)("span",{className:"jsx-29dfb32d17c16cd9",children:["时延 ",(0,s.jsx)(A,{content:"从请求发出到收到最终完整回复的总耗时"})]})}),(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:(0,s.jsxs)("span",{className:"jsx-29dfb32d17c16cd9",children:["Token ",(0,s.jsx)(A,{content:"输入 Prompt 与输出 Completion 的 Token 总和"})]})}),(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:(0,s.jsxs)("span",{className:"jsx-29dfb32d17c16cd9",children:["准确率 ",(0,s.jsx)(A,{content:(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:["基于LLM评估Agent真实运行结果与期望答案的差异,给出0-1分值,1表示完全正确。",(0,s.jsx)("br",{className:"jsx-29dfb32d17c16cd9"}),'"--"表示评估失败,可能是由于模型未配置(请在首页左上角的设置中配置 LLM)或者数据项未配置。']})})]})}),(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:(0,s.jsxs)("span",{className:"jsx-29dfb32d17c16cd9",children:["预估花费 ",(0,s.jsx)(A,{content:"根据默认定价或自定义(custom-models.json)定价估算得出"})]})}),(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:"模型"}),(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:"标签"}),(0,s.jsx)("th",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:"操作"})]})}),(0,s.jsx)("tbody",{className:"jsx-29dfb32d17c16cd9",children:sD.map((e,t)=>{let d=e.upload_id||e.task_id||"";return(0,s.jsxs)("tr",{style:{borderBottom:"1px solid var(--table-row-border)"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("td",{style:{fontSize:"0.85rem",whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:I(e.timestamp)}),(0,s.jsx)("td",{style:{whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:e.framework}),(0,s.jsx)("td",{title:e.query,className:"jsx-29dfb32d17c16cd9 p-2",children:e.query.length>30?e.query.substring(0,30)+"...":e.query}),(0,s.jsx)("td",{className:"jsx-29dfb32d17c16cd9 p-2",children:C(e.latency)}),(0,s.jsx)("td",{className:"jsx-29dfb32d17c16cd9 p-2",children:z(e.tokens)}),(0,s.jsx)("td",{className:"jsx-29dfb32d17c16cd9 p-2",children:(0,s.jsx)("span",{style:{color:null===e.answer_score?"var(--foreground-muted)":(e.answer_score||0)>.8?"var(--success)":"var(--error)",fontWeight:"bold"},className:"jsx-29dfb32d17c16cd9",children:null===e.answer_score?"--":(e.answer_score||0).toFixed(2)})}),(0,s.jsx)("td",{style:{fontSize:"0.85rem",whiteSpace:"nowrap"},title:null!=e.cost&&e.cost_pricing?(e.cache_read_input_tokens||e.cache_creation_input_tokens?`Cost = base_input \xd7 $${e.cost_pricing.inputTokenPrice}/M + cache_read \xd7 $${e.cost_pricing.cacheReadInputTokenPrice}/M + cache_create \xd7 $${e.cost_pricing.cacheCreationInputTokenPrice}/M + output \xd7 $${e.cost_pricing.outputTokenPrice}/M`:`Cost = input_tokens \xd7 $${e.cost_pricing.inputTokenPrice}/M + output_tokens \xd7 $${e.cost_pricing.outputTokenPrice}/M`)+(e.model?` (${e.model})`:"")+`. Estimated from ${"custom"===e.cost_pricing.source?"custom":"default"} pricing.`:void 0,className:"jsx-29dfb32d17c16cd9 p-2",children:null!=e.cost?T(e.cost):e.tokens?(0,s.jsx)("span",{style:{color:"var(--foreground-muted)"},className:"jsx-29dfb32d17c16cd9",children:"N/A"}):"-"}),(0,s.jsx)("td",{style:{fontSize:"0.85rem",whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 p-2",children:e.model||"-"}),(0,s.jsx)("td",{className:"jsx-29dfb32d17c16cd9 p-2",children:el===d?(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"4px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{value:ei,onChange:e=>ec(e.target.value),style:{width:"80px",padding:"2px 4px",fontSize:"0.8rem",background:"var(--input-bg)",border:"1px solid var(--input-border)",color:"var(--foreground)"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("button",{onClick:()=>si(e,ei),style:{color:"var(--success)",background:"none",border:"none",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"✓"}),(0,s.jsx)("button",{onClick:()=>en(null),style:{color:"var(--error)",background:"none",border:"none",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"✕"})]}):(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"6px",cursor:"pointer"},onClick:()=>{d&&(en(d),ec(e.label||""))},className:"jsx-29dfb32d17c16cd9",children:[e.label?(0,s.jsx)("span",{style:{padding:"2px 6px",background:"var(--background-secondary)",borderRadius:"4px",fontSize:"0.8rem",border:"1px solid var(--border)"},className:"jsx-29dfb32d17c16cd9",children:e.label}):(0,s.jsx)("span",{style:{color:"var(--foreground-muted)"},className:"jsx-29dfb32d17c16cd9",children:"-"}),(0,s.jsx)("span",{style:{fontSize:"0.7rem",color:"var(--foreground-muted)",opacity:.5},className:"jsx-29dfb32d17c16cd9",children:"✎"})]})}),(0,s.jsx)("td",{className:"jsx-29dfb32d17c16cd9 p-2",children:(0,s.jsxs)("div",{style:{display:"flex",gap:"8px",whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("button",{onClick:()=>{let s=`/details?framework=${encodeURIComponent(e.framework)}&expandTaskId=${d}`;window.open(s,"_blank")},style:{background:"var(--primary)"},className:"jsx-29dfb32d17c16cd9 btn-sm",children:"详情"}),(0,s.jsx)("button",{onClick:()=>sn(e),disabled:et.has(d),style:{background:et.has(d)?"var(--foreground-muted)":"var(--warning)",color:"#ffffff",cursor:et.has(d)?"not-allowed":"pointer",display:"inline-flex",alignItems:"center",gap:"4px",opacity:et.has(d)?.7:1},className:"jsx-29dfb32d17c16cd9 btn-sm",children:et.has(d)?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{style:{width:"12px",height:"12px",border:"2px solid #0f172a",borderTopColor:"transparent",borderRadius:"50%",animation:"spin 1s linear infinite",display:"inline-block"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("span",{className:"jsx-29dfb32d17c16cd9",children:"评估中..."})]}):"重评"}),(0,s.jsx)("button",{onClick:()=>sa(e),style:{background:"#ef4444"},className:"jsx-29dfb32d17c16cd9 btn-sm",children:"删"})]})})]},t)})})]})}),sB>1&&(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",marginTop:"1rem",gap:"1rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("button",{disabled:1===ss,onClick:()=>st(e=>Math.max(1,e-1)),style:{background:1===ss?"#334155":"#38bdf8",color:1===ss?"#94a3b8":"#0f172a",cursor:1===ss?"not-allowed":"pointer"},className:"jsx-29dfb32d17c16cd9 btn-sm",children:"< Prev"}),(0,s.jsxs)("span",{style:{color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:["Page ",ss," of ",sB]}),(0,s.jsx)("button",{disabled:ss===sB,onClick:()=>st(e=>Math.min(sB,e+1)),style:{background:ss===sB?"#334155":"#38bdf8",color:ss===sB?"#94a3b8":"#0f172a",cursor:ss===sB?"not-allowed":"pointer"},className:"jsx-29dfb32d17c16cd9 btn-sm",children:"Next >"})]}),(0,s.jsx)("div",{style:{marginTop:"2rem",marginBottom:"0.5rem",height:"1px",background:"linear-gradient(to right, transparent, rgba(56, 189, 248, 0.5), transparent)"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("div",{style:{marginTop:"0.5rem",padding:"0.5rem",textAlign:"center"},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsx)("p",{style:{margin:0,fontSize:"0.9rem",color:"#94a3b8",lineHeight:1.6},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsx)("a",{href:"https://atomgit.com/openeuler/witty-skill-insight",target:"_blank",rel:"noopener noreferrer",style:{color:"#94a3b8",textDecoration:"underline",textUnderlineOffset:"3px"},className:"jsx-29dfb32d17c16cd9",children:"你的 ⭐ Star 是前进动力,📢 Issue 使产品更稳,🚀 PR 让功能更强。"})})})]}),"config"===q&&(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 config-container",children:[(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"1rem",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("h2",{style:{marginBottom:0},className:"jsx-29dfb32d17c16cd9 section-title",children:"数据集管理"}),(0,s.jsx)("button",{onClick:()=>{so({}),su("manual"),sg(null),sp(!0)},style:{padding:"8px 20px",fontSize:"0.9rem",borderRadius:"6px"},className:"jsx-29dfb32d17c16cd9 btn-primary",children:"+ 新增数据项"})]}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},className:"jsx-29dfb32d17c16cd9",children:[Array.isArray(G)&&0===G.length&&(0,s.jsx)("div",{style:{textAlign:"center",padding:"3rem",color:"#64748b"},className:"jsx-29dfb32d17c16cd9 card",children:'暂无数据项,点击上方"+ 新增数据项"开始添加'}),Array.isArray(G)&&G.map(e=>(0,s.jsxs)("div",{style:{padding:"14px 18px",display:"flex",flexDirection:"row",alignItems:"center",gap:"16px",transition:"border-color 0.2s",borderColor:"#1e293b"},className:"jsx-29dfb32d17c16cd9 card",children:[(0,s.jsx)("div",{style:{flexShrink:0,width:"8px",height:"8px",borderRadius:"50%",background:"parsing"===e.parse_status?"#fbbf24":"failed"===e.parse_status?"#ef4444":"#4ade80",boxShadow:`0 0 6px ${"parsing"===e.parse_status?"#fbbf2444":"failed"===e.parse_status?"#ef444444":"#4ade8044"}`,..."parsing"===e.parse_status?{animation:"pulse-dot 1.5s ease-in-out infinite"}:{}},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsxs)("div",{style:{flex:1,minWidth:0},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{fontWeight:500,color:"#e2e8f0",fontSize:"0.9rem",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginBottom:"4px"},className:"jsx-29dfb32d17c16cd9",children:e.query}),(0,s.jsx)("div",{style:{color:"#64748b",fontSize:"0.8rem",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},className:"jsx-29dfb32d17c16cd9",children:(e.standard_answer||"").length>100?(e.standard_answer||"").substring(0,100)+"...":e.standard_answer||"暂无标准答案"}),e.expectedSkills&&e.expectedSkills.length>0?(0,s.jsxs)("div",{style:{color:"#94a3b8",fontSize:"0.75rem",marginTop:"2px"},className:"jsx-29dfb32d17c16cd9",children:["预期技能: ",e.expectedSkills.map(e=>`${e.skill}${null!==e.version&&void 0!==e.version?` (v${e.version})`:""}`).join(", ")]}):e.skill&&(0,s.jsxs)("div",{style:{color:"#94a3b8",fontSize:"0.75rem",marginTop:"2px"},className:"jsx-29dfb32d17c16cd9",children:["预期技能: ",e.skill,null!==e.skillVersion&&void 0!==e.skillVersion?` (v${e.skillVersion})`:""]})]}),(0,s.jsx)("div",{style:{flexShrink:0},className:"jsx-29dfb32d17c16cd9",children:"parsing"===e.parse_status?(0,s.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:"5px",padding:"3px 10px",borderRadius:"12px",fontSize:"0.75rem",fontWeight:500,background:"rgba(251, 191, 36, 0.12)",color:"#fbbf24",border:"1px solid rgba(251, 191, 36, 0.25)"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{width:"10px",height:"10px",border:"1.5px solid #fbbf24",borderTopColor:"transparent",borderRadius:"50%",animation:"spin 1s linear infinite",display:"inline-block"},className:"jsx-29dfb32d17c16cd9"}),"解析中"]}):"failed"===e.parse_status?(0,s.jsx)("span",{style:{padding:"3px 10px",borderRadius:"12px",fontSize:"0.75rem",fontWeight:500,background:"rgba(239, 68, 68, 0.12)",color:"#ef4444",border:"1px solid rgba(239, 68, 68, 0.25)"},className:"jsx-29dfb32d17c16cd9",children:"✕ 失败"}):(0,s.jsx)("span",{style:{padding:"3px 10px",borderRadius:"12px",fontSize:"0.75rem",fontWeight:500,background:"rgba(74, 222, 128, 0.12)",color:"#4ade80",border:"1px solid rgba(74, 222, 128, 0.25)"},className:"jsx-29dfb32d17c16cd9",children:"✓ 完成"})}),(0,s.jsxs)("div",{style:{display:"flex",gap:"6px",flexShrink:0},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("button",{onClick:()=>{let s={...e};!s.expectedSkills&&s.skill&&(s.expectedSkills=[{skill:s.skill,version:s.skillVersion??null}]),so(s),sp(!0)},style:{padding:"5px 12px",background:"#1e3a5f",color:"#38bdf8",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"0.8rem",fontWeight:500,transition:"background 0.2s"},className:"jsx-29dfb32d17c16cd9",children:"详情"}),(0,s.jsx)("button",{onClick:()=>{so({query:e.query,skill:"",expectedSkills:e.expectedSkills?[...e.expectedSkills]:e.skill?[{skill:e.skill,version:e.skillVersion??null}]:void 0,standard_answer:e.standard_answer}),su("manual"),sg(null),sp(!0)},style:{padding:"5px 12px",background:"#2d1b4e",color:"#a855f7",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"0.8rem",fontWeight:500,transition:"background 0.2s"},className:"jsx-29dfb32d17c16cd9",children:"复制"}),(0,s.jsx)("button",{onClick:()=>sk(e.id),style:{padding:"5px 12px",background:"#3b1c1c",color:"#ef4444",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"0.8rem",fontWeight:500,transition:"background 0.2s"},className:"jsx-29dfb32d17c16cd9",children:"删除"})]})]},e.id))]})]}),"skill"===q&&(0,s.jsx)(k,{}),sx&&(0,s.jsx)("div",{onClick:()=>sp(!1),className:"jsx-29dfb32d17c16cd9 modal-overlay",children:(0,s.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{maxHeight:"90vh",overflowY:"auto",maxWidth:"900px",width:"66vw",minWidth:"500px",flexDirection:"column"},className:"jsx-29dfb32d17c16cd9 modal-content card",children:[(0,s.jsx)("h3",{className:"jsx-29dfb32d17c16cd9",children:sc.id?"数据项详情":"新增数据项"}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsxs)("label",{style:{fontWeight:600,fontSize:"0.95rem",color:"#e2e8f0"},className:"jsx-29dfb32d17c16cd9",children:["问题 (Query) ",(0,s.jsx)("span",{style:{color:"#ef4444"},className:"jsx-29dfb32d17c16cd9",children:"*"})]}),(0,s.jsx)("textarea",{value:sc.query||"",onChange:e=>so({...sc,query:e.target.value}),disabled:!!sc.id,placeholder:"请输入需要评估的问题...",style:{width:"100%",padding:"10px",minHeight:"60px",opacity:sc.id?.7:1,cursor:sc.id?"not-allowed":"text",background:"#0f172a",border:"1px solid #334155",color:"#e2e8f0",borderRadius:"6px",fontSize:"0.95rem"},className:"jsx-29dfb32d17c16cd9"})]}),sc.id?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsx)("label",{style:{fontWeight:600,fontSize:"0.95rem",color:"#e2e8f0"},className:"jsx-29dfb32d17c16cd9",children:"标准答案"}),(0,s.jsx)("textarea",{value:sc.standard_answer||"",onChange:e=>so({...sc,standard_answer:e.target.value}),style:{width:"100%",padding:"10px",minHeight:"120px",background:"#0f172a",border:"1px solid #334155",color:"#e2e8f0",borderRadius:"6px",fontSize:"0.9rem"},className:"jsx-29dfb32d17c16cd9"})]}),(0,s.jsxs)("div",{style:{marginTop:"1rem"},className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsxs)("label",{style:{fontWeight:600,fontSize:"0.95rem",color:"#e2e8f0"},className:"jsx-29dfb32d17c16cd9",children:["预期技能 (Expected Skills) ",(0,s.jsx)("span",{style:{color:"#64748b",fontWeight:400},className:"jsx-29dfb32d17c16cd9",children:"(可选)"})]}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},className:"jsx-29dfb32d17c16cd9",children:[(sc.expectedSkills||[]).map((e,t)=>(0,s.jsxs)("div",{style:{display:"flex",gap:"8px",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"text",value:e.skill,onChange:e=>{let s=[...sc.expectedSkills||[]];s[t]={...s[t],skill:e.target.value},so({...sc,expectedSkills:s})},placeholder:"技能名称",style:{flex:2,padding:"10px",background:"#0f172a",border:"1px solid #334155",color:"#e2e8f0",borderRadius:"6px",fontSize:"0.95rem"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("input",{type:"number",value:e.version??0,onChange:e=>{let s=e.target.value,d=[...sc.expectedSkills||[]];d[t]={...d[t],version:""===s?0:Math.max(0,parseInt(s,10)||0)},so({...sc,expectedSkills:d})},placeholder:"版本 (默认: 0)",style:{flex:1,padding:"10px",background:"#0f172a",border:"1px solid #334155",color:"#e2e8f0",borderRadius:"6px",fontSize:"0.95rem"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("button",{type:"button",onClick:()=>{let e=(sc.expectedSkills||[]).filter((e,s)=>s!==t);so({...sc,expectedSkills:e})},style:{padding:"10px",background:"#3b1c1c",color:"#ef4444",border:"none",borderRadius:"6px",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"✕"})]},t)),(0,s.jsx)("button",{type:"button",onClick:()=>{let e=[...sc.expectedSkills||[],{skill:"",version:0}];so({...sc,expectedSkills:e})},style:{padding:"8px",background:"#1e3a5f",color:"#38bdf8",border:"1px dashed #38bdf8",borderRadius:"6px",cursor:"pointer",fontSize:"0.85rem"},className:"jsx-29dfb32d17c16cd9",children:"+ 添加预期技能"})]})]}),(0,s.jsxs)("details",{style:{marginBottom:"1rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("summary",{style:{cursor:"pointer",color:"#94a3b8",fontSize:"0.9rem",padding:"10px 12px",userSelect:"none",display:"flex",alignItems:"center",gap:"8px",background:"rgba(30, 41, 59, 0.5)",borderRadius:"6px",border:"1px solid #334155",listStyle:"none",transition:"background 0.2s"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{fontSize:"0.7rem",color:"#64748b",transition:"transform 0.2s",display:"inline-block"},className:"jsx-29dfb32d17c16cd9 details-arrow",children:"▶"}),(0,s.jsx)("span",{style:{fontWeight:500},className:"jsx-29dfb32d17c16cd9",children:"关键观点 (Expected Key Points)"}),(0,s.jsxs)("span",{style:{fontSize:"0.8rem",color:"#64748b",marginLeft:"auto"},className:"jsx-29dfb32d17c16cd9",children:[(sc.root_causes||[]).length," 项 · 点击展开"]})]}),(0,s.jsxs)("div",{style:{background:"#0f172a",padding:"10px",borderRadius:"4px",border:"1px solid #334155",marginTop:"8px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{color:"#64748b",fontSize:"0.8rem",marginBottom:"10px",padding:"6px 8px",background:"rgba(100, 116, 139, 0.1)",borderRadius:"4px"},className:"jsx-29dfb32d17c16cd9",children:"来源:从标准答案中自动提取 · 作用:评估 Agent 回答是否包含了所有关键信息"}),(sc.root_causes||[]).map((e,t)=>(0,s.jsxs)("div",{style:{display:"flex",gap:"10px",marginBottom:"8px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{placeholder:"内容",value:e.content,onChange:e=>{let s=[...sc.root_causes||[]];s[t].content=e.target.value,so({...sc,root_causes:s})},style:{flex:1,padding:"6px"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("input",{type:"number",placeholder:"权重",value:e.weight,onChange:e=>{let s=[...sc.root_causes||[]];s[t].weight=Number(e.target.value),so({...sc,root_causes:s})},style:{width:"80px",padding:"6px"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("button",{onClick:()=>{let e=(sc.root_causes||[]).filter((e,s)=>s!==t);so({...sc,root_causes:e})},style:{color:"#ef4444",padding:"0 8px",background:"none",border:"none",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"✕"})]},t)),(0,s.jsx)("button",{style:{background:"#334155",marginTop:"5px"},onClick:()=>so({...sc,root_causes:[...sc.root_causes||[],{content:"",weight:1}]}),className:"jsx-29dfb32d17c16cd9 btn-sm",children:"+ 添加关键观点"})]})]}),(0,s.jsxs)("details",{style:{marginBottom:"1rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("summary",{style:{cursor:"pointer",color:"#94a3b8",fontSize:"0.9rem",padding:"10px 12px",userSelect:"none",display:"flex",alignItems:"center",gap:"8px",background:"rgba(30, 41, 59, 0.5)",borderRadius:"6px",border:"1px solid #334155",listStyle:"none",transition:"background 0.2s"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{fontSize:"0.7rem",color:"#64748b",transition:"transform 0.2s",display:"inline-block"},className:"jsx-29dfb32d17c16cd9 details-arrow",children:"▶"}),(0,s.jsx)("span",{style:{fontWeight:500},className:"jsx-29dfb32d17c16cd9",children:"关键动作 (Expected Key Actions)"}),(0,s.jsxs)("span",{style:{fontSize:"0.8rem",color:"#64748b",marginLeft:"auto"},className:"jsx-29dfb32d17c16cd9",children:[(sc.key_actions||[]).length," 项 · 点击展开"]})]}),(0,s.jsxs)("div",{style:{background:"#0f172a",padding:"10px",borderRadius:"4px",border:"1px solid #334155",marginTop:"8px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{color:"#64748b",fontSize:"0.8rem",marginBottom:"10px",padding:"6px 8px",background:"rgba(100, 116, 139, 0.1)",borderRadius:"4px"},className:"jsx-29dfb32d17c16cd9",children:"来源:从标准答案中自动提取 · 作用:评估 Agent 是否执行了所有必要的操作步骤"}),(sc.key_actions||[]).map((e,t)=>(0,s.jsxs)("div",{style:{display:"flex",gap:"10px",marginBottom:"8px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{placeholder:"内容",value:e.content,onChange:e=>{let s=[...sc.key_actions||[]];s[t].content=e.target.value,so({...sc,key_actions:s})},style:{flex:1,padding:"6px"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("input",{type:"number",placeholder:"权重",value:e.weight,onChange:e=>{let s=[...sc.key_actions||[]];s[t].weight=Number(e.target.value),so({...sc,key_actions:s})},style:{width:"80px",padding:"6px"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("button",{onClick:()=>{let e=(sc.key_actions||[]).filter((e,s)=>s!==t);so({...sc,key_actions:e})},style:{color:"#ef4444",padding:"0 8px",background:"none",border:"none",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"✕"})]},t)),(0,s.jsx)("button",{style:{background:"#334155",marginTop:"5px"},onClick:()=>so({...sc,key_actions:[...sc.key_actions||[],{content:"",weight:1}]}),className:"jsx-29dfb32d17c16cd9 btn-sm",children:"+ 添加关键动作"})]})]})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsxs)("label",{style:{fontWeight:600,fontSize:"0.95rem",color:"#e2e8f0"},className:"jsx-29dfb32d17c16cd9",children:["标准答案 ",(0,s.jsx)("span",{style:{color:"#ef4444"},className:"jsx-29dfb32d17c16cd9",children:"*"})]}),(0,s.jsxs)("div",{style:{display:"flex",gap:"12px",marginBottom:"10px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("button",{onClick:()=>{su("manual"),sg(null)},style:{padding:"6px 16px",background:"manual"===sb?"#38bdf8":"#1e293b",color:"manual"===sb?"#0f172a":"#94a3b8",border:`1px solid ${"manual"===sb?"#38bdf8":"#334155"}`,borderRadius:"6px",cursor:"pointer",fontSize:"0.85rem",fontWeight:"manual"===sb?600:400,transition:"all 0.2s"},className:"jsx-29dfb32d17c16cd9",children:"✏️ 手动填写"}),(0,s.jsx)("button",{onClick:()=>su("document"),style:{padding:"6px 16px",background:"document"===sb?"#38bdf8":"#1e293b",color:"document"===sb?"#0f172a":"#94a3b8",border:`1px solid ${"document"===sb?"#38bdf8":"#334155"}`,borderRadius:"6px",cursor:"pointer",fontSize:"0.85rem",fontWeight:"document"===sb?600:400,transition:"all 0.2s"},className:"jsx-29dfb32d17c16cd9",children:"📄 上传案例文档"})]}),"manual"===sb?(0,s.jsx)("textarea",{value:sc.standard_answer||"",onChange:e=>so({...sc,standard_answer:e.target.value}),placeholder:"请填写该问题的标准答案...",style:{width:"100%",padding:"10px",minHeight:"150px",background:"#0f172a",border:"1px solid #334155",color:"#e2e8f0",borderRadius:"6px",fontSize:"0.9rem"},className:"jsx-29dfb32d17c16cd9"}):(0,s.jsx)("div",{style:{border:"2px dashed #334155",borderRadius:"8px",padding:"2rem",textAlign:"center",background:"#0f172a",cursor:"pointer",transition:"border-color 0.2s"},onDragOver:e=>{e.preventDefault(),e.currentTarget.style.borderColor="#38bdf8"},onDragLeave:e=>{e.currentTarget.style.borderColor="#334155"},onDrop:e=>{e.preventDefault(),e.currentTarget.style.borderColor="#334155";let s=e.dataTransfer.files[0];s&&sg(s)},onClick:()=>{let e=document.createElement("input");e.type="file",e.accept=".txt,.md,.markdown,.pdf",e.onchange=e=>{let s=e.target.files[0];s&&sg(s)},e.click()},className:"jsx-29dfb32d17c16cd9",children:sh?(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{fontSize:"2rem",marginBottom:"0.5rem"},className:"jsx-29dfb32d17c16cd9",children:"📄"}),(0,s.jsx)("div",{style:{color:"#4ade80",fontWeight:500},className:"jsx-29dfb32d17c16cd9",children:sh.name}),(0,s.jsxs)("div",{style:{color:"#94a3b8",fontSize:"0.8rem",marginTop:"4px"},className:"jsx-29dfb32d17c16cd9",children:[(sh.size/1024).toFixed(1)," KB · 点击更换文件"]})]}):(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{fontSize:"2rem",marginBottom:"0.5rem"},className:"jsx-29dfb32d17c16cd9",children:"📁"}),(0,s.jsx)("div",{style:{color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:"点击或拖拽上传案例文档"}),(0,s.jsx)("div",{style:{color:"#64748b",fontSize:"0.8rem",marginTop:"4px"},className:"jsx-29dfb32d17c16cd9",children:"支持 .txt, .md, .pdf 格式"})]})})]}),(0,s.jsxs)("div",{style:{marginTop:"1rem"},className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsxs)("label",{style:{fontWeight:600,fontSize:"0.95rem",color:"#e2e8f0"},className:"jsx-29dfb32d17c16cd9",children:["预期技能 (Expected Skills) ",(0,s.jsx)("span",{style:{color:"#64748b",fontWeight:400},className:"jsx-29dfb32d17c16cd9",children:"(可选)"})]}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"8px"},className:"jsx-29dfb32d17c16cd9",children:[(sc.expectedSkills||[]).map((e,t)=>(0,s.jsxs)("div",{style:{display:"flex",gap:"8px",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("input",{type:"text",value:e.skill,onChange:e=>{let s=[...sc.expectedSkills||[]];s[t]={...s[t],skill:e.target.value},so({...sc,expectedSkills:s})},placeholder:"技能名称",style:{flex:2,padding:"10px",background:"#0f172a",border:"1px solid #334155",color:"#e2e8f0",borderRadius:"6px",fontSize:"0.95rem"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("input",{type:"number",value:e.version??0,onChange:e=>{let s=e.target.value,d=[...sc.expectedSkills||[]];d[t]={...d[t],version:""===s?0:Math.max(0,parseInt(s,10)||0)},so({...sc,expectedSkills:d})},placeholder:"版本 (默认: 0)",style:{flex:1,padding:"10px",background:"#0f172a",border:"1px solid #334155",color:"#e2e8f0",borderRadius:"6px",fontSize:"0.95rem"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("button",{type:"button",onClick:()=>{let e=(sc.expectedSkills||[]).filter((e,s)=>s!==t);so({...sc,expectedSkills:e})},style:{padding:"10px",background:"#3b1c1c",color:"#ef4444",border:"none",borderRadius:"6px",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"✕"})]},t)),(0,s.jsx)("button",{type:"button",onClick:()=>{let e=[...sc.expectedSkills||[],{skill:"",version:0}];so({...sc,expectedSkills:e})},style:{padding:"8px",background:"#1e3a5f",color:"#38bdf8",border:"1px dashed #38bdf8",borderRadius:"6px",cursor:"pointer",fontSize:"0.85rem"},className:"jsx-29dfb32d17c16cd9",children:"+ 添加预期技能"})]})]}),(0,s.jsx)("div",{style:{marginTop:"1rem",padding:"12px 16px",background:"rgba(56, 189, 248, 0.08)",border:"1px solid rgba(56, 189, 248, 0.2)",borderRadius:"8px",color:"#94a3b8",fontSize:"0.85rem"},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsxs)("p",{style:{margin:0},className:"jsx-29dfb32d17c16cd9",children:["💡 保存后,系统将基于标准答案自动提取",(0,s.jsx)("strong",{style:{color:"#bae6fd"},className:"jsx-29dfb32d17c16cd9",children:"关键观点"}),"(回答中必须包含的核心信息)和",(0,s.jsx)("strong",{style:{color:"#bae6fd"},className:"jsx-29dfb32d17c16cd9",children:"关键动作"}),"(Agent 必须执行的操作步骤),用于后续的细致评估打分。此过程在后台执行,无需等待。"]})})]}),(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"12px",marginTop:"1.5rem",paddingTop:"1rem",borderTop:"1px solid #334155"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("button",{onClick:()=>{sp(!1),sm(!1)},style:{padding:"8px 24px",background:"#1e293b",color:"#94a3b8",border:"1px solid #334155",borderRadius:"6px",cursor:"pointer",fontSize:"0.9rem",fontWeight:500,transition:"all 0.2s"},className:"jsx-29dfb32d17c16cd9",children:"取消"}),(0,s.jsx)("button",{onClick:sv,disabled:sf,style:{padding:"8px 28px",background:sf?"#1e3a5f":"#38bdf8",color:sf?"#64748b":"#0f172a",border:"none",borderRadius:"6px",cursor:sf?"not-allowed":"pointer",fontSize:"0.9rem",fontWeight:600,transition:"all 0.2s",boxShadow:sf?"none":"0 2px 8px rgba(56, 189, 248, 0.25)"},className:"jsx-29dfb32d17c16cd9",children:sf?"保存中...":"保存"})]})]})}),er&&(0,s.jsx)("div",{onClick:()=>ea(null),className:"jsx-29dfb32d17c16cd9 modal-overlay",children:(0,s.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{width:"800px",maxWidth:"95%",maxHeight:"90vh",overflowY:"auto"},className:"jsx-29dfb32d17c16cd9 modal-content card",children:[(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"1rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("h3",{className:"jsx-29dfb32d17c16cd9",children:"记录详情"}),(0,s.jsx)("button",{onClick:()=>ea(null),style:{background:"transparent",border:"none",color:"white",fontSize:"1.5rem",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"×"})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 detail-section",children:[(0,s.jsx)("h4",{className:"jsx-29dfb32d17c16cd9",children:"基本信息"}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 detail-grid",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("strong",{className:"jsx-29dfb32d17c16cd9",children:"Time:"})," ",I(er.timestamp)]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("strong",{className:"jsx-29dfb32d17c16cd9",children:"Framework:"})," ",er.framework]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("strong",{className:"jsx-29dfb32d17c16cd9",children:"Latency:"})," ",C(er.latency)]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("strong",{className:"jsx-29dfb32d17c16cd9",children:"Token:"})," ",er.tokens]})]})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 detail-section",children:[(0,s.jsx)("h4",{className:"jsx-29dfb32d17c16cd9",children:"Input / Output"}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 detail-row",children:[(0,s.jsx)("strong",{style:{display:"block",marginBottom:"0.2rem",color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:"Query:"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 code-block",children:er.query})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 detail-row",children:[(0,s.jsx)("strong",{style:{display:"block",marginBottom:"0.2rem",color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:"Skills Used:"}),(0,s.jsx)("div",{className:"jsx-29dfb32d17c16cd9 code-block",children:(0,s.jsx)(f.SkillLinks,{skills:er.skills,skill:er.skill,skillVersion:er.skill_version?parseInt(er.skill_version):null,user:er.user})})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 detail-row",children:[(0,s.jsx)("strong",{style:{display:"block",marginBottom:"0.2rem",color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:"Final Result:"}),(0,s.jsx)("div",{style:{maxHeight:"200px",overflowY:"auto"},className:"jsx-29dfb32d17c16cd9 code-block",children:er.final_result||"(None)"})]})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 detail-section",children:[(0,s.jsx)("h4",{className:"jsx-29dfb32d17c16cd9",children:"评估结果"}),(0,s.jsx)("div",{style:{display:"grid",gridTemplateColumns:"1fr",gap:"1rem",marginBottom:"1.5rem"},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsxs)("div",{style:null===er.answer_score?{borderLeft:"4px solid #94a3b8",background:"rgba(148, 163, 184, 0.1)",color:"#94a3b8"}:{},className:`jsx-29dfb32d17c16cd9 status-box ${null===er.answer_score?"warning":(er.answer_score||0)>.8?"good":"bad"}`,children:[(0,s.jsx)("strong",{className:"jsx-29dfb32d17c16cd9",children:"回答评分:"})," ",null===er.answer_score?"--":(er.answer_score||0).toFixed(2)]})}),er.failures&&er.failures.length>0&&(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 detail-section",children:[(0,s.jsx)("h4",{style:{color:"#f87171"},className:"jsx-29dfb32d17c16cd9",children:"中间故障 / 异常分析"}),(0,s.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"1rem"},className:"jsx-29dfb32d17c16cd9",children:er.failures.map((e,t)=>(0,s.jsxs)("div",{style:{background:"rgba(248, 113, 113, 0.1)",border:"1px solid #7f1d1d",borderRadius:"6px",padding:"1rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",marginBottom:"0.5rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("span",{style:{background:"#f87171",color:"#0f172a",padding:"2px 8px",borderRadius:"4px",fontSize:"0.8rem",fontWeight:"bold"},className:"jsx-29dfb32d17c16cd9",children:e.failure_type}),(0,s.jsx)("span",{style:{color:"#fca5a5",fontWeight:"bold"},className:"jsx-29dfb32d17c16cd9",children:e.description})]}),e.context&&(0,s.jsx)("div",{style:{marginBottom:"0.5rem",fontSize:"0.9rem",color:"#cbd5e1",fontFamily:"monospace",background:"rgba(0,0,0,0.3)",padding:"0.5rem",borderRadius:"4px"},className:"jsx-29dfb32d17c16cd9",children:e.context}),e.recovery&&(0,s.jsxs)("div",{style:{fontSize:"0.9rem",color:"#86efac"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("strong",{style:{color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:"修复建议:"})," ",e.recovery]}),(e.attribution||e.attribution_reason)&&(0,s.jsxs)("div",{style:{marginTop:"0.8rem",paddingTop:"0.8rem",borderTop:"1px dashed #7f1d1d"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",marginBottom:"0.3rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("strong",{style:{color:"#fbbf24"},className:"jsx-29dfb32d17c16cd9",children:"归因分析:"}),e.attribution&&(0,s.jsx)("span",{style:{background:"#fbbf24",color:"#451a03",padding:"1px 6px",borderRadius:"4px",fontSize:"0.75rem",fontWeight:"bold",border:"1px solid #d97706"},className:"jsx-29dfb32d17c16cd9",children:e.attribution})]}),e.attribution_reason&&(0,s.jsx)("div",{style:{fontSize:"0.9rem",color:"#fcd34d",fontStyle:"italic"},className:"jsx-29dfb32d17c16cd9",children:e.attribution_reason})]})]},t))})]}),(0,s.jsxs)("div",{style:{marginTop:"1rem"},className:"jsx-29dfb32d17c16cd9 detail-row",children:[(0,s.jsx)("strong",{style:{color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:"Reason:"}),(0,s.jsx)("div",{style:{marginTop:"0.2rem",fontSize:"0.9rem",color:"#e2e8f0",whiteSpace:"pre-wrap"},className:"jsx-29dfb32d17c16cd9",children:er.judgment_reason||"-"})]})]}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9 detail-section",children:[(0,s.jsx)("h4",{className:"jsx-29dfb32d17c16cd9",children:"用户反馈 (User Feedback)"}),(0,s.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"1rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{style:{display:"flex",gap:"1rem",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("button",{onClick:()=>sl("like"),style:{display:"flex",alignItems:"center",gap:"0.5rem",background:er.user_feedback?.type==="like"?"#38bdf8":"#334155",color:er.user_feedback?.type==="like"?"#0f172a":"#94a3b8",border:"none",padding:"6px 12px",borderRadius:"4px",cursor:"pointer",fontWeight:er.user_feedback?.type==="like"?"bold":"normal",transition:"all 0.2s"},className:"jsx-29dfb32d17c16cd9",children:"👍 Like"}),(0,s.jsx)("button",{onClick:()=>sl("dislike"),style:{display:"flex",alignItems:"center",gap:"0.5rem",background:er.user_feedback?.type==="dislike"?"#f87171":"#334155",color:er.user_feedback?.type==="dislike"?"#0f172a":"#94a3b8",border:"none",padding:"6px 12px",borderRadius:"4px",cursor:"pointer",fontWeight:er.user_feedback?.type==="dislike"?"bold":"normal",transition:"all 0.2s"},className:"jsx-29dfb32d17c16cd9",children:"👎 Dislike"})]}),(0,s.jsxs)("div",{style:{display:"flex",gap:"0.5rem",alignItems:"flex-start"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("textarea",{value:eB,onChange:e=>eD(e.target.value),placeholder:"添加评论 (可选)...",style:{flex:1,minHeight:"60px",padding:"8px",background:"#0f172a",border:"1px solid #334155",color:"#e2e8f0",borderRadius:"4px",fontSize:"0.9rem"},className:"jsx-29dfb32d17c16cd9"}),(0,s.jsx)("button",{onClick:()=>sl(er.user_feedback?.type||null),style:{padding:"8px 16px",fontSize:"0.9rem",height:"fit-content",whiteSpace:"nowrap"},className:"jsx-29dfb32d17c16cd9 btn-primary",children:"保存评论"})]})]})]})]})}),(0,s.jsx)("button",{onClick:()=>J(!0),style:{position:"fixed",top:"1.5rem",right:"2rem",width:"3rem",height:"3rem",borderRadius:"50%",background:"#38bdf8",color:"#0f172a",border:"none",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"1.5rem",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",cursor:"pointer",zIndex:900,transition:"transform 0.2s"},onMouseOver:e=>e.currentTarget.style.transform="scale(1.1)",onMouseOut:e=>e.currentTarget.style.transform="scale(1)",title:"User Settings",className:"jsx-29dfb32d17c16cd9",children:"👤"}),K&&(0,s.jsx)("div",{onClick:()=>J(!1),style:{alignItems:"flex-start",paddingTop:"10vh"},className:"jsx-29dfb32d17c16cd9 modal-overlay",children:(0,s.jsxs)("div",{style:{width:"500px",maxWidth:"90vw",background:"#0f172a",border:"1px solid #334155",borderRadius:"12px",padding:"0",overflow:"hidden"},onClick:e=>e.stopPropagation(),className:"jsx-29dfb32d17c16cd9 modal-content",children:[(0,s.jsxs)("div",{style:{padding:"1.5rem",background:"linear-gradient(to right, #1e293b, #0f172a)",borderBottom:"1px solid #334155",display:"flex",justifyContent:"space-between",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"12px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{width:"40px",height:"40px",borderRadius:"50%",background:"#38bdf8",color:"#0f172a",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"1.2rem",fontWeight:"bold"},className:"jsx-29dfb32d17c16cd9",children:e?e.substring(0,1).toUpperCase():"?"}),(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("h3",{style:{margin:0,color:"#f8fafc",fontSize:"1.1rem"},className:"jsx-29dfb32d17c16cd9",children:e}),(0,s.jsx)("span",{style:{fontSize:"0.8rem",color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:"User Profile"})]})]}),(0,s.jsx)("button",{onClick:()=>J(!1),style:{background:"transparent",border:"none",color:"#64748b",fontSize:"1.5rem",cursor:"pointer",lineHeight:1},className:"jsx-29dfb32d17c16cd9",children:"×"})]}),(0,s.jsx)("div",{style:{padding:"1.5rem"},className:"jsx-29dfb32d17c16cd9",children:N?(0,s.jsxs)("div",{style:{background:"#1e293b",padding:"1.25rem",borderRadius:"8px",border:"1px solid #334155"},className:"jsx-29dfb32d17c16cd9 form-group",children:[(0,s.jsx)("label",{style:{color:"#94a3b8",fontSize:"0.8rem",textTransform:"uppercase",letterSpacing:"0.5px",marginBottom:"0.75rem",display:"block"},className:"jsx-29dfb32d17c16cd9",children:"API Key"}),(0,s.jsxs)("div",{style:{display:"flex",gap:"10px"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("div",{style:{flex:1,padding:"0.75rem 1rem",background:"#0f172a",borderRadius:"6px",border:"1px solid #334155",color:"#e2e8f0",fontFamily:"monospace",fontSize:"0.9rem",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},className:"jsx-29dfb32d17c16cd9",children:N}),(0,s.jsx)("button",{onClick:()=>{let e=()=>{eO(!0),setTimeout(()=>eO(!1),2e3)};if(navigator.clipboard&&window.isSecureContext)navigator.clipboard.writeText(N).then(e);else{let s=document.createElement("textarea");s.value=N,s.style.position="fixed",s.style.left="-9999px",s.style.top="0",document.body.appendChild(s),s.focus(),s.select();try{document.execCommand("copy"),e()}catch(e){console.error("Fallback: Oops, unable to copy",e),alert("复制失败,请手动复制")}document.body.removeChild(s)}},style:{padding:"0 1.25rem",display:"flex",alignItems:"center",gap:"6px",background:eE?"#4ade80":void 0},className:"jsx-29dfb32d17c16cd9 btn-primary",children:eE?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"jsx-29dfb32d17c16cd9",children:"✅"})," Copied"]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"jsx-29dfb32d17c16cd9",children:"📋"})," Copy"]})})]})]}):(0,s.jsx)("div",{style:{textAlign:"center",padding:"2rem",color:"#64748b"},className:"jsx-29dfb32d17c16cd9",children:"No API Key found."})}),(0,s.jsx)("div",{style:{padding:"0 1.5rem 1.5rem"},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsx)("div",{style:{background:"#1e293b",padding:"1.25rem",borderRadius:"8px",border:"1px solid #334155"},className:"jsx-29dfb32d17c16cd9",children:(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsxs)("div",{className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("h4",{style:{margin:"0 0 0.25rem 0",color:"#f8fafc",fontSize:"0.95rem"},className:"jsx-29dfb32d17c16cd9",children:"新手引导"}),(0,s.jsx)("p",{style:{margin:0,fontSize:"0.8rem",color:"#94a3b8"},className:"jsx-29dfb32d17c16cd9",children:W?.guideDisabled?"引导已关闭":"引导已开启"})]}),(0,s.jsx)("button",{onClick:async()=>{W?.guideDisabled?(await (0,b.apiFetch)("/api/guide",{method:"POST",headers:{"Content-Type":"application/json","x-user-id":e},body:JSON.stringify({guideDisabled:!1,dismissedAt:null})})).ok&&window.location.reload():(await (0,b.apiFetch)("/api/guide",{method:"POST",headers:{"Content-Type":"application/json","x-user-id":e},body:JSON.stringify({currentStep:0,completedSteps:[],skippedSteps:[],dismissedAt:null})})).ok&&(J(!1),E(!0))},style:{background:W?.guideDisabled?"#4ade80":"#38bdf8",border:"none",color:"#0f172a",padding:"0.5rem 1rem",borderRadius:"6px",fontWeight:"600",cursor:"pointer",fontSize:"0.85rem"},className:"jsx-29dfb32d17c16cd9",children:W?.guideDisabled?"启用引导":"重新开始引导"})]})})}),(0,s.jsxs)("div",{style:{padding:"1.25rem 1.5rem",background:"#0f172a",borderTop:"1px solid #334155",display:"flex",justifyContent:"flex-end",gap:"1rem"},className:"jsx-29dfb32d17c16cd9",children:[(0,s.jsx)("button",{onClick:()=>J(!1),style:{background:"transparent",border:"1px solid #334155",color:"#94a3b8",padding:"0.6rem 1.25rem",borderRadius:"6px",fontWeight:"500",cursor:"pointer"},className:"jsx-29dfb32d17c16cd9",children:"Close"}),!h&&(0,s.jsx)("button",{onClick:()=>{localStorage.removeItem("user_id"),localStorage.removeItem("api_key"),window.location.reload()},style:{background:"#ef4444",border:"none",color:"white",padding:"0.6rem 1.25rem",borderRadius:"6px",fontWeight:"600",cursor:"pointer",boxShadow:"0 2px 4px rgba(239, 68, 68, 0.2)"},className:"jsx-29dfb32d17c16cd9",children:"Sign Out"})]})]})}),(0,s.jsx)(t.default,{id:"29dfb32d17c16cd9",children:'.tab-btn.jsx-29dfb32d17c16cd9{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.5rem 1rem;font-size:1rem}.tab-btn.active.jsx-29dfb32d17c16cd9{color:#38bdf8;border-bottom-color:#38bdf8}.p-2.jsx-29dfb32d17c16cd9{padding:.75rem}.btn-primary.jsx-29dfb32d17c16cd9{color:#0f172a;cursor:pointer;background:#38bdf8;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:700}.btn-sm.jsx-29dfb32d17c16cd9{color:#fff;cursor:pointer;border:none;border-radius:4px;padding:4px 8px;font-size:.8rem}.modal-overlay.jsx-29dfb32d17c16cd9{alignItems:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#000c;justify-content:center;display:flex;position:fixed;inset:0}.modal-content.jsx-29dfb32d17c16cd9{background:#1e293b;border:1px solid #334155;width:66vw;max-width:1200px;padding:2rem}.form-group.jsx-29dfb32d17c16cd9{margin-bottom:1rem}.form-group.jsx-29dfb32d17c16cd9 label.jsx-29dfb32d17c16cd9{marginBottom:.5rem;color:#cbd5e1;display:block}input.jsx-29dfb32d17c16cd9,textarea.jsx-29dfb32d17c16cd9{color:#fff;borderRadius:4px;background:#0f172a;border:1px solid #334155}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}details[open].jsx-29dfb32d17c16cd9>summary.jsx-29dfb32d17c16cd9 .details-arrow.jsx-29dfb32d17c16cd9{transform:rotate(90deg)}details.jsx-29dfb32d17c16cd9>summary.jsx-29dfb32d17c16cd9:hover{background:#1e293bcc!important}details.jsx-29dfb32d17c16cd9>summary.jsx-29dfb32d17c16cd9::-webkit-details-marker{display:none}details.jsx-29dfb32d17c16cd9>summary.jsx-29dfb32d17c16cd9::marker{content:"";display:none}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.detail-section.jsx-29dfb32d17c16cd9{border-bottom:1px solid #334155;margin-bottom:1.5rem;padding-bottom:1.5rem}.detail-section.jsx-29dfb32d17c16cd9:last-child{border-bottom:none}.detail-grid.jsx-29dfb32d17c16cd9{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.detail-row.jsx-29dfb32d17c16cd9{margin-bottom:1rem}.code-block.jsx-29dfb32d17c16cd9{white-space:pre-wrap;color:#e2e8f0;background:#0f172a;border-radius:6px;padding:.8rem;font-family:monospace;font-size:.9rem}.status-box.jsx-29dfb32d17c16cd9{text-align:center;border-radius:6px;padding:1rem}.status-box.good.jsx-29dfb32d17c16cd9{color:#4ade80;background:#4ade801a;border:1px solid #4ade80}.status-box.bad.jsx-29dfb32d17c16cd9{color:#f87171;background:#f871711a;border:1px solid #f87171}h4.jsx-29dfb32d17c16cd9{color:#38bdf8;margin-top:0;margin-bottom:1rem}.text-sm.jsx-29dfb32d17c16cd9{font-size:.875rem}.text-xl.jsx-29dfb32d17c16cd9{font-size:1.25rem}.text-2xl.jsx-29dfb32d17c16cd9{font-size:1.5rem}.font-bold.jsx-29dfb32d17c16cd9{font-weight:700}.text-slate-400.jsx-29dfb32d17c16cd9{color:#94a3b8}.text-green-400.jsx-29dfb32d17c16cd9{color:#4ade80}.text-red-400.jsx-29dfb32d17c16cd9{color:#f87171}.dropdown-content.jsx-29dfb32d17c16cd9{display:none}.dropdown-trigger.jsx-29dfb32d17c16cd9:hover+.dropdown-content.jsx-29dfb32d17c16cd9,.dropdown-content.jsx-29dfb32d17c16cd9:hover{display:block}'}),D&&U.length>0&&!B&&(0,s.jsx)(S,{steps:U,onComplete:async()=>{E(!1),await P()},onSkip:async e=>{await O(e)},onDontShowAgain:async()=>{await L()}})]})}e.s(["default",()=>$],58116)}]);
@@ -0,0 +1,2 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,44307,11209,47238,79996,25004,65445,68593,35204,85575,52491,t=>{"use strict";function i(t,i,e){t.prototype=i.prototype=e,e.constructor=t}function e(t,i){var e=Object.create(t.prototype);for(var n in i)e[n]=i[n];return e}function n(){}t.s(["default",()=>K],85575),t.s(["default",0,i,"extend",()=>e],11209);var s="\\s*([+-]?\\d+)\\s*",r="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",a="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",h=/^#([0-9a-f]{3,8})$/,o=RegExp(`^rgb\\(${s},${s},${s}\\)$`),_=RegExp(`^rgb\\(${a},${a},${a}\\)$`),l=RegExp(`^rgba\\(${s},${s},${s},${r}\\)$`),c=RegExp(`^rgba\\(${a},${a},${a},${r}\\)$`),u=RegExp(`^hsl\\(${r},${a},${a}\\)$`),f=RegExp(`^hsla\\(${r},${a},${a},${r}\\)$`),x={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function p(){return this.rgb().formatHex()}function d(){return this.rgb().formatRgb()}function y(t){var i,e;return t=(t+"").trim().toLowerCase(),(i=h.exec(t))?(e=i[1].length,i=parseInt(i[1],16),6===e?g(i):3===e?new w(i>>8&15|i>>4&240,i>>4&15|240&i,(15&i)<<4|15&i,1):8===e?m(i>>24&255,i>>16&255,i>>8&255,(255&i)/255):4===e?m(i>>12&15|i>>8&240,i>>8&15|i>>4&240,i>>4&15|240&i,((15&i)<<4|15&i)/255):null):(i=o.exec(t))?new w(i[1],i[2],i[3],1):(i=_.exec(t))?new w(255*i[1]/100,255*i[2]/100,255*i[3]/100,1):(i=l.exec(t))?m(i[1],i[2],i[3],i[4]):(i=c.exec(t))?m(255*i[1]/100,255*i[2]/100,255*i[3]/100,i[4]):(i=u.exec(t))?S(i[1],i[2]/100,i[3]/100,1):(i=f.exec(t))?S(i[1],i[2]/100,i[3]/100,i[4]):x.hasOwnProperty(t)?g(x[t]):"transparent"===t?new w(NaN,NaN,NaN,0):null}function g(t){return new w(t>>16&255,t>>8&255,255&t,1)}function m(t,i,e,n){return n<=0&&(t=i=e=NaN),new w(t,i,e,n)}function v(t){return(t instanceof n||(t=y(t)),t)?new w((t=t.rgb()).r,t.g,t.b,t.opacity):new w}function b(t,i,e,n){return 1==arguments.length?v(t):new w(t,i,e,null==n?1:n)}function w(t,i,e,n){this.r=+t,this.g=+i,this.b=+e,this.opacity=+n}function N(){return`#${T(this.r)}${T(this.g)}${T(this.b)}`}function k(){let t=M(this.opacity);return`${1===t?"rgb(":"rgba("}${$(this.r)}, ${$(this.g)}, ${$(this.b)}${1===t?")":`, ${t})`}`}function M(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function $(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function T(t){return((t=$(t))<16?"0":"")+t.toString(16)}function S(t,i,e,n){return n<=0?t=i=e=NaN:e<=0||e>=1?t=i=NaN:i<=0&&(t=NaN),new C(t,i,e,n)}function E(t){if(t instanceof C)return new C(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=y(t)),!t)return new C;if(t instanceof C)return t;var i=(t=t.rgb()).r/255,e=t.g/255,s=t.b/255,r=Math.min(i,e,s),a=Math.max(i,e,s),h=NaN,o=a-r,_=(a+r)/2;return o?(h=i===a?(e-s)/o+(e<s)*6:e===a?(s-i)/o+2:(i-e)/o+4,o/=_<.5?a+r:2-a-r,h*=60):o=_>0&&_<1?0:h,new C(h,o,_,t.opacity)}function C(t,i,e,n){this.h=+t,this.s=+i,this.l=+e,this.opacity=+n}function R(t){return(t=(t||0)%360)<0?t+360:t}function P(t){return Math.max(0,Math.min(1,t||0))}function B(t,i,e){return(t<60?i+(e-i)*t/60:t<180?e:t<240?i+(e-i)*(240-t)/60:i)*255}function A(t,i,e,n,s){var r=t*t,a=r*t;return((1-3*t+3*r-a)*i+(4-6*r+3*a)*e+(1+3*t+3*r-3*a)*n+a*s)/6}i(n,y,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:p,formatHex:p,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return E(this).formatHsl()},formatRgb:d,toString:d}),i(w,b,e(n,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new w(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new w($(this.r),$(this.g),$(this.b),M(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:N,formatHex:N,formatHex8:function(){return`#${T(this.r)}${T(this.g)}${T(this.b)}${T((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:k,toString:k})),i(C,function(t,i,e,n){return 1==arguments.length?E(t):new C(t,i,e,null==n?1:n)},e(n,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new C(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new C(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,i=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,n=e+(e<.5?e:1-e)*i,s=2*e-n;return new w(B(t>=240?t-240:t+120,s,n),B(t,s,n),B(t<120?t+240:t-120,s,n),this.opacity)},clamp(){return new C(R(this.h),P(this.s),P(this.l),M(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=M(this.opacity);return`${1===t?"hsl(":"hsla("}${R(this.h)}, ${100*P(this.s)}%, ${100*P(this.l)}%${1===t?")":`, ${t})`}`}})),t.s(["Color",()=>n,"Rgb",()=>w,"default",()=>y,"rgb",()=>b,"rgbConvert",()=>v],47238),t.s(["color",()=>y],79996);let L=t=>()=>t;function O(t,i){return function(e){return t+e*i}}function z(t,i){var e=i-t;return e?O(t,e>180||e<-180?e-360*Math.round(e/360):e):L(isNaN(t)?i:t)}function j(t){return 1==(t*=1)?F:function(i,e){var n,s,r;return e-i?(n=i,s=e,n=Math.pow(n,r=t),s=Math.pow(s,r)-n,r=1/r,function(t){return Math.pow(n+t*s,r)}):L(isNaN(i)?e:i)}}function F(t,i){var e=i-t;return e?O(t,e):L(isNaN(t)?i:t)}t.s(["default",()=>F,"gamma",()=>j,"hue",()=>z],25004);let I=function t(i){var e=j(i);function n(t,i){var n=e((t=b(t)).r,(i=b(i)).r),s=e(t.g,i.g),r=e(t.b,i.b),a=F(t.opacity,i.opacity);return function(i){return t.r=n(i),t.g=s(i),t.b=r(i),t.opacity=a(i),t+""}}return n.gamma=t,n}(1);function H(t){return function(i){var e,n,s=i.length,r=Array(s),a=Array(s),h=Array(s);for(e=0;e<s;++e)n=b(i[e]),r[e]=n.r||0,a[e]=n.g||0,h[e]=n.b||0;return r=t(r),a=t(a),h=t(h),n.opacity=1,function(t){return n.r=r(t),n.g=a(t),n.b=h(t),n+""}}}function D(t,i){return t*=1,i*=1,function(e){return t*(1-e)+i*e}}H(function(t){var i=t.length-1;return function(e){var n=e<=0?e=0:e>=1?(e=1,i-1):Math.floor(e*i),s=t[n],r=t[n+1],a=n>0?t[n-1]:2*s-r,h=n<i-1?t[n+2]:2*r-s;return A((e-n/i)*i,a,s,r,h)}}),H(function(t){var i=t.length;return function(e){var n=Math.floor(((e%=1)<0?++e:e)*i),s=t[(n+i-1)%i],r=t[n%i],a=t[(n+1)%i],h=t[(n+2)%i];return A((e-n/i)*i,s,r,a,h)}}),t.s(["default",0,I],65445),t.s(["default",0,D],68593);var U=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,W=RegExp(U.source,"g");function q(t,i){var e,n,s,r,a,h=U.lastIndex=W.lastIndex=0,o=-1,_=[],l=[];for(t+="",i+="";(s=U.exec(t))&&(r=W.exec(i));)(a=r.index)>h&&(a=i.slice(h,a),_[o]?_[o]+=a:_[++o]=a),(s=s[0])===(r=r[0])?_[o]?_[o]+=r:_[++o]=r:(_[++o]=null,l.push({i:o,x:D(s,r)})),h=W.lastIndex;return h<i.length&&(a=i.slice(h),_[o]?_[o]+=a:_[++o]=a),_.length<2?l[0]?(e=l[0].x,function(t){return e(t)+""}):(n=i,function(){return n}):(i=l.length,function(t){for(var e,n=0;n<i;++n)_[(e=l[n]).i]=e.x(t);return _.join("")})}function K(t,i){var e,n,s=typeof i;return null==i||"boolean"===s?L(i):("number"===s?D:"string"===s?(n=y(i))?(i=n,I):q:i instanceof y?I:i instanceof Date?function(t,i){var e=new Date;return t*=1,i*=1,function(n){return e.setTime(t*(1-n)+i*n),e}}:!ArrayBuffer.isView(e=i)||e instanceof DataView?Array.isArray(i)?function(t,i){var e,n=i?i.length:0,s=t?Math.min(n,t.length):0,r=Array(s),a=Array(n);for(e=0;e<s;++e)r[e]=K(t[e],i[e]);for(;e<n;++e)a[e]=i[e];return function(t){for(e=0;e<s;++e)a[e]=r[e](t);return a}}:"function"!=typeof i.valueOf&&"function"!=typeof i.toString||isNaN(i)?function(t,i){var e,n={},s={};for(e in(null===t||"object"!=typeof t)&&(t={}),(null===i||"object"!=typeof i)&&(i={}),i)e in t?n[e]=K(t[e],i[e]):s[e]=i[e];return function(t){for(e in n)s[e]=n[e](t);return s}}:D:function(t,i){i||(i=[]);var e,n=t?Math.min(i.length,t.length):0,s=i.slice();return function(r){for(e=0;e<n;++e)s[e]=t[e]*(1-r)+i[e]*r;return s}})(t,i)}t.s(["default",0,q],35204),t.s(["interpolate",0,K],44307),t.s(["interpolateNumber",0,D],52491)},10199,t=>{"use strict";let i=Math.abs,e=Math.atan2,n=Math.cos,s=Math.max,r=Math.min,a=Math.sin,h=Math.sqrt,o=Math.PI,_=o/2;function l(t){return t>1?0:t<-1?o:Math.acos(t)}function c(t){return t>=1?_:t<=-1?-_:Math.asin(t)}t.s(["abs",0,i,"acos",()=>l,"asin",()=>c,"atan2",0,e,"cos",0,n,"epsilon",0,1e-12,"halfPi",0,_,"max",0,s,"min",0,r,"pi",0,o,"sin",0,a,"sqrt",0,h,"tau",0,2*o])},104,77304,10489,10118,93866,72200,22914,t=>{"use strict";function i(t,i,e){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+i)/6,(t._y0+4*t._y1+e)/6)}function e(t){this._context=t}function n(t){return new e(t)}function s(){}function r(t){this._context=t}function a(t){this._context=t}e.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:i(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:i(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},t.s(["Basis",()=>e,"default",0,n,"point",()=>i],77304),t.s(["curveBasis",0,n],104),t.s(["default",0,s],10489),r.prototype={areaStart:s,areaEnd:s,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:i(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},t.s(["curveBasisClosed",0,function(t){return new r(t)}],10118),a.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t*=1,e*=1,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,s=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,s):this._context.moveTo(n,s);break;case 3:this._point=4;default:i(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},t.s(["curveBasisOpen",0,function(t){return new a(t)}],93866);class h{constructor(t,i){this._context=t,this._x=i}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,i){switch(t*=1,i*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,i):this._context.moveTo(t,i);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,i,t,i):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+i)/2,t,this._y0,t,i)}this._x0=t,this._y0=i}}function o(t){return new h(t,!0)}function _(t){return new h(t,!1)}t.s(["curveBumpX",()=>o],72200),t.s(["curveBumpY",()=>_],22914)},48114,t=>{"use strict";function i(t){this._context=t}i.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,i){switch(t*=1,i*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,i):this._context.moveTo(t,i);break;case 1:this._point=2;default:this._context.lineTo(t,i)}}},t.s(["default",0,function(t){return new i(t)}])},51262,21641,63823,92536,26619,81142,357,63018,t=>{"use strict";var i=t.i(48114);t.s(["curveLinear",()=>i.default],51262);var e=t.i(10489);function n(t){this._context=t}n.prototype={areaStart:e.default,areaEnd:e.default,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,i){t*=1,i*=1,this._point?this._context.lineTo(t,i):(this._point=1,this._context.moveTo(t,i))}};function s(t,i,e){var n=t._x1-t._x0,s=i-t._x1,r=(t._y1-t._y0)/(n||s<0&&-0),a=(e-t._y1)/(s||n<0&&-0);return((r<0?-1:1)+(a<0?-1:1))*Math.min(Math.abs(r),Math.abs(a),.5*Math.abs((r*s+a*n)/(n+s)))||0}function r(t,i){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-i)/2:i}function a(t,i,e){var n=t._x0,s=t._y0,r=t._x1,a=t._y1,h=(r-n)/3;t._context.bezierCurveTo(n+h,s+h*i,r-h,a-h*e,r,a)}function h(t){this._context=t}function o(t){this._context=new _(t)}function _(t){this._context=t}function l(t){return new h(t)}function c(t){return new o(t)}function u(t){this._context=t}function f(t){var i,e,n=t.length-1,s=Array(n),r=Array(n),a=Array(n);for(s[0]=0,r[0]=2,a[0]=t[0]+2*t[1],i=1;i<n-1;++i)s[i]=1,r[i]=4,a[i]=4*t[i]+2*t[i+1];for(s[n-1]=2,r[n-1]=7,a[n-1]=8*t[n-1]+t[n],i=1;i<n;++i)e=s[i]/r[i-1],r[i]-=e,a[i]-=e*a[i-1];for(s[n-1]=a[n-1]/r[n-1],i=n-2;i>=0;--i)s[i]=(a[i]-s[i+1])/r[i];for(i=0,r[n-1]=(t[n]+s[n-1])/2;i<n-1;++i)r[i]=2*t[i+1]-s[i+1];return[s,r]}function x(t,i){this._context=t,this._t=i}function p(t){return new x(t,0)}function d(t){return new x(t,1)}t.s(["curveLinearClosed",0,function(t){return new n(t)}],21641),h.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:a(this,this._t0,r(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,i){var e=NaN;if(i*=1,(t*=1)!==this._x1||i!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,i):this._context.moveTo(t,i);break;case 1:this._point=2;break;case 2:this._point=3,a(this,r(this,e=s(this,t,i)),e);break;default:a(this,this._t0,e=s(this,t,i))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=i,this._t0=e}}},(o.prototype=Object.create(h.prototype)).point=function(t,i){h.prototype.point.call(this,i,t)},_.prototype={moveTo:function(t,i){this._context.moveTo(i,t)},closePath:function(){this._context.closePath()},lineTo:function(t,i){this._context.lineTo(i,t)},bezierCurveTo:function(t,i,e,n,s,r){this._context.bezierCurveTo(i,t,n,e,r,s)}},t.s(["curveMonotoneX",()=>l],63823),t.s(["curveMonotoneY",()=>c],92536),u.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,i=this._y,e=t.length;if(e)if(this._line?this._context.lineTo(t[0],i[0]):this._context.moveTo(t[0],i[0]),2===e)this._context.lineTo(t[1],i[1]);else for(var n=f(t),s=f(i),r=0,a=1;a<e;++r,++a)this._context.bezierCurveTo(n[0][r],s[0][r],n[1][r],s[1][r],t[a],i[a]);(this._line||0!==this._line&&1===e)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,i){this._x.push(+t),this._y.push(+i)}},t.s(["curveNatural",0,function(t){return new u(t)}],26619),x.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,i){switch(t*=1,i*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,i):this._context.moveTo(t,i);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,i),this._context.lineTo(t,i);else{var e=this._x*(1-this._t)+t*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,i)}}this._x=t,this._y=i}},t.s(["curveStep",0,function(t){return new x(t,.5)}],81142),t.s(["curveStepAfter",()=>d],357),t.s(["curveStepBefore",()=>p],63018)},48033,(t,i,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BLANK_URL=e.relativeFirstCharacters=e.whitespaceEscapeCharsRegex=e.urlSchemeRegex=e.ctrlCharactersRegex=e.htmlCtrlEntityRegex=e.htmlEntitiesRegex=e.invalidProtocolRegex=void 0,e.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im,e.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g,e.htmlCtrlEntityRegex=/&(newline|tab);/gi,e.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,e.urlSchemeRegex=/^.+(:|&colon;)/gim,e.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g,e.relativeFirstCharacters=[".","/"],e.BLANK_URL="about:blank"},39941,(t,i,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.sanitizeUrl=function(t){if(!t)return n.BLANK_URL;var i,e=s(t.trim());do i=(e=s(e=e.replace(n.ctrlCharactersRegex,"").replace(n.htmlEntitiesRegex,function(t,i){return String.fromCharCode(i)}).replace(n.htmlCtrlEntityRegex,"").replace(n.ctrlCharactersRegex,"").replace(n.whitespaceEscapeCharsRegex,"").trim())).match(n.ctrlCharactersRegex)||e.match(n.htmlEntitiesRegex)||e.match(n.htmlCtrlEntityRegex)||e.match(n.whitespaceEscapeCharsRegex);while(i&&i.length>0)var r=e;if(!r)return n.BLANK_URL;if(n.relativeFirstCharacters.indexOf(r[0])>-1)return r;var a=r.trimStart(),h=a.match(n.urlSchemeRegex);if(!h)return r;var o=h[0].toLowerCase().trim();if(n.invalidProtocolRegex.test(o))return n.BLANK_URL;var _=a.replace(/\\/g,"/");if("mailto:"===o||o.includes("://"))return _;if("http:"===o||"https:"===o){if(!URL.canParse(_))return n.BLANK_URL;var l=new URL(_);return l.protocol=l.protocol.toLowerCase(),l.hostname=l.hostname.toLowerCase(),l.toString()}return _};var n=t.r(48033);function s(t){try{return decodeURIComponent(t)}catch(i){return t}}},12826,26157,93158,64038,t=>{"use strict";var i,e=t.i(53088),n=t.i(71206),s=t.i(39941);t.i(47716);var r=t.i(104),a=t.i(10118),h=t.i(93866),o=t.i(72200),_=t.i(22914),l=t.i(77304);function c(t,i){this._basis=new l.Basis(t),this._beta=i}c.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,i=this._y,e=t.length-1;if(e>0)for(var n,s=t[0],r=i[0],a=t[e]-s,h=i[e]-r,o=-1;++o<=e;)n=o/e,this._basis.point(this._beta*t[o]+(1-this._beta)*(s+n*a),this._beta*i[o]+(1-this._beta)*(r+n*h));this._x=this._y=null,this._basis.lineEnd()},point:function(t,i){this._x.push(+t),this._y.push(+i)}};let u=function t(i){function e(t){return 1===i?new l.Basis(t):new c(t,i)}return e.beta=function(i){return t(+i)},e}(.85);var f=t.i(10489);function x(t,i,e){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-i),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function p(t,i){this._context=t,this._k=(1-i)/6}p.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:x(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,i){switch(t*=1,i*=1,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,i):this._context.moveTo(t,i);break;case 1:this._point=2,this._x1=t,this._y1=i;break;case 2:this._point=3;default:x(this,t,i)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=i}};let d=function t(i){function e(t){return new p(t,i)}return e.tension=function(i){return t(+i)},e}(0);function y(t,i){this._context=t,this._k=(1-i)/6}y.prototype={areaStart:f.default,areaEnd:f.default,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,i){switch(t*=1,i*=1,this._point){case 0:this._point=1,this._x3=t,this._y3=i;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=i);break;case 2:this._point=3,this._x5=t,this._y5=i;break;default:x(this,t,i)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=i}};let g=function t(i){function e(t){return new y(t,i)}return e.tension=function(i){return t(+i)},e}(0);function m(t,i){this._context=t,this._k=(1-i)/6}m.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,i){switch(t*=1,i*=1,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:x(this,t,i)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=i}};let v=function t(i){function e(t){return new m(t,i)}return e.tension=function(i){return t(+i)},e}(0);t.s(["curveCardinal",0,d],26157);var b=t.i(10199);function w(t,i,e){var n=t._x1,s=t._y1,r=t._x2,a=t._y2;if(t._l01_a>b.epsilon){var h=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,o=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*h-t._x0*t._l12_2a+t._x2*t._l01_2a)/o,s=(s*h-t._y0*t._l12_2a+t._y2*t._l01_2a)/o}if(t._l23_a>b.epsilon){var _=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,l=3*t._l23_a*(t._l23_a+t._l12_a);r=(r*_+t._x1*t._l23_2a-i*t._l12_2a)/l,a=(a*_+t._y1*t._l23_2a-e*t._l12_2a)/l}t._context.bezierCurveTo(n,s,r,a,t._x2,t._y2)}function N(t,i){this._context=t,this._alpha=i}N.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,i){if(t*=1,i*=1,this._point){var e=this._x2-t,n=this._y2-i;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,i):this._context.moveTo(t,i);break;case 1:this._point=2;break;case 2:this._point=3;default:w(this,t,i)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=i}};let k=function t(i){function e(t){return i?new N(t,i):new p(t,0)}return e.alpha=function(i){return t(+i)},e}(.5);function M(t,i){this._context=t,this._alpha=i}M.prototype={areaStart:f.default,areaEnd:f.default,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,i){if(t*=1,i*=1,this._point){var e=this._x2-t,n=this._y2-i;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=i;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=i);break;case 2:this._point=3,this._x5=t,this._y5=i;break;default:w(this,t,i)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=i}};let $=function t(i){function e(t){return i?new M(t,i):new y(t,0)}return e.alpha=function(i){return t(+i)},e}(.5);function T(t,i){this._context=t,this._alpha=i}T.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,i){if(t*=1,i*=1,this._point){var e=this._x2-t,n=this._y2-i;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:w(this,t,i)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=i}};let S=function t(i){function e(t){return i?new T(t,i):new m(t,0)}return e.alpha=function(i){return t(+i)},e}(.5);t.s(["curveCatmullRom",0,k],93158);var E=t.i(51262),C=t.i(21641),R=t.i(63823),P=t.i(92536),B=t.i(26619),A=t.i(81142),L=t.i(357),O=t.i(63018),z=t.i(23685),j=t.i(69288),F=t.i(97015),I=t.i(54677),H=t.i(8986);let D=function(t,i,e){(void 0===e||(0,H.default)(t[i],e))&&(void 0!==e||i in t)||(0,I.default)(t,i,e)};var U=t.i(40622),W=t.i(75416),q=t.i(5205),K=t.i(92045),X=t.i(51009),Y=t.i(15300),J=t.i(44071),V=t.i(13431),G=t.i(3745),Z=t.i(64929),Q=t.i(59110),tt=t.i(35287),ti=t.i(52865),te=t.i(63615),tn=Object.prototype,ts=Function.prototype.toString,tr=tn.hasOwnProperty,ta=ts.call(Object);let th=function(t){if(!(0,te.default)(t)||"[object Object]"!=(0,tt.default)(t))return!1;var i=(0,ti.default)(t);if(null===i)return!0;var e=tr.call(i,"constructor")&&i.constructor;return"function"==typeof e&&e instanceof e&&ts.call(e)==ta};var to=t.i(1645);let t_=function(t,i){if(("constructor"!==i||"function"!=typeof t[i])&&"__proto__"!=i)return t[i]};var tl=t.i(69286),tc=t.i(72585);let tu=function(t,i,e,n,s,r,a){var h=t_(t,e),o=t_(i,e),_=a.get(o);if(_)return void D(t,e,_);var l=r?r(h,o,e+"",t,i,a):void 0,c=void 0===l;if(c){var u=(0,J.default)(o),f=!u&&(0,G.default)(o),x=!u&&!f&&(0,to.default)(o);(l=o,u||f||x)?(0,J.default)(h)?l=h:(0,V.default)(h)?l=(0,K.default)(h):f?(c=!1,l=(0,W.default)(o,!0)):x?(c=!1,l=(0,q.default)(o,!0)):l=[]:th(o)||(0,Y.default)(o)?(l=h,(0,Y.default)(h))?l=(0,tl.default)(h,(0,tc.default)(h)):(!(0,Q.default)(h)||(0,Z.default)(h))&&(l=(0,X.default)(o)):c=!1}c&&(a.set(o,l),s(l,o,n,r,a),a.delete(o)),D(t,e,l)},tf=function t(i,e,n,s,r){i!==e&&(0,U.default)(e,function(a,h){if(r||(r=new F.default),(0,Q.default)(a))tu(i,e,h,n,t,s,r);else{var o=s?s(t_(i,h),a,h+"",i,e,r):void 0;void 0===o&&(o=a),D(i,h,o)}},tc.default)};var tx=(0,t.i(26770).default)(function(t,i,e){tf(t,i,e)});t.s(["default",0,tx],64038);var tp={curveBasis:r.curveBasis,curveBasisClosed:a.curveBasisClosed,curveBasisOpen:h.curveBasisOpen,curveBumpX:o.curveBumpX,curveBumpY:_.curveBumpY,curveBundle:u,curveCardinalClosed:g,curveCardinalOpen:v,curveCardinal:d,curveCatmullRomClosed:$,curveCatmullRomOpen:S,curveCatmullRom:k,curveLinear:E.curveLinear,curveLinearClosed:C.curveLinearClosed,curveMonotoneX:R.curveMonotoneX,curveMonotoneY:P.curveMonotoneY,curveNatural:B.curveNatural,curveStep:A.curveStep,curveStepAfter:L.curveStepAfter,curveStepBefore:O.curveStepBefore},td=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,ty=(0,n.__name)(function(t,i){let n=tg(t,/(?:init\b)|(?:initialize\b)/),s={};if(Array.isArray(n)){let t=n.map(t=>t.args);(0,e.sanitizeDirective)(t),s=(0,e.assignWithDepth_default)(s,[...t])}else s=n.args;if(!s)return;let r=(0,e.detectType)(t,i),a="config";return void 0!==s[a]&&("flowchart-v2"===r&&(r="flowchart"),s[r]=s[a],delete s[a]),s},"detectInit"),tg=(0,n.__name)(function(t,i=null){try{let s,r=RegExp(`[%]{2}(?![{]${td.source})(?=[}][%]{2}).*
2
+ `,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),n.log.debug(`Detecting diagram directive${null!==i?" type:"+i:""} based on the text:${t}`);let a=[];for(;null!==(s=e.directiveRegex.exec(t));)if(s.index===e.directiveRegex.lastIndex&&e.directiveRegex.lastIndex++,s&&!i||i&&s[1]?.match(i)||i&&s[2]?.match(i)){let t=s[1]?s[1]:s[2],i=s[3]?s[3].trim():s[4]?JSON.parse(s[4].trim()):null;a.push({type:t,args:i})}if(0===a.length)return{type:t,args:null};return 1===a.length?a[0]:a}catch(e){return n.log.error(`ERROR: ${e.message} - Unable to parse directive type: '${i}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),tm=(0,n.__name)(function(t){return t.replace(e.directiveRegex,"")},"removeDirectives"),tv=(0,n.__name)(function(t,i){for(let[e,n]of i.entries())if(n.match(t))return e;return -1},"isSubstringInArray");function tb(t,i){return t?tp[`curve${t.charAt(0).toUpperCase()+t.slice(1)}`]??i:i}function tw(t,i){let e=t.trim();if(e)return"loose"!==i.securityLevel?(0,s.sanitizeUrl)(e):e}(0,n.__name)(tb,"interpolateToCurve"),(0,n.__name)(tw,"formatUrl");var tN=(0,n.__name)((t,...i)=>{let e=t.split("."),s=e.length-1,r=e[s],a=window;for(let i=0;i<s;i++)if(!(a=a[e[i]]))return void n.log.error(`Function name: ${t} not found in window`);a[r](...i)},"runFunc");function tk(t,i){return t&&i?Math.sqrt(Math.pow(i.x-t.x,2)+Math.pow(i.y-t.y,2)):0}function tM(t){let i,e=0;return t.forEach(t=>{e+=tk(t,i),i=t}),tS(t,e/2)}function t$(t){return 1===t.length?t[0]:tM(t)}(0,n.__name)(tk,"distance"),(0,n.__name)(tM,"traverseEdge"),(0,n.__name)(t$,"calcLabelPosition");var tT=(0,n.__name)((t,i=2)=>{let e=Math.pow(10,i);return Math.round(t*e)/e},"roundNumber"),tS=(0,n.__name)((t,i)=>{let e,n=i;for(let i of t){if(e){let t=tk(i,e);if(0===t)return e;if(t<n)n-=t;else{let s=n/t;if(s<=0)return e;if(s>=1)return{x:i.x,y:i.y};if(s>0&&s<1)return{x:tT((1-s)*e.x+s*i.x,5),y:tT((1-s)*e.y+s*i.y,5)}}}e=i}throw Error("Could not find a suitable point for the given distance")},"calculatePoint"),tE=(0,n.__name)((t,i,e)=>{n.log.info(`our points ${JSON.stringify(i)}`),i[0]!==e&&(i=i.reverse());let s=tS(i,25),r=t?10:5,a=Math.atan2(i[0].y-s.y,i[0].x-s.x),h={x:0,y:0};return h.x=Math.sin(a)*r+(i[0].x+s.x)/2,h.y=-Math.cos(a)*r+(i[0].y+s.y)/2,h},"calcCardinalityPosition");function tC(t,i,e){let s=structuredClone(e);n.log.info("our points",s),"start_left"!==i&&"start_right"!==i&&s.reverse();let r=tS(s,25+t),a=10+.5*t,h=Math.atan2(s[0].y-r.y,s[0].x-r.x),o={x:0,y:0};return"start_left"===i?(o.x=Math.sin(h+Math.PI)*a+(s[0].x+r.x)/2,o.y=-Math.cos(h+Math.PI)*a+(s[0].y+r.y)/2):"end_right"===i?(o.x=Math.sin(h-Math.PI)*a+(s[0].x+r.x)/2-5,o.y=-Math.cos(h-Math.PI)*a+(s[0].y+r.y)/2-5):"end_left"===i?(o.x=Math.sin(h)*a+(s[0].x+r.x)/2-5,o.y=-Math.cos(h)*a+(s[0].y+r.y)/2-5):(o.x=Math.sin(h)*a+(s[0].x+r.x)/2,o.y=-Math.cos(h)*a+(s[0].y+r.y)/2),o}function tR(t){let i="",e="";for(let n of t)void 0!==n&&(n.startsWith("color:")||n.startsWith("text-align:")?e=e+n+";":i=i+n+";");return{style:i,labelStyle:e}}(0,n.__name)(tC,"calcTerminalLabelPosition"),(0,n.__name)(tR,"getStylesFromArray");var tP=0,tB=(0,n.__name)(()=>(tP++,"id-"+Math.random().toString(36).substr(2,12)+"-"+tP),"generateId");function tA(t){let i="",e="0123456789abcdef",n=e.length;for(let s=0;s<t;s++)i+=e.charAt(Math.floor(Math.random()*n));return i}(0,n.__name)(tA,"makeRandomHex");var tL=(0,n.__name)(t=>tA(t.length),"random"),tO=(0,n.__name)(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),tz=(0,n.__name)(function(t,i){let n=i.text.replace(e.common_default.lineBreakRegex," "),[,s]=tX(i.fontSize),r=t.append("text");r.attr("x",i.x),r.attr("y",i.y),r.style("text-anchor",i.anchor),r.style("font-family",i.fontFamily),r.style("font-size",s),r.style("font-weight",i.fontWeight),r.attr("fill",i.fill),void 0!==i.class&&r.attr("class",i.class);let a=r.append("tspan");return a.attr("x",i.x+2*i.textMargin),a.attr("fill",i.fill),a.text(n),r},"drawSimpleText"),tj=(0,j.default)((t,i,n)=>{if(!t||(n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},n),e.common_default.lineBreakRegex.test(t)))return t;let s=t.split(" ").filter(Boolean),r=[],a="";return s.forEach((t,e)=>{let h=tH(`${t} `,n),o=tH(a,n);if(h>i){let{hyphenatedStrings:e,remainingWord:s}=tF(t,i,"-",n);r.push(a,...e),a=s}else o+h>=i?(r.push(a),a=t):a=[a,t].filter(Boolean).join(" ");e+1===s.length&&r.push(a)}),r.filter(t=>""!==t).join(n.joinWith)},(t,i,e)=>`${t}${i}${e.fontSize}${e.fontWeight}${e.fontFamily}${e.joinWith}`),tF=(0,j.default)((t,i,e="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);let s=[...t],r=[],a="";return s.forEach((t,h)=>{let o=`${a}${t}`;if(tH(o,n)>=i){let t=s.length===h+1,i=`${o}${e}`;r.push(t?o:i),a=""}else a=o}),{hyphenatedStrings:r,remainingWord:a}},(t,i,e="-",n)=>`${t}${i}${e}${n.fontSize}${n.fontWeight}${n.fontFamily}`);function tI(t,i){return tD(t,i).height}function tH(t,i){return tD(t,i).width}(0,n.__name)(tI,"calculateTextHeight"),(0,n.__name)(tH,"calculateTextWidth");var tD=(0,j.default)((t,i)=>{let{fontSize:n=12,fontFamily:s="Arial",fontWeight:r=400}=i;if(!t)return{width:0,height:0};let[,a]=tX(n),h=t.split(e.common_default.lineBreakRegex),o=[],_=(0,z.select)("body");if(!_.remove)return{width:0,height:0,lineHeight:0};let l=_.append("svg");for(let t of["sans-serif",s]){let i=0,e={width:0,height:0,lineHeight:0};for(let n of h){let s=tO();s.text=n||"​";let h=tz(l,s).style("font-size",a).style("font-weight",r).style("font-family",t),o=(h._groups||h)[0][0].getBBox();if(0===o.width&&0===o.height)throw Error("svg element not in render tree");e.width=Math.round(Math.max(e.width,o.width)),i=Math.round(o.height),e.height+=i,e.lineHeight=Math.round(Math.max(e.lineHeight,i))}o.push(e)}l.remove();let c=isNaN(o[1].height)||isNaN(o[1].width)||isNaN(o[1].lineHeight)||o[0].height>o[1].height&&o[0].width>o[1].width&&o[0].lineHeight>o[1].lineHeight?0:1;return o[c]},(t,i)=>`${t}${i.fontSize}${i.fontWeight}${i.fontFamily}`),tU=class{constructor(t=!1,i){this.count=0,this.count=i?i.length:0,this.next=t?()=>this.count++:()=>Date.now()}static{(0,n.__name)(this,"InitIDGenerator")}},tW=(0,n.__name)(function(t){return i=i||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),i.innerHTML=t,unescape(i.textContent)},"entityDecode");function tq(t){return"str"in t}(0,n.__name)(tq,"isDetailedError");var tK=(0,n.__name)((t,i,e,n)=>{if(!n)return;let s=t.node()?.getBBox();s&&t.append("text").text(n).attr("text-anchor","middle").attr("x",s.x+s.width/2).attr("y",-e).attr("class",i)},"insertTitle"),tX=(0,n.__name)(t=>{if("number"==typeof t)return[t,t+"px"];let i=parseInt(t??"",10);return Number.isNaN(i)?[void 0,void 0]:t===String(i)?[i,t+"px"]:[i,t]},"parseFontSize");function tY(t,i){return tx({},t,i)}(0,n.__name)(tY,"cleanAndMerge");var tJ={assignWithDepth:e.assignWithDepth_default,wrapLabel:tj,calculateTextHeight:tI,calculateTextWidth:tH,calculateTextDimensions:tD,cleanAndMerge:tY,detectInit:ty,detectDirective:tg,isSubstringInArray:tv,interpolateToCurve:tb,calcLabelPosition:t$,calcCardinalityPosition:tE,calcTerminalLabelPosition:tC,formatUrl:tw,getStylesFromArray:tR,generateId:tB,random:tL,runFunc:tN,entityDecode:tW,insertTitle:tK,isLabelCoordinateInPath:t0,parseFontSize:tX,InitIDGenerator:tU},tV=(0,n.__name)(function(t){let i=t;return(i=(i=i.replace(/style.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)})).replace(/classDef.*:\S*#.*;/g,function(t){return t.substring(0,t.length-1)})).replace(/#\w+;/g,function(t){let i=t.substring(1,t.length-1);return/^\+?\d+$/.test(i)?"fl°°"+i+"¶ß":"fl°"+i+"¶ß"})},"encodeEntities"),tG=(0,n.__name)(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),tZ=(0,n.__name)((t,i,{counter:e=0,prefix:n,suffix:s},r)=>r||`${n?`${n}_`:""}${t}_${i}_${e}${s?`_${s}`:""}`,"getEdgeId");function tQ(t){return t??null}function t0(t,i){let e=Math.round(t.x),n=Math.round(t.y),s=i.replace(/(\d+\.\d+)/g,t=>Math.round(parseFloat(t)).toString());return s.includes(e.toString())||s.includes(n.toString())}(0,n.__name)(tQ,"handleUndefinedAttr"),(0,n.__name)(t0,"isLabelCoordinateInPath"),t.s(["ZERO_WIDTH_SPACE",()=>"​","calculateTextHeight",()=>tI,"calculateTextWidth",()=>tH,"cleanAndMerge",()=>tY,"decodeEntities",()=>tG,"encodeEntities",()=>tV,"generateId",()=>tB,"getEdgeId",()=>tZ,"getStylesFromArray",()=>tR,"handleUndefinedAttr",()=>tQ,"interpolateToCurve",()=>tb,"isDetailedError",()=>tq,"parseFontSize",()=>tX,"random",()=>tL,"removeDirectives",()=>tm,"utils_default",()=>tJ,"wrapLabel",()=>tj],12826)}]);
@@ -0,0 +1 @@
1
+ :root{--background:#f8fafc;--foreground:#1e293b;--card-bg:#fff;--card-border:#94a3b840;--primary:#2563eb;--primary-hover:#1d4ed8;--secondary:#7c3aed;--accent:#db2777;--success:#16a34a;--warning:#d97706;--error:#dc2626;--border:#e2e8f0;--border-dark:#cbd5e1;--input-bg:#fff;--input-border:#cbd5e1;--code-block-bg:#f1f5f9;--table-border:#e2e8f0;--table-row-border:#f1f5f9;--dropdown-bg:#fff;--dropdown-border:#e2e8f0;--shadow-color:#0000001a;--foreground-secondary:#64748b;--foreground-muted:#94a3b8;--background-secondary:#f1f5f9}[data-theme=dark]{--background:#0f172a;--foreground:#f8fafc;--card-bg:#1e293bb3;--card-border:#94a3b81a;--primary:#38bdf8;--primary-hover:#7dd3fc;--secondary:#818cf8;--accent:#f472b6;--success:#4ade80;--warning:#fbbf24;--error:#f87171;--border:#334155;--border-dark:#475569;--input-bg:#0f172a;--input-border:#334155;--code-block-bg:#1e293b;--table-border:#334155;--table-row-border:#1e293b;--dropdown-bg:#1e293b;--dropdown-border:#334155;--shadow-color:#00000080;--foreground-secondary:#94a3b8;--foreground-muted:#64748b;--background-secondary:#1e293b}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;transition:background-color .3s,color .3s}*{box-sizing:border-box}.dashboard-container{max-width:1600px;margin:0 auto;padding:2rem}.header{border-bottom:1px solid var(--card-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}.title-group h1{background:linear-gradient(to right,var(--primary),var(--secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:2.5rem;font-weight:800}.subtitle{color:var(--foreground-secondary);margin-top:.5rem;font-size:1.1rem}.controls{align-items:center;gap:1rem;display:flex}select{background:var(--input-bg);color:var(--foreground);border:1px solid var(--input-border);cursor:pointer;border-radius:.5rem;outline:none;padding:.5rem 1rem;font-size:.875rem;transition:all .2s}select:focus{border-color:var(--primary)}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.analysis-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.card{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--card-border);border-radius:1rem;flex-direction:column;padding:1.5rem;transition:transform .2s,box-shadow .2s,background-color .3s;display:flex}.card:hover{box-shadow:0 10px 30px -10px var(--shadow-color);transform:translateY(-2px)}.card-title{color:var(--foreground-secondary);justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:1.1rem;font-weight:600;display:flex}.stat-value{color:var(--foreground);font-size:2rem;font-weight:700}.stat-sub{color:var(--foreground-muted);margin-top:.25rem;font-size:.875rem}.chart-container{flex:1;width:100%;height:350px}.table-container{overflow-x:auto}table{border-collapse:collapse;width:100%;margin-top:1rem}th,td{text-align:left;border-bottom:1px solid var(--table-border);padding:1rem}th{color:var(--foreground-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}tr:last-child td{border-bottom:none}tr{border-bottom:1px solid var(--table-row-border)}.tag{text-transform:uppercase;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.section-title{color:var(--foreground);align-items:center;gap:1rem;margin:3rem 0 1.5rem;font-size:1.5rem;font-weight:700;display:flex}.loading{height:50vh;color:var(--primary);justify-content:center;align-items:center;font-size:1.5rem;display:flex}.analysis-controls{background:var(--card-bg);border:1px solid var(--card-border);border-radius:1rem;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem;transition:background-color .3s;display:flex}.control-group{flex-direction:column;gap:.5rem;display:flex}.control-label{color:var(--foreground-secondary);text-transform:uppercase;font-size:.75rem;font-weight:600}.highlight-bad{color:var(--accent)}.highlight-good{color:var(--success)}.tab-btn{color:var(--foreground-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.5rem 1rem;font-size:1rem;transition:color .2s}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:700;transition:background .2s}.btn-primary:hover{background:var(--primary-hover)}.btn-sm{color:#fff;cursor:pointer;border:none;border-radius:4px;padding:4px 8px;font-size:.8rem;transition:background .2s}.btn-sm:hover{opacity:.8}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--background);border:1px solid var(--border);box-shadow:0 20px 25px -5px var(--shadow-color),0 10px 10px -5px var(--shadow-color);border-radius:12px;padding:2rem;transition:background-color .3s}input,textarea,select{background:var(--input-bg);border:1px solid var(--input-border);color:var(--foreground);border-radius:4px;padding:8px;transition:all .2s}input:focus,textarea:focus,select:focus{border-color:var(--primary);outline:none}.skill-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.skill-card{background:var(--card-bg);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid var(--card-border);border-radius:.75rem;flex-direction:column;height:100%;transition:all .2s;display:flex;overflow:hidden}.skill-card:hover{border-color:var(--border);box-shadow:0 10px 20px -5px var(--shadow-color);transform:translateY(-2px)}.skill-card-header{background:linear-gradient(to right,var(--background-secondary),transparent);border-bottom:1px solid var(--card-border);justify-content:space-between;align-items:flex-start;padding:1.25rem;display:flex}.skill-title{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;max-width:200px;margin:0 0 .5rem;font-size:1.125rem;font-weight:700;overflow:hidden}.skill-meta{align-items:center;gap:.75rem;display:flex}.skill-version-badge{color:var(--primary);background:#2563eb1a;border:1px solid #2563eb33;border-radius:4px;padding:.125rem .5rem;font-family:monospace;font-size:.75rem}[data-theme=dark] .skill-version-badge{background:#38bdf81a;border-color:#38bdf833}.skill-date{color:var(--foreground-muted);font-size:.75rem}.skill-icon{background:var(--background-secondary);border-radius:.5rem;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;font-size:1.5rem;display:flex}.skill-body{flex-direction:column;flex:1;gap:1rem;padding:1.25rem;display:flex}.skill-description{color:var(--foreground-secondary);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;height:4.5em;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.skill-tags{flex-wrap:wrap;gap:.5rem;display:flex}.skill-tag{background:var(--background-secondary);color:var(--foreground-secondary);border:1px solid var(--border);border-radius:9999px;padding:.2rem .5rem;font-size:.7rem}.skill-actions{background:var(--background-secondary);border-top:1px solid var(--card-border);gap:.75rem;padding:1rem;display:flex}.btn-manage{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:.5rem;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 6px -1px #2563eb4d}.btn-manage:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 6px 12px -2px #2563eb66}.btn-manage:active{transform:translateY(0)}.btn-delete{border:1px solid var(--border);width:2.8rem;color:var(--foreground-secondary);cursor:pointer;background:0 0;border-radius:.5rem;justify-content:center;align-items:center;font-size:1.1rem;transition:all .2s;display:flex}.btn-delete:hover{color:var(--error);background:#ef44441a;border-color:#ef444466}.modal-window-lg{background:var(--background);border:1px solid var(--border);width:900px;max-width:95vw;height:85vh;box-shadow:0 25px 50px -12px var(--shadow-color);border-radius:.75rem;flex-direction:column;transition:background-color .3s;display:flex;overflow:hidden}.modal-header-new{background:var(--background-secondary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-sync-banner{background:var(--background-secondary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.nav-tabs{border-bottom:1px solid var(--border);margin-bottom:1.5rem;display:flex}.nav-tab-item{color:var(--foreground-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s}.nav-tab-item:hover{color:var(--foreground)}.nav-tab-item.active{color:var(--primary);border-bottom-color:var(--primary)}.upload-card{border:2px dashed var(--border);text-align:center;background:var(--background-secondary);border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;transition:all .2s;display:flex}.upload-card:hover{border-color:var(--foreground-muted);background:var(--background-secondary)}.login-container{background:radial-gradient(circle at top center,var(--background-secondary)0%,var(--background)100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-box{width:100%;max-width:28rem;animation:.5s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-form{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 25px 50px -12px var(--shadow-color);border:1px solid var(--card-border);border-radius:1rem;padding:2.5rem;transition:background-color .3s}.login-label{color:var(--foreground);letter-spacing:.02em;margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:block}.login-input{box-shadow:inset 0 2px 4px 0 var(--shadow-color);appearance:none;border:1px solid var(--input-border);width:100%;color:var(--foreground);background:var(--input-bg);border-radius:.5rem;padding:.75rem 1rem;font-size:1rem;line-height:1.5;transition:all .2s}.login-input:focus{border-color:var(--primary);background:var(--input-bg);box-shadow:0 0 0 2px #2563eb26,inset 0 2px 4px 0 var(--shadow-color);outline:none}.login-btn{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;cursor:pointer;text-shadow:0 1px 2px #0000001a;width:100%;box-shadow:0 4px 6px -1px var(--shadow-color);border:none;border-radius:.5rem;margin-top:1rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:700;transition:all .2s}.login-btn:hover{opacity:.9;box-shadow:0 10px 15px -3px var(--shadow-color);transform:translateY(-1px)}.login-btn:active{transform:translateY(0)}.theme-toggle-btn{border:1px solid var(--border);background:var(--card-bg);width:36px;height:36px;color:var(--foreground);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:1.2rem;transition:all .2s;display:flex}.theme-toggle-btn:hover{background:var(--background-secondary);border-color:var(--primary)}.theme-toggle-btn:active{transform:scale(.95)}