agent-insight 0.5.2 → 0.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (852) hide show
  1. package/.env.example +6 -0
  2. package/.next/standalone/.next/BUILD_ID +1 -1
  3. package/.next/standalone/.next/app-path-routes-manifest.json +9 -0
  4. package/.next/standalone/.next/build-manifest.json +2 -2
  5. package/.next/standalone/.next/prerender-manifest.json +51 -3
  6. package/.next/standalone/.next/routes-manifest.json +60 -0
  7. package/.next/standalone/.next/server/app/(main)/accessconfig/channels/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(main)/accessconfig/health/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(main)/accessconfig/install/page.js.nft.json +1 -1
  10. package/.next/standalone/.next/server/app/(main)/accessconfig/install/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/(main)/accessconfig/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(main)/accessconfig/webhooks/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(main)/agents/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/(main)/agents/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(main)/dashboard/page.js.nft.json +1 -1
  16. package/.next/standalone/.next/server/app/(main)/dashboard/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/(main)/dataset/[id]/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/(main)/dataset/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(main)/eval/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/(main)/eval/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/(main)/eval/run/[runId]/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/trace/page.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/trace/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/(main)/eval/trajectory/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/(main)/evaluation/[id]/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/(main)/fault/page.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/(main)/fault/page_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/(main)/infra/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/(main)/infra/source/[id]/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/(main)/infra/sources/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/(main)/memory/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/(main)/metrics/evaluators/[id]/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/(main)/metrics/page.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/(main)/metrics/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/(main)/modelconfig/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/(main)/modelconfig/registry/page.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/(main)/modelconfig/registry/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/(main)/modelconfig/web-search/page.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/(main)/modelconfig/web-search/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/(main)/optapi/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/(main)/quality/page.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/(main)/quality/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/(main)/security/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/(main)/skill-eval/grayscale/page.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/(main)/skill-eval/grayscale/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/(main)/skill-eval/page.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/(main)/skill-eval/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/(main)/skill-eval/trigger/[skillName]/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/(main)/skill-generator/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/(main)/skill-history/page.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/(main)/skill-history/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/(main)/skill-opt/[name]/[version]/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/(main)/skill-opt/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/(main)/skill-release/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/(main)/skills/page.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/(main)/skills/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/.next/server/app/(main)/trace/page.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/(main)/trace/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/.next/server/app/(main)/version-analysis/page/app-paths-manifest.json +3 -0
  61. package/.next/standalone/.next/server/app/(main)/version-analysis/page/build-manifest.json +17 -0
  62. package/.next/standalone/.next/server/app/(main)/version-analysis/page/next-font-manifest.json +6 -0
  63. package/.next/standalone/.next/server/app/(main)/version-analysis/page/react-loadable-manifest.json +1 -0
  64. package/.next/standalone/.next/server/app/(main)/version-analysis/page/server-reference-manifest.json +4 -0
  65. package/.next/standalone/.next/server/app/(main)/version-analysis/page.js +17 -0
  66. package/.next/standalone/.next/server/app/(main)/version-analysis/page.js.map +5 -0
  67. package/.next/standalone/.next/server/app/(main)/version-analysis/page.js.nft.json +1 -0
  68. package/.next/standalone/.next/server/app/(main)/version-analysis/page_client-reference-manifest.js +2 -0
  69. package/.next/standalone/.next/server/app/(main)/version-management/page/app-paths-manifest.json +3 -0
  70. package/.next/standalone/.next/server/app/(main)/version-management/page/build-manifest.json +17 -0
  71. package/.next/standalone/.next/server/app/(main)/version-management/page/next-font-manifest.json +6 -0
  72. package/.next/standalone/.next/server/app/(main)/version-management/page/react-loadable-manifest.json +1 -0
  73. package/.next/standalone/.next/server/app/(main)/version-management/page/server-reference-manifest.json +4 -0
  74. package/.next/standalone/.next/server/app/(main)/version-management/page.js +17 -0
  75. package/.next/standalone/.next/server/app/(main)/version-management/page.js.map +5 -0
  76. package/.next/standalone/.next/server/app/(main)/version-management/page.js.nft.json +1 -0
  77. package/.next/standalone/.next/server/app/(main)/version-management/page_client-reference-manifest.js +2 -0
  78. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  79. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  80. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  81. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  82. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  83. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  84. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  85. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  87. package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
  88. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  89. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  90. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  91. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  92. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  93. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  94. package/.next/standalone/.next/server/app/accessconfig/channels.html +1 -1
  95. package/.next/standalone/.next/server/app/accessconfig/channels.rsc +5 -5
  96. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels/__PAGE__.segment.rsc +2 -2
  97. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels.segment.rsc +1 -1
  98. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  99. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p.segment.rsc +2 -2
  100. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_full.segment.rsc +5 -5
  101. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_head.segment.rsc +1 -1
  102. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_index.segment.rsc +3 -3
  103. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_tree.segment.rsc +2 -2
  104. package/.next/standalone/.next/server/app/accessconfig/health.html +1 -1
  105. package/.next/standalone/.next/server/app/accessconfig/health.rsc +5 -5
  106. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health/__PAGE__.segment.rsc +2 -2
  107. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health.segment.rsc +1 -1
  108. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  109. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p.segment.rsc +2 -2
  110. package/.next/standalone/.next/server/app/accessconfig/health.segments/_full.segment.rsc +5 -5
  111. package/.next/standalone/.next/server/app/accessconfig/health.segments/_head.segment.rsc +1 -1
  112. package/.next/standalone/.next/server/app/accessconfig/health.segments/_index.segment.rsc +3 -3
  113. package/.next/standalone/.next/server/app/accessconfig/health.segments/_tree.segment.rsc +2 -2
  114. package/.next/standalone/.next/server/app/accessconfig/install.html +2 -2
  115. package/.next/standalone/.next/server/app/accessconfig/install.rsc +5 -5
  116. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install/__PAGE__.segment.rsc +2 -2
  117. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install.segment.rsc +1 -1
  118. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  119. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p.segment.rsc +2 -2
  120. package/.next/standalone/.next/server/app/accessconfig/install.segments/_full.segment.rsc +5 -5
  121. package/.next/standalone/.next/server/app/accessconfig/install.segments/_head.segment.rsc +1 -1
  122. package/.next/standalone/.next/server/app/accessconfig/install.segments/_index.segment.rsc +3 -3
  123. package/.next/standalone/.next/server/app/accessconfig/install.segments/_tree.segment.rsc +2 -2
  124. package/.next/standalone/.next/server/app/accessconfig/webhooks.html +1 -1
  125. package/.next/standalone/.next/server/app/accessconfig/webhooks.rsc +5 -5
  126. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks/__PAGE__.segment.rsc +2 -2
  127. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks.segment.rsc +1 -1
  128. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  129. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p.segment.rsc +2 -2
  130. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_full.segment.rsc +5 -5
  131. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_head.segment.rsc +1 -1
  132. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_index.segment.rsc +3 -3
  133. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_tree.segment.rsc +2 -2
  134. package/.next/standalone/.next/server/app/accessconfig.html +1 -1
  135. package/.next/standalone/.next/server/app/accessconfig.rsc +4 -4
  136. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig/__PAGE__.segment.rsc +1 -1
  137. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  138. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p.segment.rsc +2 -2
  139. package/.next/standalone/.next/server/app/accessconfig.segments/_full.segment.rsc +4 -4
  140. package/.next/standalone/.next/server/app/accessconfig.segments/_head.segment.rsc +1 -1
  141. package/.next/standalone/.next/server/app/accessconfig.segments/_index.segment.rsc +3 -3
  142. package/.next/standalone/.next/server/app/accessconfig.segments/_tree.segment.rsc +2 -2
  143. package/.next/standalone/.next/server/app/agents.html +1 -1
  144. package/.next/standalone/.next/server/app/agents.rsc +5 -5
  145. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents/__PAGE__.segment.rsc +2 -2
  146. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents.segment.rsc +1 -1
  147. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p.segment.rsc +2 -2
  148. package/.next/standalone/.next/server/app/agents.segments/_full.segment.rsc +5 -5
  149. package/.next/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  150. package/.next/standalone/.next/server/app/agents.segments/_index.segment.rsc +3 -3
  151. package/.next/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  152. package/.next/standalone/.next/server/app/api/agent/run/route.js.nft.json +1 -1
  153. package/.next/standalone/.next/server/app/api/agent/stream/route.js.nft.json +1 -1
  154. package/.next/standalone/.next/server/app/api/agent-datasets/[id]/route.js.nft.json +1 -1
  155. package/.next/standalone/.next/server/app/api/agent-datasets/route.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/app/api/agents/[id]/route.js.nft.json +1 -1
  157. package/.next/standalone/.next/server/app/api/agents/route.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/app/api/auth/apikey/route.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/app/api/auth/organization/route.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/app/api/dashboard/stats/route.js.nft.json +1 -1
  161. package/.next/standalone/.next/server/app/api/debug/batch-tasks/[taskId]/route.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/app/api/debug/batch-tasks/route.js.nft.json +1 -1
  163. package/.next/standalone/.next/server/app/api/debug/execute/[jobId]/route.js.nft.json +1 -1
  164. package/.next/standalone/.next/server/app/api/debug/execute/route.js.nft.json +1 -1
  165. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/[taskId]/route.js +10 -10
  166. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/[taskId]/route.js.nft.json +1 -1
  167. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/route.js.nft.json +1 -1
  168. package/.next/standalone/.next/server/app/api/debug/history/[id]/route.js.nft.json +1 -1
  169. package/.next/standalone/.next/server/app/api/debug/history/route.js.nft.json +1 -1
  170. package/.next/standalone/.next/server/app/api/eval/config/backfill-routing/route.js +6 -6
  171. package/.next/standalone/.next/server/app/api/eval/config/backfill-routing/route.js.nft.json +1 -1
  172. package/.next/standalone/.next/server/app/api/eval/config/create/route.js.nft.json +1 -1
  173. package/.next/standalone/.next/server/app/api/eval/config/reparse/route.js.nft.json +1 -1
  174. package/.next/standalone/.next/server/app/api/eval/config/route.js +6 -6
  175. package/.next/standalone/.next/server/app/api/eval/config/route.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/app/api/eval/config/status/route.js.nft.json +1 -1
  177. package/.next/standalone/.next/server/app/api/eval/evaluation/route.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/app/api/eval/rejudge/route.js +6 -6
  179. package/.next/standalone/.next/server/app/api/eval/rejudge/route.js.nft.json +1 -1
  180. package/.next/standalone/.next/server/app/api/eval/settings/route.js.nft.json +1 -1
  181. package/.next/standalone/.next/server/app/api/eval/settings/test/route.js.nft.json +1 -1
  182. package/.next/standalone/.next/server/app/api/eval/terminate-all/route.js.nft.json +1 -1
  183. package/.next/standalone/.next/server/app/api/eval/trajectory/results/[id]/route.js.nft.json +1 -1
  184. package/.next/standalone/.next/server/app/api/eval/trajectory/results/route.js +5 -5
  185. package/.next/standalone/.next/server/app/api/eval/trajectory/results/route.js.nft.json +1 -1
  186. package/.next/standalone/.next/server/app/api/eval/trajectory/run/route.js +13 -13
  187. package/.next/standalone/.next/server/app/api/eval/trajectory/run/route.js.nft.json +1 -1
  188. package/.next/standalone/.next/server/app/api/eval/trajectory/runs/route.js.nft.json +1 -1
  189. package/.next/standalone/.next/server/app/api/evaluation/[id]/route.js.nft.json +1 -1
  190. package/.next/standalone/.next/server/app/api/evaluation/cancel/route.js.nft.json +1 -1
  191. package/.next/standalone/.next/server/app/api/fault/diagnosis/session/route.js.nft.json +1 -1
  192. package/.next/standalone/.next/server/app/api/fault/diagnosis/stream/route.js.nft.json +1 -1
  193. package/.next/standalone/.next/server/app/api/fleet/agent/route/app-paths-manifest.json +3 -0
  194. package/.next/standalone/.next/server/app/api/fleet/agent/route/build-manifest.json +11 -0
  195. package/.next/standalone/.next/server/app/api/fleet/agent/route/server-reference-manifest.json +4 -0
  196. package/.next/standalone/.next/server/app/api/fleet/agent/route.js +8 -0
  197. package/.next/standalone/.next/server/app/api/fleet/agent/route.js.map +5 -0
  198. package/.next/standalone/.next/server/app/api/fleet/agent/route.js.nft.json +1 -0
  199. package/.next/standalone/.next/server/app/api/fleet/agent/route_client-reference-manifest.js +2 -0
  200. package/.next/standalone/.next/server/app/api/fleet/breakdowns/route.js +1 -1
  201. package/.next/standalone/.next/server/app/api/fleet/breakdowns/route.js.nft.json +1 -1
  202. package/.next/standalone/.next/server/app/api/fleet/trends/route.js +2 -2
  203. package/.next/standalone/.next/server/app/api/fleet/trends/route.js.nft.json +1 -1
  204. package/.next/standalone/.next/server/app/api/guide/route.js.nft.json +1 -1
  205. package/.next/standalone/.next/server/app/api/ingest/opencode/session-complete/route.js +3 -3
  206. package/.next/standalone/.next/server/app/api/ingest/opencode/session-complete/route.js.nft.json +1 -1
  207. package/.next/standalone/.next/server/app/api/ingest/otel/v1/logs/route.js.nft.json +1 -1
  208. package/.next/standalone/.next/server/app/api/ingest/otel/v1/metrics/route.js.nft.json +1 -1
  209. package/.next/standalone/.next/server/app/api/ingest/otel/v1/traces/route.js +5 -5
  210. package/.next/standalone/.next/server/app/api/ingest/otel/v1/traces/route.js.nft.json +1 -1
  211. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/[...path]/route.js.nft.json +1 -1
  212. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/end/route.js +9 -9
  213. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/end/route.js.nft.json +1 -1
  214. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/start/route.js.nft.json +1 -1
  215. package/.next/standalone/.next/server/app/api/ingest/sync/manifest/route.js.nft.json +1 -1
  216. package/.next/standalone/.next/server/app/api/ingest/sync/opencode/route.js.nft.json +1 -1
  217. package/.next/standalone/.next/server/app/api/ingest/upload/route.js +8 -8
  218. package/.next/standalone/.next/server/app/api/ingest/upload/route.js.nft.json +1 -1
  219. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route/app-paths-manifest.json +3 -0
  220. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route/build-manifest.json +11 -0
  221. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route/server-reference-manifest.json +4 -0
  222. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route.js +8 -0
  223. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route.js.map +5 -0
  224. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route.js.nft.json +1 -0
  225. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route_client-reference-manifest.js +2 -0
  226. package/.next/standalone/.next/server/app/api/observe/data/route.js +3 -3
  227. package/.next/standalone/.next/server/app/api/observe/data/route.js.nft.json +1 -1
  228. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/route.js.nft.json +1 -1
  229. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/skills-analysis/route.js +13 -13
  230. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/skills-analysis/route.js.nft.json +1 -1
  231. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/analyze-match/route.js.nft.json +1 -1
  232. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/infra/route.js.nft.json +1 -1
  233. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route/app-paths-manifest.json +3 -0
  234. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route/build-manifest.json +11 -0
  235. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route/server-reference-manifest.json +4 -0
  236. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route.js +8 -0
  237. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route.js.map +5 -0
  238. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route.js.nft.json +1 -0
  239. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route_client-reference-manifest.js +2 -0
  240. package/.next/standalone/.next/server/app/api/observe/infra/history/route.js.nft.json +1 -1
  241. package/.next/standalone/.next/server/app/api/observe/infra/poll/route.js.nft.json +1 -1
  242. package/.next/standalone/.next/server/app/api/observe/infra/sources/derive/route.js.nft.json +1 -1
  243. package/.next/standalone/.next/server/app/api/observe/infra/sources/overview/route.js.nft.json +1 -1
  244. package/.next/standalone/.next/server/app/api/observe/infra/sources/route.js.nft.json +1 -1
  245. package/.next/standalone/.next/server/app/api/observe/infra/sources/sessions/route.js.nft.json +1 -1
  246. package/.next/standalone/.next/server/app/api/observe/infra/sources/test/route.js.nft.json +1 -1
  247. package/.next/standalone/.next/server/app/api/observe/session/route.js.nft.json +1 -1
  248. package/.next/standalone/.next/server/app/api/observe/task-stats/route.js +3 -3
  249. package/.next/standalone/.next/server/app/api/observe/task-stats/route.js.nft.json +1 -1
  250. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route/app-paths-manifest.json +3 -0
  251. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route/build-manifest.json +11 -0
  252. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route/server-reference-manifest.json +4 -0
  253. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route.js +8 -0
  254. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route.js.map +5 -0
  255. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route.js.nft.json +1 -0
  256. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route_client-reference-manifest.js +2 -0
  257. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route/app-paths-manifest.json +3 -0
  258. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route/build-manifest.json +11 -0
  259. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route/server-reference-manifest.json +4 -0
  260. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route.js +8 -0
  261. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route.js.map +5 -0
  262. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route.js.nft.json +1 -0
  263. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route_client-reference-manifest.js +2 -0
  264. package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route.js +5 -5
  265. package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route.js.nft.json +1 -1
  266. package/.next/standalone/.next/server/app/api/quality/agents/route.js +7 -7
  267. package/.next/standalone/.next/server/app/api/quality/agents/route.js.nft.json +1 -1
  268. package/.next/standalone/.next/server/app/api/quality/backfill/route.js.nft.json +1 -1
  269. package/.next/standalone/.next/server/app/api/quality/executions/route.js +7 -7
  270. package/.next/standalone/.next/server/app/api/quality/executions/route.js.nft.json +1 -1
  271. package/.next/standalone/.next/server/app/api/quality/report/route.js.nft.json +1 -1
  272. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/draft/route.js.nft.json +1 -1
  273. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/route.js.nft.json +1 -1
  274. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/[runId]/cancel/route.js.nft.json +1 -1
  275. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/route.js.nft.json +1 -1
  276. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/runs/route.js.nft.json +1 -1
  277. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/upload/route.js.nft.json +1 -1
  278. package/.next/standalone/.next/server/app/api/skill-generator/attachments/route.js.nft.json +1 -1
  279. package/.next/standalone/.next/server/app/api/skill-generator/chat/route.js.nft.json +1 -1
  280. package/.next/standalone/.next/server/app/api/skill-generator/download/[sessionId]/route.js.nft.json +1 -1
  281. package/.next/standalone/.next/server/app/api/skill-generator/files/content/route.js.nft.json +1 -1
  282. package/.next/standalone/.next/server/app/api/skill-generator/files/download/route.js.nft.json +1 -1
  283. package/.next/standalone/.next/server/app/api/skill-generator/files/info/route.js.nft.json +1 -1
  284. package/.next/standalone/.next/server/app/api/skill-generator/files/list/route.js.nft.json +1 -1
  285. package/.next/standalone/.next/server/app/api/skill-generator/sessions/[id]/route.js.nft.json +1 -1
  286. package/.next/standalone/.next/server/app/api/skill-generator/sessions/route.js.nft.json +1 -1
  287. package/.next/standalone/.next/server/app/api/skill-opt/chat/route.js.nft.json +1 -1
  288. package/.next/standalone/.next/server/app/api/skill-opt/plan/items/[id]/route.js.nft.json +1 -1
  289. package/.next/standalone/.next/server/app/api/skill-opt/plan/route.js.nft.json +1 -1
  290. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/iterations/[draftNumber]/apply/route.js.nft.json +1 -1
  291. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/iterations/route.js.nft.json +1 -1
  292. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/route.js.nft.json +1 -1
  293. package/.next/standalone/.next/server/app/api/skill-opt/sessions/route.js.nft.json +1 -1
  294. package/.next/standalone/.next/server/app/api/skills/[id]/activate/route.js.nft.json +1 -1
  295. package/.next/standalone/.next/server/app/api/skills/[id]/benchmark-generate/route.js +7 -7
  296. package/.next/standalone/.next/server/app/api/skills/[id]/benchmark-generate/route.js.nft.json +1 -1
  297. package/.next/standalone/.next/server/app/api/skills/[id]/runs/route.js +2 -2
  298. package/.next/standalone/.next/server/app/api/skills/[id]/runs/route.js.nft.json +1 -1
  299. package/.next/standalone/.next/server/app/api/skills/[id]/toggle/route.js.nft.json +1 -1
  300. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js.nft.json +1 -1
  301. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluate/route.js.nft.json +1 -1
  302. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluation-summary/route.js.nft.json +1 -1
  303. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/files/[...path]/route.js.nft.json +1 -1
  304. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js.nft.json +1 -1
  305. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js.nft.json +1 -1
  306. package/.next/standalone/.next/server/app/api/skills/[id]/versions/route.js.nft.json +1 -1
  307. package/.next/standalone/.next/server/app/api/skills/automation/import/route.js.nft.json +1 -1
  308. package/.next/standalone/.next/server/app/api/skills/automation/push/route.js.nft.json +1 -1
  309. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/analysis-diagnosis/route.js.nft.json +1 -1
  310. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/optimization-points/resolve/route.js.nft.json +1 -1
  311. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/optimization-points/route.js.nft.json +1 -1
  312. package/.next/standalone/.next/server/app/api/skills/by-name/route.js.nft.json +1 -1
  313. package/.next/standalone/.next/server/app/api/skills/logs/route.js +6 -6
  314. package/.next/standalone/.next/server/app/api/skills/logs/route.js.nft.json +1 -1
  315. package/.next/standalone/.next/server/app/api/skills/publish/route.js.nft.json +1 -1
  316. package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
  317. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js.nft.json +1 -1
  318. package/.next/standalone/.next/server/app/api/skills/upload/route.js.nft.json +1 -1
  319. package/.next/standalone/.next/server/app/api/tags/[id]/route/app-paths-manifest.json +3 -0
  320. package/.next/standalone/.next/server/app/api/tags/[id]/route/build-manifest.json +11 -0
  321. package/.next/standalone/.next/server/app/api/tags/[id]/route/server-reference-manifest.json +4 -0
  322. package/.next/standalone/.next/server/app/api/tags/[id]/route.js +8 -0
  323. package/.next/standalone/.next/server/app/api/tags/[id]/route.js.map +5 -0
  324. package/.next/standalone/.next/server/app/api/tags/[id]/route.js.nft.json +1 -0
  325. package/.next/standalone/.next/server/app/api/tags/[id]/route_client-reference-manifest.js +2 -0
  326. package/.next/standalone/.next/server/app/api/tags/route/app-paths-manifest.json +3 -0
  327. package/.next/standalone/.next/server/app/api/tags/route/build-manifest.json +11 -0
  328. package/.next/standalone/.next/server/app/api/tags/route/server-reference-manifest.json +4 -0
  329. package/.next/standalone/.next/server/app/api/tags/route.js +8 -0
  330. package/.next/standalone/.next/server/app/api/tags/route.js.map +5 -0
  331. package/.next/standalone/.next/server/app/api/tags/route.js.nft.json +1 -0
  332. package/.next/standalone/.next/server/app/api/tags/route_client-reference-manifest.js +2 -0
  333. package/.next/standalone/.next/server/app/api/user-evaluators/route.js.nft.json +1 -1
  334. package/.next/standalone/.next/server/app/dashboard.html +1 -1
  335. package/.next/standalone/.next/server/app/dashboard.rsc +5 -5
  336. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard/__PAGE__.segment.rsc +2 -2
  337. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard.segment.rsc +1 -1
  338. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p.segment.rsc +2 -2
  339. package/.next/standalone/.next/server/app/dashboard.segments/_full.segment.rsc +5 -5
  340. package/.next/standalone/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
  341. package/.next/standalone/.next/server/app/dashboard.segments/_index.segment.rsc +3 -3
  342. package/.next/standalone/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  343. package/.next/standalone/.next/server/app/dataset.html +1 -1
  344. package/.next/standalone/.next/server/app/dataset.rsc +5 -5
  345. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset/__PAGE__.segment.rsc +2 -2
  346. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset.segment.rsc +1 -1
  347. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p.segment.rsc +2 -2
  348. package/.next/standalone/.next/server/app/dataset.segments/_full.segment.rsc +5 -5
  349. package/.next/standalone/.next/server/app/dataset.segments/_head.segment.rsc +1 -1
  350. package/.next/standalone/.next/server/app/dataset.segments/_index.segment.rsc +3 -3
  351. package/.next/standalone/.next/server/app/dataset.segments/_tree.segment.rsc +2 -2
  352. package/.next/standalone/.next/server/app/eval/trajectory.html +1 -1
  353. package/.next/standalone/.next/server/app/eval/trajectory.rsc +5 -5
  354. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory/__PAGE__.segment.rsc +2 -2
  355. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory.segment.rsc +1 -1
  356. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval.segment.rsc +1 -1
  357. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p.segment.rsc +2 -2
  358. package/.next/standalone/.next/server/app/eval/trajectory.segments/_full.segment.rsc +5 -5
  359. package/.next/standalone/.next/server/app/eval/trajectory.segments/_head.segment.rsc +1 -1
  360. package/.next/standalone/.next/server/app/eval/trajectory.segments/_index.segment.rsc +3 -3
  361. package/.next/standalone/.next/server/app/eval/trajectory.segments/_tree.segment.rsc +2 -2
  362. package/.next/standalone/.next/server/app/eval.html +1 -1
  363. package/.next/standalone/.next/server/app/eval.rsc +5 -5
  364. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval/__PAGE__.segment.rsc +2 -2
  365. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval.segment.rsc +1 -1
  366. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p.segment.rsc +2 -2
  367. package/.next/standalone/.next/server/app/eval.segments/_full.segment.rsc +5 -5
  368. package/.next/standalone/.next/server/app/eval.segments/_head.segment.rsc +1 -1
  369. package/.next/standalone/.next/server/app/eval.segments/_index.segment.rsc +3 -3
  370. package/.next/standalone/.next/server/app/eval.segments/_tree.segment.rsc +2 -2
  371. package/.next/standalone/.next/server/app/fault.html +1 -1
  372. package/.next/standalone/.next/server/app/fault.rsc +5 -5
  373. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault/__PAGE__.segment.rsc +2 -2
  374. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault.segment.rsc +1 -1
  375. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p.segment.rsc +2 -2
  376. package/.next/standalone/.next/server/app/fault.segments/_full.segment.rsc +5 -5
  377. package/.next/standalone/.next/server/app/fault.segments/_head.segment.rsc +1 -1
  378. package/.next/standalone/.next/server/app/fault.segments/_index.segment.rsc +3 -3
  379. package/.next/standalone/.next/server/app/fault.segments/_tree.segment.rsc +2 -2
  380. package/.next/standalone/.next/server/app/index.html +1 -1
  381. package/.next/standalone/.next/server/app/index.rsc +3 -3
  382. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  383. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  384. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  385. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
  386. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  387. package/.next/standalone/.next/server/app/infra/sources.html +1 -1
  388. package/.next/standalone/.next/server/app/infra/sources.rsc +5 -5
  389. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra/sources/__PAGE__.segment.rsc +2 -2
  390. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra/sources.segment.rsc +1 -1
  391. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra.segment.rsc +1 -1
  392. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p.segment.rsc +2 -2
  393. package/.next/standalone/.next/server/app/infra/sources.segments/_full.segment.rsc +5 -5
  394. package/.next/standalone/.next/server/app/infra/sources.segments/_head.segment.rsc +1 -1
  395. package/.next/standalone/.next/server/app/infra/sources.segments/_index.segment.rsc +3 -3
  396. package/.next/standalone/.next/server/app/infra/sources.segments/_tree.segment.rsc +2 -2
  397. package/.next/standalone/.next/server/app/infra.html +1 -1
  398. package/.next/standalone/.next/server/app/infra.rsc +5 -5
  399. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p/infra/__PAGE__.segment.rsc +2 -2
  400. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p/infra.segment.rsc +1 -1
  401. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p.segment.rsc +2 -2
  402. package/.next/standalone/.next/server/app/infra.segments/_full.segment.rsc +5 -5
  403. package/.next/standalone/.next/server/app/infra.segments/_head.segment.rsc +1 -1
  404. package/.next/standalone/.next/server/app/infra.segments/_index.segment.rsc +3 -3
  405. package/.next/standalone/.next/server/app/infra.segments/_tree.segment.rsc +2 -2
  406. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  407. package/.next/standalone/.next/server/app/login.html +1 -1
  408. package/.next/standalone/.next/server/app/login.rsc +4 -4
  409. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +4 -4
  410. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  411. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +3 -3
  412. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  413. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  414. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  415. package/.next/standalone/.next/server/app/memory.html +1 -1
  416. package/.next/standalone/.next/server/app/memory.rsc +5 -5
  417. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory/__PAGE__.segment.rsc +2 -2
  418. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory.segment.rsc +1 -1
  419. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p.segment.rsc +2 -2
  420. package/.next/standalone/.next/server/app/memory.segments/_full.segment.rsc +5 -5
  421. package/.next/standalone/.next/server/app/memory.segments/_head.segment.rsc +1 -1
  422. package/.next/standalone/.next/server/app/memory.segments/_index.segment.rsc +3 -3
  423. package/.next/standalone/.next/server/app/memory.segments/_tree.segment.rsc +2 -2
  424. package/.next/standalone/.next/server/app/metrics.html +1 -1
  425. package/.next/standalone/.next/server/app/metrics.rsc +5 -5
  426. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics/__PAGE__.segment.rsc +2 -2
  427. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics.segment.rsc +1 -1
  428. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p.segment.rsc +2 -2
  429. package/.next/standalone/.next/server/app/metrics.segments/_full.segment.rsc +5 -5
  430. package/.next/standalone/.next/server/app/metrics.segments/_head.segment.rsc +1 -1
  431. package/.next/standalone/.next/server/app/metrics.segments/_index.segment.rsc +3 -3
  432. package/.next/standalone/.next/server/app/metrics.segments/_tree.segment.rsc +2 -2
  433. package/.next/standalone/.next/server/app/modelconfig/registry.html +1 -1
  434. package/.next/standalone/.next/server/app/modelconfig/registry.rsc +5 -5
  435. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry/__PAGE__.segment.rsc +2 -2
  436. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry.segment.rsc +1 -1
  437. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  438. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p.segment.rsc +2 -2
  439. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_full.segment.rsc +5 -5
  440. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_head.segment.rsc +1 -1
  441. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_index.segment.rsc +3 -3
  442. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_tree.segment.rsc +2 -2
  443. package/.next/standalone/.next/server/app/modelconfig/web-search.html +1 -1
  444. package/.next/standalone/.next/server/app/modelconfig/web-search.rsc +5 -5
  445. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search/__PAGE__.segment.rsc +2 -2
  446. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search.segment.rsc +1 -1
  447. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  448. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p.segment.rsc +2 -2
  449. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_full.segment.rsc +5 -5
  450. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_head.segment.rsc +1 -1
  451. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_index.segment.rsc +3 -3
  452. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_tree.segment.rsc +2 -2
  453. package/.next/standalone/.next/server/app/modelconfig.html +1 -1
  454. package/.next/standalone/.next/server/app/modelconfig.rsc +4 -4
  455. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig/__PAGE__.segment.rsc +1 -1
  456. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  457. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p.segment.rsc +2 -2
  458. package/.next/standalone/.next/server/app/modelconfig.segments/_full.segment.rsc +4 -4
  459. package/.next/standalone/.next/server/app/modelconfig.segments/_head.segment.rsc +1 -1
  460. package/.next/standalone/.next/server/app/modelconfig.segments/_index.segment.rsc +3 -3
  461. package/.next/standalone/.next/server/app/modelconfig.segments/_tree.segment.rsc +2 -2
  462. package/.next/standalone/.next/server/app/optapi.html +1 -1
  463. package/.next/standalone/.next/server/app/optapi.rsc +5 -5
  464. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi/__PAGE__.segment.rsc +2 -2
  465. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi.segment.rsc +1 -1
  466. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p.segment.rsc +2 -2
  467. package/.next/standalone/.next/server/app/optapi.segments/_full.segment.rsc +5 -5
  468. package/.next/standalone/.next/server/app/optapi.segments/_head.segment.rsc +1 -1
  469. package/.next/standalone/.next/server/app/optapi.segments/_index.segment.rsc +3 -3
  470. package/.next/standalone/.next/server/app/optapi.segments/_tree.segment.rsc +2 -2
  471. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  472. package/.next/standalone/.next/server/app/quality.html +1 -1
  473. package/.next/standalone/.next/server/app/quality.rsc +5 -5
  474. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality/__PAGE__.segment.rsc +2 -2
  475. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality.segment.rsc +1 -1
  476. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p.segment.rsc +2 -2
  477. package/.next/standalone/.next/server/app/quality.segments/_full.segment.rsc +5 -5
  478. package/.next/standalone/.next/server/app/quality.segments/_head.segment.rsc +1 -1
  479. package/.next/standalone/.next/server/app/quality.segments/_index.segment.rsc +3 -3
  480. package/.next/standalone/.next/server/app/quality.segments/_tree.segment.rsc +2 -2
  481. package/.next/standalone/.next/server/app/security.html +1 -1
  482. package/.next/standalone/.next/server/app/security.rsc +5 -5
  483. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security/__PAGE__.segment.rsc +2 -2
  484. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security.segment.rsc +1 -1
  485. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p.segment.rsc +2 -2
  486. package/.next/standalone/.next/server/app/security.segments/_full.segment.rsc +5 -5
  487. package/.next/standalone/.next/server/app/security.segments/_head.segment.rsc +1 -1
  488. package/.next/standalone/.next/server/app/security.segments/_index.segment.rsc +3 -3
  489. package/.next/standalone/.next/server/app/security.segments/_tree.segment.rsc +2 -2
  490. package/.next/standalone/.next/server/app/skill-detail/page_client-reference-manifest.js +1 -1
  491. package/.next/standalone/.next/server/app/skill-detail.html +1 -1
  492. package/.next/standalone/.next/server/app/skill-detail.rsc +4 -4
  493. package/.next/standalone/.next/server/app/skill-detail.segments/_full.segment.rsc +4 -4
  494. package/.next/standalone/.next/server/app/skill-detail.segments/_head.segment.rsc +1 -1
  495. package/.next/standalone/.next/server/app/skill-detail.segments/_index.segment.rsc +3 -3
  496. package/.next/standalone/.next/server/app/skill-detail.segments/_tree.segment.rsc +2 -2
  497. package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail/__PAGE__.segment.rsc +2 -2
  498. package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail.segment.rsc +1 -1
  499. package/.next/standalone/.next/server/app/skill-eval/grayscale.html +2 -2
  500. package/.next/standalone/.next/server/app/skill-eval/grayscale.rsc +6 -6
  501. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale/__PAGE__.segment.rsc +2 -2
  502. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale.segment.rsc +1 -1
  503. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
  504. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p.segment.rsc +2 -2
  505. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_full.segment.rsc +6 -6
  506. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_head.segment.rsc +1 -1
  507. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_index.segment.rsc +3 -3
  508. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_tree.segment.rsc +2 -2
  509. package/.next/standalone/.next/server/app/skill-eval.html +1 -1
  510. package/.next/standalone/.next/server/app/skill-eval.rsc +6 -6
  511. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval/__PAGE__.segment.rsc +2 -2
  512. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
  513. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p.segment.rsc +2 -2
  514. package/.next/standalone/.next/server/app/skill-eval.segments/_full.segment.rsc +6 -6
  515. package/.next/standalone/.next/server/app/skill-eval.segments/_head.segment.rsc +1 -1
  516. package/.next/standalone/.next/server/app/skill-eval.segments/_index.segment.rsc +3 -3
  517. package/.next/standalone/.next/server/app/skill-eval.segments/_tree.segment.rsc +2 -2
  518. package/.next/standalone/.next/server/app/skill-generator.html +1 -1
  519. package/.next/standalone/.next/server/app/skill-generator.rsc +5 -5
  520. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator/__PAGE__.segment.rsc +2 -2
  521. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator.segment.rsc +1 -1
  522. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p.segment.rsc +2 -2
  523. package/.next/standalone/.next/server/app/skill-generator.segments/_full.segment.rsc +5 -5
  524. package/.next/standalone/.next/server/app/skill-generator.segments/_head.segment.rsc +1 -1
  525. package/.next/standalone/.next/server/app/skill-generator.segments/_index.segment.rsc +3 -3
  526. package/.next/standalone/.next/server/app/skill-generator.segments/_tree.segment.rsc +2 -2
  527. package/.next/standalone/.next/server/app/skill-history.html +1 -1
  528. package/.next/standalone/.next/server/app/skill-history.rsc +6 -6
  529. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history/__PAGE__.segment.rsc +2 -2
  530. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history.segment.rsc +1 -1
  531. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p.segment.rsc +2 -2
  532. package/.next/standalone/.next/server/app/skill-history.segments/_full.segment.rsc +6 -6
  533. package/.next/standalone/.next/server/app/skill-history.segments/_head.segment.rsc +1 -1
  534. package/.next/standalone/.next/server/app/skill-history.segments/_index.segment.rsc +3 -3
  535. package/.next/standalone/.next/server/app/skill-history.segments/_tree.segment.rsc +2 -2
  536. package/.next/standalone/.next/server/app/skill-opt.html +1 -1
  537. package/.next/standalone/.next/server/app/skill-opt.rsc +5 -5
  538. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt/__PAGE__.segment.rsc +2 -2
  539. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt.segment.rsc +1 -1
  540. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p.segment.rsc +2 -2
  541. package/.next/standalone/.next/server/app/skill-opt.segments/_full.segment.rsc +5 -5
  542. package/.next/standalone/.next/server/app/skill-opt.segments/_head.segment.rsc +1 -1
  543. package/.next/standalone/.next/server/app/skill-opt.segments/_index.segment.rsc +3 -3
  544. package/.next/standalone/.next/server/app/skill-opt.segments/_tree.segment.rsc +2 -2
  545. package/.next/standalone/.next/server/app/skill-release.html +1 -1
  546. package/.next/standalone/.next/server/app/skill-release.rsc +5 -5
  547. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release/__PAGE__.segment.rsc +2 -2
  548. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release.segment.rsc +1 -1
  549. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p.segment.rsc +2 -2
  550. package/.next/standalone/.next/server/app/skill-release.segments/_full.segment.rsc +5 -5
  551. package/.next/standalone/.next/server/app/skill-release.segments/_head.segment.rsc +1 -1
  552. package/.next/standalone/.next/server/app/skill-release.segments/_index.segment.rsc +3 -3
  553. package/.next/standalone/.next/server/app/skill-release.segments/_tree.segment.rsc +2 -2
  554. package/.next/standalone/.next/server/app/skills.html +1 -1
  555. package/.next/standalone/.next/server/app/skills.rsc +5 -5
  556. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills/__PAGE__.segment.rsc +2 -2
  557. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills.segment.rsc +1 -1
  558. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p.segment.rsc +2 -2
  559. package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +5 -5
  560. package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  561. package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +3 -3
  562. package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  563. package/.next/standalone/.next/server/app/trace.html +1 -1
  564. package/.next/standalone/.next/server/app/trace.rsc +8 -8
  565. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace/__PAGE__.segment.rsc +2 -2
  566. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace.segment.rsc +1 -1
  567. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p.segment.rsc +2 -2
  568. package/.next/standalone/.next/server/app/trace.segments/_full.segment.rsc +8 -8
  569. package/.next/standalone/.next/server/app/trace.segments/_head.segment.rsc +1 -1
  570. package/.next/standalone/.next/server/app/trace.segments/_index.segment.rsc +3 -3
  571. package/.next/standalone/.next/server/app/trace.segments/_tree.segment.rsc +2 -2
  572. package/.next/standalone/.next/server/app/version-analysis.html +1 -0
  573. package/.next/standalone/.next/server/app/version-analysis.meta +16 -0
  574. package/.next/standalone/.next/server/app/version-analysis.rsc +23 -0
  575. package/.next/standalone/.next/server/app/version-analysis.segments/!KG1haW4p/version-analysis/__PAGE__.segment.rsc +9 -0
  576. package/.next/standalone/.next/server/app/version-analysis.segments/!KG1haW4p/version-analysis.segment.rsc +4 -0
  577. package/.next/standalone/.next/server/app/version-analysis.segments/!KG1haW4p.segment.rsc +7 -0
  578. package/.next/standalone/.next/server/app/version-analysis.segments/_full.segment.rsc +23 -0
  579. package/.next/standalone/.next/server/app/version-analysis.segments/_head.segment.rsc +6 -0
  580. package/.next/standalone/.next/server/app/version-analysis.segments/_index.segment.rsc +6 -0
  581. package/.next/standalone/.next/server/app/version-analysis.segments/_tree.segment.rsc +2 -0
  582. package/.next/standalone/.next/server/app/version-management.html +1 -0
  583. package/.next/standalone/.next/server/app/version-management.meta +16 -0
  584. package/.next/standalone/.next/server/app/version-management.rsc +22 -0
  585. package/.next/standalone/.next/server/app/version-management.segments/!KG1haW4p/version-management/__PAGE__.segment.rsc +9 -0
  586. package/.next/standalone/.next/server/app/version-management.segments/!KG1haW4p/version-management.segment.rsc +4 -0
  587. package/.next/standalone/.next/server/app/version-management.segments/!KG1haW4p.segment.rsc +7 -0
  588. package/.next/standalone/.next/server/app/version-management.segments/_full.segment.rsc +22 -0
  589. package/.next/standalone/.next/server/app/version-management.segments/_head.segment.rsc +6 -0
  590. package/.next/standalone/.next/server/app/version-management.segments/_index.segment.rsc +6 -0
  591. package/.next/standalone/.next/server/app/version-management.segments/_tree.segment.rsc +2 -0
  592. package/.next/standalone/.next/server/app-paths-manifest.json +9 -0
  593. package/.next/standalone/.next/server/chunks/[root-of-the-server]__096d00c3._.js +3 -0
  594. package/.next/standalone/.next/server/chunks/[root-of-the-server]__28078c4e._.js +1 -1
  595. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4509f30c._.js +1 -1
  596. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5386e9b4._.js +22 -0
  597. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5cb21a03._.js +3 -0
  598. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6fe0c73e._.js +1 -1
  599. package/.next/standalone/.next/server/chunks/[root-of-the-server]__88e070f0._.js +1 -1
  600. package/.next/standalone/.next/server/chunks/[root-of-the-server]__98ce63c7._.js +1 -1
  601. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9f6a4627._.js +1 -1
  602. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b0d1e6e5._.js +22 -0
  603. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c60fa3da._.js +22 -0
  604. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c875b500._.js +3 -0
  605. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c8b9af98._.js +1 -1
  606. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cfcf074d._.js +3 -0
  607. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d754b2c2._.js +3 -0
  608. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e60b9568._.js +22 -0
  609. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e8b9c639._.js +22 -0
  610. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f30eea21._.js +3 -0
  611. package/.next/standalone/.next/server/chunks/_05c80664._.js +1 -1
  612. package/.next/standalone/.next/server/chunks/_0ce5f29d._.js +1 -1
  613. package/.next/standalone/.next/server/chunks/_0e34c123._.js +3 -3
  614. package/.next/standalone/.next/server/chunks/_1c2f3589._.js +1 -1
  615. package/.next/standalone/.next/server/chunks/{_1a32fa23._.js → _5090183e._.js} +2 -2
  616. package/.next/standalone/.next/server/chunks/{_e84c3e5f._.js → _6a203624._.js} +1 -1
  617. package/.next/standalone/.next/server/chunks/{_a0074544._.js → _70b9b972._.js} +1 -1
  618. package/.next/standalone/.next/server/chunks/_78c6471e._.js +1 -1
  619. package/.next/standalone/.next/server/chunks/_adf9e9c5._.js +1 -1
  620. package/.next/standalone/.next/server/chunks/_b172b746._.js +3 -3
  621. package/.next/standalone/.next/server/chunks/_cfa898f4._.js +1 -1
  622. package/.next/standalone/.next/server/chunks/{_547fcde4._.js → _d02fac80._.js} +2 -2
  623. package/.next/standalone/.next/server/chunks/_d043f698._.js +1 -1
  624. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_fleet_agent_route_actions_b98e2c99.js +3 -0
  625. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_modelconfig_pricing_route_actions_bca6856d.js +3 -0
  626. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_tags_[id]_route_actions_a6f8b324.js +3 -0
  627. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_tags_route_actions_caf13f5f.js +3 -0
  628. package/.next/standalone/.next/server/chunks/bec2d_app_api_observe_version-analysis_tags_[tagId]_traces_route_actions_ff37f2d3.js +3 -0
  629. package/.next/standalone/.next/server/chunks/ce889_server_app_api_observe_executions_[executionId]_tags_route_actions_08aa41a4.js +3 -0
  630. package/.next/standalone/.next/server/chunks/ce889_server_app_api_observe_version-analysis_compare_route_actions_b48ab573.js +3 -0
  631. package/.next/standalone/.next/server/chunks/src_lib_266d6cf4._.js +51 -0
  632. package/.next/standalone/.next/server/chunks/src_lib_5d95b500._.js +3 -0
  633. package/.next/standalone/.next/server/chunks/src_lib_67530201._.js +51 -0
  634. package/.next/standalone/.next/server/chunks/src_lib_9513f84d._.js +48 -0
  635. package/.next/standalone/.next/server/chunks/src_lib_9d09752c._.js +1 -1
  636. package/.next/standalone/.next/server/chunks/src_lib_a03a423b._.js +48 -0
  637. package/.next/standalone/.next/server/chunks/src_lib_a2a34aa6._.js +1 -1
  638. package/.next/standalone/.next/server/chunks/{src_lib_4751db31._.js → src_lib_dc72b90b._.js} +1 -1
  639. package/.next/standalone/.next/server/chunks/src_lib_ea85a447._.js +1 -1
  640. package/.next/standalone/.next/server/chunks/src_lib_engine_general-agent_970b1dfe._.js +2 -2
  641. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0eb5d21d._.js +3 -0
  642. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__83687057._.js +3 -0
  643. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__85e7edfe._.js +3 -0
  644. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__b8d3d1c3._.js +8 -0
  645. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__c69baa4a._.js +3 -0
  646. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__f82e551e._.js +3 -0
  647. package/.next/standalone/.next/server/chunks/ssr/_051b1443._.js +3 -0
  648. package/.next/standalone/.next/server/chunks/ssr/_0ae78458._.js +3 -0
  649. package/.next/standalone/.next/server/chunks/ssr/{_400d0da3._.js → _1278164d._.js} +2 -2
  650. package/.next/standalone/.next/server/chunks/ssr/_15e714f2._.js +3 -0
  651. package/.next/standalone/.next/server/chunks/ssr/_2f20fbfc._.js +3 -0
  652. package/.next/standalone/.next/server/chunks/ssr/_4e720925._.js +3 -0
  653. package/.next/standalone/.next/server/chunks/ssr/_5aa55aa6._.js +3 -0
  654. package/.next/standalone/.next/server/chunks/ssr/_8b68f69f._.js +3 -0
  655. package/.next/standalone/.next/server/chunks/ssr/_8d4b753e._.js +3 -0
  656. package/.next/standalone/.next/server/chunks/ssr/_976dfbab._.js +4 -0
  657. package/.next/standalone/.next/server/chunks/ssr/_aab048d0._.js +1 -1
  658. package/.next/standalone/.next/server/chunks/ssr/_be1ffbbf._.js +12 -0
  659. package/.next/standalone/.next/server/chunks/ssr/_c815e0e7._.js +4 -0
  660. package/.next/standalone/.next/server/chunks/ssr/_e4c81263._.js +3 -0
  661. package/.next/standalone/.next/server/chunks/ssr/{_a3d5f9bc._.js → _e5ee8977._.js} +2 -2
  662. package/.next/standalone/.next/server/chunks/ssr/_f634ea15._.js +12 -0
  663. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_(main)_version-analysis_page_actions_479d49a7.js +3 -0
  664. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_(main)_version-management_page_actions_aea5ae93.js +3 -0
  665. package/.next/standalone/.next/server/chunks/ssr/node_modules_11388c48._.js +3 -0
  666. package/.next/standalone/.next/server/chunks/ssr/node_modules_32596a86._.js +3 -0
  667. package/.next/standalone/.next/server/chunks/ssr/{node_modules_a443e166._.js → node_modules_3b1fd8eb._.js} +2 -2
  668. package/.next/standalone/.next/server/chunks/ssr/node_modules_7680a21d._.js +3 -0
  669. package/.next/standalone/.next/server/chunks/ssr/node_modules_bfffaa78._.js +3 -0
  670. package/.next/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_2e7afafc._.js +3 -0
  671. package/.next/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_cd0b182b._.js +3 -0
  672. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_accessconfig_install_page_tsx_6f4ef3fc._.js +3 -3
  673. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_dashboard_page_tsx_7eac7774._.js +1 -1
  674. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_fault_page_tsx_96431a5d._.js +2 -2
  675. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_metrics_page_tsx_f1599761._.js +1 -1
  676. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_modelconfig_registry_page_tsx_1ead2fd4._.js +1 -1
  677. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_quality_page_tsx_26bb8e80._.js +1 -1
  678. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_trace_page_tsx_41e7865d._.js +1 -1
  679. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_version-analysis_page_tsx_63ae8791._.js +3 -0
  680. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_version-management_page_tsx_87fe0372._.js +3 -0
  681. package/.next/standalone/.next/server/chunks/ssr/src_components_ui_select_tsx_4c0f64d8._.js +1 -1
  682. package/.next/standalone/.next/server/chunks/ssr/{src_lib_evaluators_7597c2fd._.js → src_lib_070bb60a._.js} +2 -2
  683. package/.next/standalone/.next/server/chunks/ssr/src_lib_client_locale-context_tsx_7184d9aa._.js +1 -1
  684. package/.next/standalone/.next/server/pages/404.html +1 -1
  685. package/.next/standalone/.next/server/pages/500.html +2 -2
  686. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  687. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  688. package/.next/standalone/.next/static/chunks/0257c68e82e9f2b0.js +1 -0
  689. package/.next/standalone/.next/static/chunks/{8754e0cf40813330.js → 06ac4297aa02f40a.js} +1 -1
  690. package/.next/standalone/.next/static/chunks/151b95e65092aa16.js +1 -0
  691. package/.next/standalone/.next/static/chunks/1624a1adcb73d784.js +1 -0
  692. package/.next/standalone/.next/static/chunks/1f173de64ad85757.js +10 -0
  693. package/.next/standalone/.next/static/chunks/{4dcd21eef469e66b.js → 2064add303799ffc.js} +1 -1
  694. package/.next/standalone/.next/static/chunks/2fb55cc737806639.js +1 -0
  695. package/.next/standalone/.next/static/chunks/3184105f3d2b47a1.js +10 -0
  696. package/.next/standalone/.next/static/chunks/379315313d164a57.js +1 -0
  697. package/.next/standalone/.next/static/chunks/39157b51ed6489eb.js +1 -0
  698. package/.next/standalone/.next/static/chunks/{dc22f906bd43e9a3.js → 46308ae9f83ac112.js} +3 -3
  699. package/.next/standalone/.next/static/chunks/4d2c017f2f4c9160.css +1 -0
  700. package/.next/standalone/.next/static/chunks/54538e1a80e53392.js +1 -0
  701. package/.next/standalone/.next/static/chunks/599fdc4cf6eb9e95.js +1 -0
  702. package/.next/standalone/.next/static/chunks/5be4d965983c6b40.js +6 -0
  703. package/.next/standalone/.next/static/chunks/63220d0acc5073cc.js +1 -0
  704. package/.next/standalone/.next/static/chunks/6da1d3424f804755.js +1 -0
  705. package/.next/standalone/.next/static/chunks/{04bc84975996b76d.js → 7884153c8f8649dd.js} +1 -1
  706. package/.next/{static/chunks/6b2552d3da7451ee.js → standalone/.next/static/chunks/85ce12a5c9536a2d.js} +1 -1
  707. package/.next/standalone/.next/static/chunks/8668d6f4c34d1e67.js +3 -0
  708. package/.next/standalone/.next/static/chunks/913c61f4f0a12da4.js +1 -0
  709. package/.next/standalone/.next/static/chunks/97822ca2c186f93d.js +1 -0
  710. package/.next/{static/chunks/96c7e2e47438553a.js → standalone/.next/static/chunks/98588c35b1e00bea.js} +1 -1
  711. package/.next/standalone/.next/static/chunks/a99fb4f44f9a41f3.js +1 -0
  712. package/.next/standalone/.next/static/chunks/b11e37b43e38eb95.js +1 -0
  713. package/.next/standalone/.next/static/chunks/b223106f6c610a67.js +1 -0
  714. package/.next/standalone/.next/static/chunks/cc9a7b6a8edabe81.js +1 -0
  715. package/.next/standalone/.next/static/chunks/cf0b4e5d7b804bf5.js +1 -0
  716. package/.next/standalone/.next/static/chunks/cfb3924a60d22c64.js +1 -0
  717. package/.next/standalone/.next/static/chunks/d15d7f6146b85000.js +1 -0
  718. package/.next/standalone/.next/static/chunks/dee90c3e29cd39bb.js +1 -0
  719. package/.next/standalone/.next/static/chunks/df6f2eedbe05162e.js +1 -0
  720. package/.next/standalone/.next/static/chunks/e0af9e5baf811284.js +4 -0
  721. package/.next/standalone/.next/static/chunks/f61ffd647f90b66c.js +1 -0
  722. package/.next/standalone/.next/static/chunks/{bf909bd0ff1898e4.js → f6954ae67d81050e.js} +1 -1
  723. package/.next/standalone/.next/static/chunks/fc7f5db841a7032a.js +1 -0
  724. package/.next/standalone/docker-compose.amd64.yml +2 -1
  725. package/.next/standalone/docker-compose.arm64.yml +11 -0
  726. package/.next/standalone/node_modules/.prisma/client/edge.js +26 -3
  727. package/.next/standalone/node_modules/.prisma/client/index-browser.js +23 -0
  728. package/.next/standalone/node_modules/.prisma/client/index.js +26 -3
  729. package/.next/standalone/node_modules/.prisma/client/package.json +1 -1
  730. package/.next/standalone/node_modules/.prisma/client/schema.prisma +39 -0
  731. package/.next/standalone/node_modules/.prisma/client/wasm.js +23 -0
  732. package/.next/standalone/package.json +1 -1
  733. package/.next/standalone/prisma/schema.prisma +38 -0
  734. package/.next/static/chunks/0257c68e82e9f2b0.js +1 -0
  735. package/.next/static/chunks/{8754e0cf40813330.js → 06ac4297aa02f40a.js} +1 -1
  736. package/.next/static/chunks/151b95e65092aa16.js +1 -0
  737. package/.next/static/chunks/1624a1adcb73d784.js +1 -0
  738. package/.next/static/chunks/1f173de64ad85757.js +10 -0
  739. package/.next/static/chunks/{4dcd21eef469e66b.js → 2064add303799ffc.js} +1 -1
  740. package/.next/static/chunks/2fb55cc737806639.js +1 -0
  741. package/.next/static/chunks/3184105f3d2b47a1.js +10 -0
  742. package/.next/static/chunks/379315313d164a57.js +1 -0
  743. package/.next/static/chunks/39157b51ed6489eb.js +1 -0
  744. package/.next/static/chunks/{dc22f906bd43e9a3.js → 46308ae9f83ac112.js} +3 -3
  745. package/.next/static/chunks/4d2c017f2f4c9160.css +1 -0
  746. package/.next/static/chunks/54538e1a80e53392.js +1 -0
  747. package/.next/static/chunks/599fdc4cf6eb9e95.js +1 -0
  748. package/.next/static/chunks/5be4d965983c6b40.js +6 -0
  749. package/.next/static/chunks/63220d0acc5073cc.js +1 -0
  750. package/.next/static/chunks/6da1d3424f804755.js +1 -0
  751. package/.next/static/chunks/{04bc84975996b76d.js → 7884153c8f8649dd.js} +1 -1
  752. package/.next/{standalone/.next/static/chunks/6b2552d3da7451ee.js → static/chunks/85ce12a5c9536a2d.js} +1 -1
  753. package/.next/static/chunks/8668d6f4c34d1e67.js +3 -0
  754. package/.next/static/chunks/913c61f4f0a12da4.js +1 -0
  755. package/.next/static/chunks/97822ca2c186f93d.js +1 -0
  756. package/.next/{standalone/.next/static/chunks/96c7e2e47438553a.js → static/chunks/98588c35b1e00bea.js} +1 -1
  757. package/.next/static/chunks/a99fb4f44f9a41f3.js +1 -0
  758. package/.next/static/chunks/b11e37b43e38eb95.js +1 -0
  759. package/.next/static/chunks/b223106f6c610a67.js +1 -0
  760. package/.next/static/chunks/cc9a7b6a8edabe81.js +1 -0
  761. package/.next/static/chunks/cf0b4e5d7b804bf5.js +1 -0
  762. package/.next/static/chunks/cfb3924a60d22c64.js +1 -0
  763. package/.next/static/chunks/d15d7f6146b85000.js +1 -0
  764. package/.next/static/chunks/dee90c3e29cd39bb.js +1 -0
  765. package/.next/static/chunks/df6f2eedbe05162e.js +1 -0
  766. package/.next/static/chunks/e0af9e5baf811284.js +4 -0
  767. package/.next/static/chunks/f61ffd647f90b66c.js +1 -0
  768. package/.next/static/chunks/{bf909bd0ff1898e4.js → f6954ae67d81050e.js} +1 -1
  769. package/.next/static/chunks/fc7f5db841a7032a.js +1 -0
  770. package/package.json +1 -1
  771. package/prisma/schema.prisma +38 -0
  772. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2574e6ed._.js +0 -3
  773. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2710fb53._.js +0 -3
  774. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8cc92af1._.js +0 -3
  775. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9d2e5f60._.js +0 -3
  776. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bd3dc3ab._.js +0 -3
  777. package/.next/standalone/.next/server/chunks/src_lib_6cb48964._.js +0 -32
  778. package/.next/standalone/.next/server/chunks/src_lib_a3155704._.js +0 -3
  779. package/.next/standalone/.next/server/chunks/src_lib_baaf83ef._.js +0 -29
  780. package/.next/standalone/.next/server/chunks/src_lib_bf0ee699._.js +0 -32
  781. package/.next/standalone/.next/server/chunks/src_lib_dbf3c792._.js +0 -29
  782. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__2ec2bb09._.js +0 -3
  783. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__3cb83dc3._.js +0 -3
  784. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__c9cf8076._.js +0 -8
  785. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__fc94ba06._.js +0 -3
  786. package/.next/standalone/.next/server/chunks/ssr/_0141e5c7._.js +0 -3
  787. package/.next/standalone/.next/server/chunks/ssr/_0acdaaae._.js +0 -3
  788. package/.next/standalone/.next/server/chunks/ssr/_231821bd._.js +0 -3
  789. package/.next/standalone/.next/server/chunks/ssr/_5d1f8671._.js +0 -12
  790. package/.next/standalone/.next/server/chunks/ssr/_8bba8b8d._.js +0 -3
  791. package/.next/standalone/.next/server/chunks/ssr/_96725836._.js +0 -12
  792. package/.next/standalone/.next/server/chunks/ssr/_b08dc931._.js +0 -3
  793. package/.next/standalone/.next/server/chunks/ssr/_c4db9cec._.js +0 -3
  794. package/.next/standalone/.next/server/chunks/ssr/node_modules_8bfa35b3._.js +0 -3
  795. package/.next/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_30858f09._.js +0 -3
  796. package/.next/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_f1e06ad8._.js +0 -3
  797. package/.next/standalone/.next/static/chunks/0b6bd84bf10579a4.js +0 -10
  798. package/.next/standalone/.next/static/chunks/0bca64d67dceae3f.js +0 -1
  799. package/.next/standalone/.next/static/chunks/16047b19dda5c90d.js +0 -10
  800. package/.next/standalone/.next/static/chunks/3a0f454536f3ebc8.js +0 -1
  801. package/.next/standalone/.next/static/chunks/3d19f62114122bd3.js +0 -1
  802. package/.next/standalone/.next/static/chunks/3d6127f72467176d.js +0 -1
  803. package/.next/standalone/.next/static/chunks/44545e70bb7a33b8.js +0 -1
  804. package/.next/standalone/.next/static/chunks/4e52a5c5e332595a.js +0 -1
  805. package/.next/standalone/.next/static/chunks/6238734a2f04b1f9.js +0 -1
  806. package/.next/standalone/.next/static/chunks/66b23011cd8544ad.js +0 -1
  807. package/.next/standalone/.next/static/chunks/7a758615e3d35d6d.js +0 -1
  808. package/.next/standalone/.next/static/chunks/7a7dc24eed0484dc.js +0 -1
  809. package/.next/standalone/.next/static/chunks/7d4fa817c5229801.js +0 -1
  810. package/.next/standalone/.next/static/chunks/8f18a711543d804a.js +0 -1
  811. package/.next/standalone/.next/static/chunks/9155a6c07dc0502d.js +0 -6
  812. package/.next/standalone/.next/static/chunks/94fdb955b1dc512a.js +0 -1
  813. package/.next/standalone/.next/static/chunks/97b8d7ea5d04e2a2.js +0 -1
  814. package/.next/standalone/.next/static/chunks/a31bf4e176b5e90c.js +0 -3
  815. package/.next/standalone/.next/static/chunks/b9597989b5b0abd3.js +0 -1
  816. package/.next/standalone/.next/static/chunks/d170174df1128338.js +0 -1
  817. package/.next/standalone/.next/static/chunks/d91c2c0bbe0b59ab.js +0 -1
  818. package/.next/standalone/.next/static/chunks/e159d293fc72e91b.css +0 -1
  819. package/.next/standalone/.next/static/chunks/e45a4e085c7ce03c.js +0 -1
  820. package/.next/standalone/.next/static/chunks/efe225251ea151f0.js +0 -4
  821. package/.next/standalone/.next/static/chunks/ffd21617593aaafd.js +0 -1
  822. package/.next/static/chunks/0b6bd84bf10579a4.js +0 -10
  823. package/.next/static/chunks/0bca64d67dceae3f.js +0 -1
  824. package/.next/static/chunks/16047b19dda5c90d.js +0 -10
  825. package/.next/static/chunks/3a0f454536f3ebc8.js +0 -1
  826. package/.next/static/chunks/3d19f62114122bd3.js +0 -1
  827. package/.next/static/chunks/3d6127f72467176d.js +0 -1
  828. package/.next/static/chunks/44545e70bb7a33b8.js +0 -1
  829. package/.next/static/chunks/4e52a5c5e332595a.js +0 -1
  830. package/.next/static/chunks/6238734a2f04b1f9.js +0 -1
  831. package/.next/static/chunks/66b23011cd8544ad.js +0 -1
  832. package/.next/static/chunks/7a758615e3d35d6d.js +0 -1
  833. package/.next/static/chunks/7a7dc24eed0484dc.js +0 -1
  834. package/.next/static/chunks/7d4fa817c5229801.js +0 -1
  835. package/.next/static/chunks/8f18a711543d804a.js +0 -1
  836. package/.next/static/chunks/9155a6c07dc0502d.js +0 -6
  837. package/.next/static/chunks/94fdb955b1dc512a.js +0 -1
  838. package/.next/static/chunks/97b8d7ea5d04e2a2.js +0 -1
  839. package/.next/static/chunks/a31bf4e176b5e90c.js +0 -3
  840. package/.next/static/chunks/b9597989b5b0abd3.js +0 -1
  841. package/.next/static/chunks/d170174df1128338.js +0 -1
  842. package/.next/static/chunks/d91c2c0bbe0b59ab.js +0 -1
  843. package/.next/static/chunks/e159d293fc72e91b.css +0 -1
  844. package/.next/static/chunks/e45a4e085c7ce03c.js +0 -1
  845. package/.next/static/chunks/efe225251ea151f0.js +0 -4
  846. package/.next/static/chunks/ffd21617593aaafd.js +0 -1
  847. /package/.next/standalone/.next/static/{iE8084jR9Kgb7Bhs3Xokh → pzAy0mrZCL0PmE4h3HDut}/_buildManifest.js +0 -0
  848. /package/.next/standalone/.next/static/{iE8084jR9Kgb7Bhs3Xokh → pzAy0mrZCL0PmE4h3HDut}/_clientMiddlewareManifest.json +0 -0
  849. /package/.next/standalone/.next/static/{iE8084jR9Kgb7Bhs3Xokh → pzAy0mrZCL0PmE4h3HDut}/_ssgManifest.js +0 -0
  850. /package/.next/static/{iE8084jR9Kgb7Bhs3Xokh → pzAy0mrZCL0PmE4h3HDut}/_buildManifest.js +0 -0
  851. /package/.next/static/{iE8084jR9Kgb7Bhs3Xokh → pzAy0mrZCL0PmE4h3HDut}/_clientMiddlewareManifest.json +0 -0
  852. /package/.next/static/{iE8084jR9Kgb7Bhs3Xokh → pzAy0mrZCL0PmE4h3HDut}/_ssgManifest.js +0 -0
@@ -4,4 +4,4 @@
4
4
  {{reference_output}}:预期输出
5
5
  {{trajectory}}:trace 轨迹
6
6
 
7
- 这些字段都不是必填;目前仅支持以上四个变量。评估器最终需要输出 score 和 reason。`,h=()=>({name:"",description:"",systemPrompt:"",userPrompt:"",userPromptEnabled:!1});function y(){return{query:"",evaluatorTypes:[],targetTypes:[],objectives:[]}}function f(){return{nameQuery:"",creator:"all",typeFilter:""}}function v(e,r){return e.includes(r)?e.filter(e=>e!==r):[...e,r]}function b(){let{user:e}=(0,i.useAuth)(),o=(0,t.useRouter)(),[s,l]=(0,n.useState)([]),[x,b]=(0,n.useState)(!1),[T,R]=(0,n.useState)("custom"),[I,N]=(0,n.useState)(y),[P,L]=(0,n.useState)(f),[$,A]=(0,n.useState)(h),[M,F]=(0,n.useState)(null),[E,H]=(0,n.useState)("grid"),[U,D]=(0,n.useState)(!0),[O,K]=(0,n.useState)(""),[q,J]=(0,n.useState)(null),[Q,Y]=(0,n.useState)(null);(0,n.useEffect)(()=>{e||(l([]),b(!1))},[e]),(0,n.useEffect)(()=>{if(!e)return;let r=!1;return(async()=>{try{let t=[],[n,o]=await Promise.allSettled([(0,a.apiFetch)(`/api/user-evaluators?user=${encodeURIComponent(e)}`),(0,a.apiFetch)(`/api/eval/settings?user=${encodeURIComponent(e)}`)]);if("fulfilled"===n.status&&n.value.ok)try{let e=await n.value.json();Array.isArray(e)&&(t=e)}catch{}if("fulfilled"===o.status&&o.value.ok)try{let e=await o.value.json(),t=e?.activeConfigId,n=Array.isArray(e?.configs)?e.configs:[],a=t?n.find(e=>e.id===t):null;r||Y(a?{id:a.id,name:a.name||"(unnamed)",model:a.model||"(unknown)"}:null)}catch{}if(!r&&0===t.length)try{let r=window.localStorage.getItem("agent-insight-custom-evaluators"),n=r?JSON.parse(r):[];Array.isArray(n)&&n.length>0&&(t=n,await (0,a.apiFetch)("/api/user-evaluators",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:e,evaluators:t})}),window.localStorage.removeItem("agent-insight-custom-evaluators"))}catch{}r||(l(t),b(!0))}catch(e){r||K(e instanceof Error?e.message:"评估器数据加载失败")}finally{r||D(!1)}})(),()=>{r=!0}},[e]),(0,n.useEffect)(()=>{if(!e||!x)return;let r=window.setTimeout(()=>{(0,a.apiFetch)("/api/user-evaluators",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:e,evaluators:s})}).catch(()=>{})},600);return()=>window.clearTimeout(r)},[e,x,s]);let V=(0,n.useMemo)(()=>"preset"===T?c.presetEvaluators.filter(e=>{let r,t;return r=I.query.trim().toLowerCase(),t=`${e.name} ${e.description} ${e.mappedMetrics.join(" ")}`.toLowerCase(),(!r||!!t.includes(r))&&(!(I.evaluatorTypes.length>0)||!!I.evaluatorTypes.includes(e.evaluatorType))&&(!(I.targetTypes.length>0)||!!I.targetTypes.some(r=>e.targetTypes.includes(r)))&&(!(I.objectives.length>0)||!!I.objectives.some(r=>e.objectives.includes(r)))}):s.filter(r=>{let t,n;return t=P.nameQuery.trim().toLowerCase(),n=`${r.name} ${r.description} ${r.mappedMetrics.join(" ")}`.toLowerCase(),(!t||!!n.includes(t))&&(!P.typeFilter||r.evaluatorType===P.typeFilter)&&("mine"!==P.creator||!e||r.creator===e)}),[T,s,I,P,e]),X=(0,n.useMemo)(()=>({presetCount:c.presetEvaluators.length,customCount:s.length,readyCount:s.filter(e=>"ready"===e.status).length}),[s]),G=()=>{A(h()),F("llm"),K("")},Z=e=>{R(e),F(null),J(null)},ee=async r=>{if(!e||"custom"!==r.source||!globalThis.confirm(`确定删除评估器「${r.name}」?`))return;K("");let t=s.filter(e=>e.id!==r.id);l(t);try{let r=await (0,a.apiFetch)("/api/user-evaluators",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:e,evaluators:t})}),n=await r.json().catch(()=>({}));if(!r.ok||n?.success===!1)throw Error("删除失败")}catch(e){l(s),K(e instanceof Error?e.message:"删除失败")}};return U?(0,r.jsx)("div",{className:"loading",children:"正在整理评估器视图..."}):(0,r.jsxs)("div",{style:{padding:"18px 22px 28px",maxWidth:1500,margin:"0 auto"},children:[O&&(0,r.jsx)("div",{className:"ai-card",style:{padding:12,color:"var(--error)",marginBottom:14},children:O}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:16,marginBottom:10,flexWrap:"wrap"},children:[(0,r.jsxs)("div",{style:{minWidth:280,flex:1},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:6},children:[(0,r.jsx)("span",{className:"ai-badge ai-badge-b",children:"Evaluators"}),"preset"===T&&(0,r.jsx)("span",{style:{color:"var(--foreground-muted)",fontSize:11},children:"预置模板库"}),"custom"===T&&null===M&&(0,r.jsx)("span",{style:{color:"var(--foreground-muted)",fontSize:11},children:"自建评估方案"})]}),(0,r.jsx)("h1",{style:{margin:0,fontSize:22,lineHeight:1.2,fontWeight:600,color:"var(--foreground)"},children:"评估器"}),null===M&&(0,r.jsx)("p",{style:{margin:"6px 0 0",color:"var(--foreground-secondary)",fontSize:12.5,maxWidth:820},children:"custom"===T?"管理自建 LLM 评估器,配置会保存到服务端。点击卡片可进入详情编辑。":"预置评估器模板库:按类型与场景筛选,点击可查看详情与执行入口。"})]}),"preset"===T&&(0,r.jsx)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:(0,r.jsx)("button",{type:"button",className:"ai-btn-s",onClick:()=>window.location.reload(),children:"刷新"})})]}),"preset"===T&&(0,r.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, minmax(160px, 1fr))",gap:10,marginBottom:14},children:[(0,r.jsx)(j,{label:"预置评估器",value:String(X.presetCount),detail:"LLM 评估器模板"}),(0,r.jsx)(j,{label:"自建评估器",value:String(X.customCount),detail:"已保存至账号"}),(0,r.jsx)(j,{label:"可用评估器",value:String(X.readyCount),detail:"状态为已就绪"})]}),(0,r.jsxs)("div",{style:{borderBottom:"1px solid var(--border)",marginBottom:0,display:"flex",gap:2},children:[(0,r.jsx)(k,{active:"custom"===T,onClick:()=>Z("custom"),children:"自建评估器"}),(0,r.jsx)(k,{active:"preset"===T,onClick:()=>Z("preset"),children:"预置评估器"})]}),"custom"===T&&"llm"===M?(0,r.jsx)(_,{draft:$,onChange:A,onBack:()=>{F(null),A(h()),K("")},onSubmit:()=>{let r=$.name.trim();if(!r)return void K("请填写评估器名称");if(!(0,u.isValidCustomEvaluatorName)(r))return void K("名称会作为链路追踪中的 agent 名称:必须以英文字母开头,仅支持字母、数字、下划线、连字符");if(!$.systemPrompt.trim())return void K("请填写 System Prompt");let t=(0,u.findUnsupportedCustomEvaluatorVariables)($.systemPrompt);if(t.length>0)return void K(`System Prompt 仅支持 {{input}}、{{output}}、{{reference_output}}、{{trajectory}},不支持:${t.map(e=>`{{${e}}}`).join("、")}`);let n={model:Q?.model||"",systemPrompt:$.systemPrompt.trim(),userPrompt:$.userPrompt.trim()},o={id:`custom-${Date.now()}`,name:r,description:$.description.trim()||"自建 LLM 评估器。",evaluatorType:"LLM",source:"custom",targetTypes:["结果"],objectives:["任务完成","内容质量"],scenarios:["Agent通用评测"],runMode:"LLM Judge",scoreRange:"0-1",popularity:0,mappedMetrics:n.model?["LLM 评测",n.model]:["LLM 评测"],status:"draft",creator:e||void 0,llmConfig:n};l(e=>[o,...e]),F(null),A(h()),R("custom"),K("")}}):"custom"===T?(0,r.jsxs)("div",{style:{paddingTop:16},children:[(0,r.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:10,marginBottom:16,justifyContent:"space-between"},children:[(0,r.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:10,flex:1,minWidth:280},children:[(0,r.jsx)("input",{value:P.nameQuery,onChange:e=>L(r=>({...r,nameQuery:e.target.value})),placeholder:"搜索名称",style:{minWidth:160,flex:"1 1 160px",maxWidth:280,height:34,borderRadius:8,border:"1px solid var(--input-border)",background:"var(--input-bg)",color:"var(--foreground)",padding:"0 12px",fontSize:12.5}}),(0,r.jsxs)("select",{value:P.typeFilter,onChange:e=>L(r=>({...r,typeFilter:e.target.value})),style:{height:34,borderRadius:8,border:"1px solid var(--input-border)",background:"var(--input-bg)",color:"var(--foreground)",padding:"0 10px",fontSize:12.5,minWidth:140},children:[(0,r.jsx)("option",{value:"",children:"请选择类型"}),(0,r.jsx)("option",{value:"LLM",children:"LLM"})]})]}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,r.jsx)("button",{type:"button",className:"ai-btn-s",title:"刷新",onClick:()=>window.location.reload(),children:"↻"}),(0,r.jsx)("button",{type:"button",className:"ai-btn-s",title:"grid"===E?"切换列表":"切换网格",onClick:()=>H(e=>"grid"===e?"list":"grid"),children:"grid"===E?"≡":"⊞"}),(0,r.jsx)("button",{type:"button",className:"ai-btn-p",onClick:G,children:"+ 新建评估器"})]})]}),0===V.length?(0,r.jsx)(B,{onCreateLlm:G}):"grid"===E?(0,r.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(2, minmax(320px, 1fr))",gap:12},children:V.map(e=>(0,r.jsx)(z,{card:e,activeTab:T,activeModel:Q,onModelConfigClick:()=>o.push("/modelconfig/defaults"),onDeleteCustom:ee},e.id))}):(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:V.map(e=>(0,r.jsx)(C,{card:e,onOpen:()=>o.push(`/metrics/evaluators/${encodeURIComponent(e.id)}`),onDeleteCustom:ee},e.id))})]}):(0,r.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"300px minmax(0, 1fr)",minHeight:620},children:[(0,r.jsxs)("aside",{style:{borderRight:"1px solid var(--border)",padding:"16px 18px 16px 0"},children:[(0,r.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:14},children:[(0,r.jsx)("div",{className:"ai-section-title",children:"评估器筛选"}),(0,r.jsx)("button",{type:"button",className:"ai-btn-s",onClick:()=>N(y()),children:"清空"})]}),(0,r.jsx)(S,{title:"类型",options:p,values:I.evaluatorTypes,onToggle:e=>N(r=>({...r,evaluatorTypes:v(r.evaluatorTypes,e)}))}),(0,r.jsx)(S,{title:"场景",options:g,values:I.targetTypes,onToggle:e=>N(r=>({...r,targetTypes:v(r.targetTypes,e)}))}),(0,r.jsx)(S,{title:"评估目标",options:m,values:I.objectives,onToggle:e=>N(r=>({...r,objectives:v(r.objectives,e)}))})]}),(0,r.jsxs)("main",{style:{padding:16},children:[(0,r.jsx)("div",{style:{marginBottom:14},children:(0,r.jsx)("input",{value:I.query,onChange:e=>N(r=>({...r,query:e.target.value})),placeholder:"搜索评估器名称、说明或指标",style:{width:"100%",height:34,borderRadius:8,border:"1px solid var(--input-border)",background:"var(--input-bg)",color:"var(--foreground)",padding:"0 12px",fontSize:12.5}})}),0===V.length?(0,r.jsx)(W,{}):(0,r.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(2, minmax(320px, 1fr))",gap:12},children:V.map(e=>(0,r.jsx)(z,{card:e,activeTab:T,onInspectPreset:J,activeModel:Q,onModelConfigClick:()=>o.push("/modelconfig/defaults"),onDeleteCustom:ee},e.id))})]})]}),q&&d[q.id]?(0,r.jsx)(w,{card:q,detail:d[q.id],onClose:()=>J(null)}):null]})}function j({label:e,value:t,detail:n}){return(0,r.jsxs)("div",{className:"ai-stat",style:{minHeight:74},children:[(0,r.jsx)("div",{className:"ai-stat-lbl",children:e}),(0,r.jsx)("div",{className:"ai-stat-val",children:t}),(0,r.jsx)("div",{className:"ai-stat-d",style:{color:"var(--foreground-muted)"},children:n})]})}function k({active:e,children:t,onClick:n}){return(0,r.jsx)("button",{type:"button",onClick:n,style:{height:36,padding:"0 16px",border:"1px solid var(--border)",borderBottom:e?"2px solid var(--primary)":"1px solid var(--border)",background:e?"var(--background)":"var(--background-secondary)",color:e?"var(--primary)":"var(--foreground)",fontWeight:e?600:400,cursor:"pointer",borderRadius:"7px 7px 0 0",marginBottom:-1},children:t})}function S({title:e,options:t,values:n,onToggle:o}){return(0,r.jsxs)("div",{style:{marginBottom:18},children:[(0,r.jsx)("div",{style:{color:"var(--foreground-secondary)",fontSize:12,marginBottom:9},children:e}),(0,r.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:t.map(e=>{let t=n.includes(e);return(0,r.jsx)("button",{type:"button",onClick:()=>o(e),style:{minHeight:34,padding:"0 16px",borderRadius:8,border:`1px solid ${t?"var(--primary-subtle-border)":"var(--border)"}`,background:t?"var(--primary-subtle)":"var(--background)",color:t?"var(--primary)":"var(--foreground-secondary)",cursor:"pointer",fontSize:12.5},children:e},e)})})]})}function w({card:e,detail:t,onClose:o}){(0,n.useEffect)(()=>{let e=e=>{"Escape"===e.key&&o()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[o]);let a=t.systemPrompt??"";async function i(){try{a&&await navigator.clipboard.writeText(a)}catch{}}let s=[...t.mediaTags??[],e.evaluatorType,...e.objectives.slice(0,2),...e.scenarios.slice(0,1)];return(0,r.jsx)("div",{role:"dialog","aria-modal":"true","aria-labelledby":"preset-inspect-title",style:{position:"fixed",inset:0,zIndex:100,display:"flex",alignItems:"flex-start",justifyContent:"center",padding:"24px 16px",overflowY:"auto",background:"rgba(0,0,0,0.45)"},onClick:o,children:(0,r.jsxs)("div",{className:"ai-card",style:{width:"100%",maxWidth:720,marginTop:12,marginBottom:40,padding:22,position:"relative",maxHeight:"92vh",overflowY:"auto",boxShadow:"var(--shadow)"},onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:12,marginBottom:16},children:[(0,r.jsx)("h2",{id:"preset-inspect-title",style:{margin:0,fontSize:18,fontWeight:650,color:"var(--foreground)"},children:e.name}),(0,r.jsx)("button",{type:"button",className:"ai-btn-s","aria-label":"关闭",onClick:o,children:"×"})]}),(0,r.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,marginBottom:14},children:s.map((e,t)=>(0,r.jsx)("span",{style:{background:"var(--background-tertiary)",color:"var(--foreground-secondary)",borderRadius:6,padding:"4px 9px",fontSize:11},children:e},`${e}-${t}`))}),(0,r.jsxs)("section",{style:{marginBottom:18},children:[(0,r.jsx)("div",{style:{fontSize:12.5,fontWeight:600,marginBottom:8,color:"var(--foreground)"},children:"应用场景"}),(0,r.jsx)("p",{style:{margin:0,fontSize:13,lineHeight:1.65,color:"var(--foreground-secondary)"},children:t.applicationScenario})]}),"llm"===t.kind&&a?(0,r.jsxs)("section",{style:{marginBottom:18},children:[(0,r.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:8},children:[(0,r.jsx)("span",{style:{fontSize:12.5,fontWeight:600,color:"var(--foreground)"},children:"Prompt"}),(0,r.jsx)("button",{type:"button",className:"ai-btn-s",onClick:()=>i(),children:"复制 System"})]}),(0,r.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:8,background:"var(--background-secondary)",padding:"12px 14px"},children:[(0,r.jsx)("div",{style:{fontSize:11,color:"var(--foreground-muted)",marginBottom:8},children:"System"}),(0,r.jsx)("pre",{style:{margin:0,whiteSpace:"pre-wrap",wordBreak:"break-word",fontSize:12.5,lineHeight:1.55,color:"var(--foreground)",fontFamily:"ui-monospace, monospace"},children:a})]}),(t.variables?.length??0)>0?(0,r.jsxs)("div",{style:{marginTop:12},children:[(0,r.jsx)("div",{style:{fontSize:12,fontWeight:600,marginBottom:6,color:"var(--foreground)"},children:"Variables"}),(0,r.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:t.variables.map(e=>(0,r.jsx)("code",{style:{fontSize:12,padding:"4px 8px",borderRadius:6,background:"var(--background-tertiary)",color:"var(--primary)"},children:`{{${e}}}`},e))})]}):null]}):null,("code"===t.kind||"rpc"===t.kind)&&(0,r.jsxs)("section",{style:{marginBottom:18},children:[(0,r.jsx)("div",{style:{fontSize:12.5,fontWeight:600,marginBottom:8,color:"var(--foreground)"},children:"code"===t.kind?"规则 / 脚本说明":"RPC 契约"}),t.implementationNote?(0,r.jsx)("p",{style:{margin:"0 0 12px",fontSize:13,lineHeight:1.65,color:"var(--foreground-secondary)"},children:t.implementationNote}):null,t.codeOrContractExample?(0,r.jsx)("pre",{style:{margin:0,padding:"12px 14px",borderRadius:8,border:"1px solid var(--border)",background:"var(--input-bg)",fontSize:12,lineHeight:1.45,overflowX:"auto",whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"ui-monospace, monospace"},children:t.codeOrContractExample}):null]}),(0,r.jsxs)("section",{style:{marginBottom:18,padding:14,borderRadius:8,background:"var(--background-secondary)",border:"1px solid var(--border)"},children:[(0,r.jsx)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:10},children:(0,r.jsx)("span",{style:{fontSize:12.5,fontWeight:600},children:"输出"})}),(0,r.jsxs)("p",{style:{margin:"0 0 10px",fontSize:12.5,lineHeight:1.65,color:"var(--foreground-secondary)"},children:[(0,r.jsx)("strong",{style:{color:"var(--foreground)"},children:"得分:"}),t.outputScoreText]}),(0,r.jsxs)("p",{style:{margin:0,fontSize:12.5,lineHeight:1.65,color:"var(--foreground-secondary)"},children:[(0,r.jsx)("strong",{style:{color:"var(--foreground)"},children:"原因:"}),t.outputReasonText]})]}),(0,r.jsx)("div",{style:{display:"flex",gap:8,justifyContent:"flex-end",flexWrap:"wrap"},children:(0,r.jsx)("button",{type:"button",className:"ai-btn-s",onClick:o,children:"关闭"})})]})})}function z({card:e,activeTab:n,onInspectPreset:o,activeModel:a,onModelConfigClick:i,onDeleteCustom:s}){let l=(0,t.useRouter)(),c="preset"===e.source&&!!d[e.id],u=()=>{"preset"===n&&c&&o?.(e)},p=()=>{"custom"===n&&l.push(`/metrics/evaluators/${encodeURIComponent(e.id)}`)},g="preset"===n&&c||"custom"===n;return(0,r.jsxs)("article",{className:"ai-card",role:g?"button":void 0,tabIndex:g?0:void 0,onClick:e=>{e.target.closest("button")||("preset"===n&&c?u():"custom"===n&&p())},onKeyDown:e=>{g&&("Enter"===e.key||" "===e.key)&&(e.preventDefault(),"preset"===n&&c?u():"custom"===n&&p())},style:{padding:16,minHeight:176,display:"flex",flexDirection:"column",gap:12,cursor:g?"pointer":void 0},children:[(0,r.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",gap:10},children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{style:{margin:0,color:"var(--foreground)",fontSize:15.5,fontWeight:600},children:e.name}),(0,r.jsx)("p",{style:{margin:"8px 0 0",color:"var(--foreground-secondary)",fontSize:12.5,lineHeight:1.6},children:e.description}),"preset"===n&&c?(0,r.jsx)("p",{style:{margin:"4px 0 0",fontSize:11,color:"var(--foreground-muted)"},children:"点击查看详情"}):null,"custom"===n?(0,r.jsx)("p",{style:{margin:"4px 0 0",fontSize:11,color:"var(--foreground-muted)"},children:"点击查看或编辑"}):null]}),(0,r.jsx)("span",{className:`ai-badge ${"Code"===e.evaluatorType?"ai-badge-b":"Custom RPC"===e.evaluatorType?"ai-badge-g":"ai-badge-gr"}`,style:{height:22,whiteSpace:"nowrap"},children:e.evaluatorType})]}),(0,r.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:[e.runMode,...e.targetTypes,...e.objectives,...e.scenarios.slice(0,2)].map(e=>(0,r.jsx)("span",{style:{background:"var(--background-tertiary)",color:"var(--foreground-secondary)",borderRadius:4,padding:"3px 7px",fontSize:11},children:e},e))}),(0,r.jsx)("div",{style:{marginTop:"auto"},children:(0,r.jsx)(T,{label:"评分",value:e.scoreRange})}),e.runtimeHref?(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 8px",background:"var(--background-secondary)",border:"1px solid var(--border)",borderRadius:6,fontSize:11},onClick:e=>e.stopPropagation(),children:[(0,r.jsx)("span",{style:{color:"var(--foreground-muted)"},children:"运行模型:"}),a?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{style:{fontWeight:600,color:"var(--foreground)"},children:a.name}),(0,r.jsxs)("span",{style:{color:"var(--foreground-muted)",fontFamily:"monospace"},children:["· ",a.model]}),(0,r.jsx)("span",{style:{color:"var(--foreground-muted)"},children:"(来自全局默认)"})]}):(0,r.jsx)("span",{style:{color:"var(--error)",fontWeight:500},children:"未配置"}),(0,r.jsx)("span",{style:{flex:1}}),i?(0,r.jsx)("button",{type:"button",className:"ai-btn-s",style:{fontSize:10.5,padding:"2px 8px"},onClick:e=>{e.stopPropagation(),i()},children:a?"修改":"去配置"}):null]}):null,(0,r.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",gap:8,alignItems:"center"},children:[(0,r.jsx)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:(0,r.jsx)("span",{className:`ai-badge ${"ready"===e.status?"ai-badge-g":"draft"===e.status?"ai-badge-gr":"ai-badge-b"}`,children:"ready"===e.status?"已就绪":"draft"===e.status?"草稿":"预置"})}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:["custom"===n&&s?(0,r.jsx)("button",{type:"button",className:"ai-btn-s",style:{color:"var(--error)"},onClick:r=>{r.stopPropagation(),s(e)},children:"删除"}):null,e.runtimeHref?(0,r.jsx)("button",{type:"button",className:"ai-btn-sp",onClick:r=>{r.stopPropagation();let t=new URL(e.runtimeHref,window.location.origin);t.searchParams.set("evaluatorId",e.id),l.push(t.pathname+t.search)},style:{whiteSpace:"nowrap"},children:"前往评测执行 →"}):null]})]})]})}function C({card:e,onOpen:t,onDeleteCustom:n}){return(0,r.jsxs)("div",{className:"ai-card",role:"button",tabIndex:0,onClick:t,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),t())},style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,padding:"12px 14px",flexWrap:"wrap",cursor:"pointer"},children:[(0,r.jsxs)("div",{style:{minWidth:200,flex:1},children:[(0,r.jsx)("div",{style:{fontWeight:600,color:"var(--foreground)"},children:e.name}),(0,r.jsx)("div",{style:{fontSize:12,color:"var(--foreground-muted)",marginTop:4},children:e.description})]}),(0,r.jsx)("span",{className:`ai-badge ${"Code"===e.evaluatorType?"ai-badge-b":"Custom RPC"===e.evaluatorType?"ai-badge-g":"ai-badge-gr"}`,children:e.evaluatorType}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,r.jsx)("span",{className:`ai-badge ${"ready"===e.status?"ai-badge-g":"draft"===e.status?"ai-badge-gr":"ai-badge-b"}`,children:"ready"===e.status?"已就绪":"draft"===e.status?"草稿":"预置"}),"custom"===e.source&&n?(0,r.jsx)("button",{type:"button",className:"ai-btn-s",style:{color:"var(--error)"},onClick:r=>{r.stopPropagation(),n(e)},children:"删除"}):null]})]})}function T({label:e,value:t}){return(0,r.jsxs)("div",{style:{border:"1px solid var(--border)",background:"var(--background-secondary)",borderRadius:7,padding:8},children:[(0,r.jsx)("div",{style:{color:"var(--foreground-muted)",fontSize:11,marginBottom:3},children:e}),(0,r.jsx)("div",{style:{color:"var(--foreground)",fontSize:12.5,fontWeight:500},children:t})]})}function _({draft:e,onChange:t,onBack:n,onSubmit:a}){return(0,r.jsxs)("div",{style:{paddingTop:20,maxWidth:800},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:24},children:[(0,r.jsx)("button",{type:"button",className:"ai-btn-s",onClick:n,"aria-label":"返回",style:{minWidth:36,padding:"6px 10px"},children:"←"}),(0,r.jsx)("h2",{style:{margin:0,fontSize:18,fontWeight:600,color:"var(--foreground)"},children:"新建评估器"})]}),(0,r.jsxs)("section",{style:{marginBottom:28},children:[(0,r.jsx)("div",{className:"ai-section-title",style:{marginBottom:14},children:"基础信息"}),(0,r.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:6,marginBottom:14},children:[(0,r.jsxs)("span",{style:{fontSize:12,fontWeight:600,color:"var(--foreground)"},children:[(0,r.jsx)("span",{style:{color:"var(--error)"},children:"* "}),"名称"]}),(0,r.jsx)("input",{value:e.name,maxLength:50,onChange:r=>t({...e,name:r.target.value}),placeholder:"例如 custom_eval_agent",style:{height:36,borderRadius:8,border:"1px solid var(--input-border)",background:"var(--input-bg)",color:"var(--foreground)",padding:"0 12px",fontSize:13}}),(0,r.jsx)("span",{style:{fontSize:11,color:"var(--foreground-muted)"},children:"名称会作为链路追踪中的 agent 名称,仅支持英文、数字、下划线、连字符,且必须以英文字母开头。"}),(0,r.jsxs)("span",{style:{fontSize:11,color:"var(--foreground-muted)",textAlign:"right"},children:[e.name.length,"/50"]})]}),(0,r.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,r.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--foreground)"},children:"描述"}),(0,r.jsx)("textarea",{value:e.description,maxLength:200,onChange:r=>t({...e,description:r.target.value}),placeholder:"请输入描述",rows:3,style:{borderRadius:8,border:"1px solid var(--input-border)",background:"var(--input-bg)",color:"var(--foreground)",padding:"10px 12px",fontSize:13,resize:"vertical"}}),(0,r.jsxs)("span",{style:{fontSize:11,color:"var(--foreground-muted)",textAlign:"right"},children:[e.description.length,"/200"]})]})]}),(0,r.jsxs)("section",{style:{marginBottom:28},children:[(0,r.jsx)("div",{className:"ai-section-title",style:{marginBottom:14},children:"配置信息"}),(0,r.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:6,marginBottom:16},children:[(0,r.jsxs)("span",{style:{fontSize:12,fontWeight:600,color:"var(--foreground)"},children:[(0,r.jsx)("span",{style:{color:"var(--error)"},children:"* "}),"Prompt · System"]}),(0,r.jsx)("textarea",{value:e.systemPrompt,onChange:r=>t({...e,systemPrompt:r.target.value}),placeholder:x,rows:12,style:{borderRadius:8,border:"1px solid var(--input-border)",background:"var(--input-bg)",color:"var(--foreground)",padding:"12px",fontSize:12.5,lineHeight:1.55,fontFamily:"var(--font-mono, ui-monospace, monospace)",resize:"vertical"}})]}),(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,r.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--foreground)"},children:"User Prompt"}),e.userPromptEnabled?(0,r.jsxs)("div",{style:{border:"1px solid var(--input-border)",borderRadius:10,overflow:"hidden",background:"var(--background)"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:10,padding:"10px 14px",borderBottom:"1px solid var(--border)",background:"color-mix(in srgb, var(--foreground) 2%, var(--background))"},children:[(0,r.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--foreground-muted)",letterSpacing:"0.04em"},children:"User"}),(0,r.jsx)("button",{type:"button",className:"ai-btn-s",style:{border:"none",background:"transparent",padding:0,color:"var(--foreground-muted)"},onClick:()=>t({...e,userPrompt:"",userPromptEnabled:!1}),children:"清空"})]}),(0,r.jsx)("textarea",{value:e.userPrompt,onChange:r=>t({...e,userPrompt:r.target.value}),placeholder:"请输入可选的 user prompt",rows:4,style:{width:"100%",border:"none",outline:"none",background:"transparent",color:"var(--foreground)",padding:"12px 14px",fontSize:12.5,lineHeight:1.6,resize:"vertical",boxSizing:"border-box"}})]}):(0,r.jsx)("button",{type:"button",className:"ai-btn-s",style:{width:"100%",minHeight:44,border:"1px dashed var(--input-border)",borderRadius:10,background:"color-mix(in srgb, var(--foreground) 4%, var(--background))",color:"var(--foreground-secondary)",fontSize:13,fontWeight:600},onClick:()=>t({...e,userPromptEnabled:!0}),children:"+ 添加 User Prompt"})]})]}),(0,r.jsxs)("section",{style:{marginBottom:28,padding:14,borderRadius:8,background:"var(--background-secondary)",border:"1px solid var(--border)"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:10},children:[(0,r.jsx)("span",{className:"ai-section-title",style:{margin:0},children:"输出"}),(0,r.jsx)("span",{title:"评测模型须遵守的输出约定","aria-label":"评测模型须遵守的输出约定",style:{cursor:"help",color:"var(--foreground-muted)",display:"inline-flex",alignItems:"center"},children:(0,r.jsx)(o.Info,{style:{width:16,height:16},"aria-hidden":!0})})]}),(0,r.jsxs)("p",{style:{margin:"0 0 10px",fontSize:12.5,color:"var(--foreground-secondary)",lineHeight:1.65},children:[(0,r.jsx)("strong",{style:{color:"var(--foreground)"},children:"得分:"}),"最终须给出 0.0~1.0 的数值型分数:1.0 表示完全符合标准,0.0 表示完全不符合。"]}),(0,r.jsxs)("p",{style:{margin:0,fontSize:12.5,color:"var(--foreground-secondary)",lineHeight:1.65},children:[(0,r.jsx)("strong",{style:{color:"var(--foreground)"},children:"原因:"}),"须提供可读的中文说明,并以固定收束句式结尾:",(0,r.jsx)("code",{style:{fontSize:12},children:"因此,应该给出[分数]是合理的评分"}),"。"]})]}),(0,r.jsxs)("div",{style:{display:"flex",gap:10,justifyContent:"flex-end"},children:[(0,r.jsx)("button",{type:"button",className:"ai-btn-s",onClick:n,children:"取消"}),(0,r.jsx)("button",{type:"button",className:"ai-btn-p",onClick:a,children:"创建"})]})]})}function W(){return(0,r.jsxs)("div",{style:{border:"1px dashed var(--border-dark)",borderRadius:8,padding:28,textAlign:"center",background:"var(--background-secondary)"},children:[(0,r.jsx)("div",{style:{color:"var(--foreground)",fontWeight:500,marginBottom:6},children:"没有匹配的评估器"}),(0,r.jsx)("div",{style:{color:"var(--foreground-muted)",fontSize:12},children:"调整筛选条件,或在「自建评估器」中新建。"})]})}function B({onCreateLlm:e}){return(0,r.jsxs)("div",{style:{border:"1px dashed var(--border-dark)",borderRadius:8,padding:"48px 28px",textAlign:"center",background:"var(--background-secondary)"},children:[(0,r.jsx)("div",{style:{color:"var(--foreground)",fontWeight:500,marginBottom:8,fontSize:15},children:"暂无自建评估器"}),(0,r.jsx)("div",{style:{color:"var(--foreground-muted)",fontSize:12.5,marginBottom:18},children:"点击右上角「+ 新建评估器」开始配置 LLM 评估器。"}),(0,r.jsx)("div",{style:{display:"flex",gap:10,justifyContent:"center",flexWrap:"wrap"},children:(0,r.jsx)("button",{type:"button",className:"ai-btn-p",onClick:e,children:"新建 LLM 评估器"})})]})}var R=e.i(540568),I=e.i(167225),N=e.i(522016),P=e.i(726526);let L=I.default.env.NEXT_PUBLIC_URL_PREFIX||"";function $({taskId:e}){var t;let{user:o}=(0,i.useAuth)(),{locale:s}=(0,P.useLocale)(),[l,d]=(0,n.useState)(null),[c,u]=(0,n.useState)("loading");(0,n.useEffect)(()=>{o&&e&&(u("loading"),(0,a.apiFetch)(`/api/observe/data?user=${encodeURIComponent(o)}&taskId=${encodeURIComponent(e)}`).then(e=>e.ok?e.json():Promise.reject("http")).then(e=>{Array.isArray(e)&&e.length>0?(d(e[0]),u("ready")):u("notfound")}).catch(()=>u("error")))},[o,e]);let p=(0,n.useMemo)(()=>l?.judgment_reason?function(e){let r=[];if(!e)return r;let t=e.split("\n"),n={rc:0,ka:0};for(let e of t){let t=e.match(/\*\*Root Cause\*\*\s*\[(.*?)\]\s*.*?:\s*(\d+)%\s*match\.\s*(.+?)\s*\(Weight:\s*([\d.]+)\)/);if(t){r.push({id:`RC-${n.rc++}`,type:"root_cause",content:t[1].replace(/\.{3}$/,""),match_score:parseInt(t[2])/100,explanation:t[3].trim(),weight:parseFloat(t[4])});continue}let o=e.match(/\*\*Key Action\*\*\s*\[(.*?)\]\s*.*?:\s*(\d+)%\s*match\.\s*(.+?)\s*\(Weight:\s*([\d.]+)\)/);if(o){r.push({id:`KA-${n.ka++}`,type:"key_action",content:o[1].replace(/\.{3}$/,""),match_score:parseInt(o[2])/100,explanation:o[3].trim(),weight:parseFloat(o[4])});continue}let a=e.match(/\*\*Key Action\*\*\s*\[(.*?)\]\s*.*?:\s*(\d+)%\s*match\.\s*(.+?)\s*\(该分支未触发,不计入总分\)/);a&&r.push({id:`KA-${n.ka++}`,type:"key_action",content:a[1].replace(/\.{3}$/,""),match_score:parseInt(a[2])/100,explanation:a[3].trim(),weight:0})}return r}(l.judgment_reason):[],[l?.judgment_reason]);if("loading"===c)return(0,r.jsx)(A,{msg:"zh"===s?"正在加载执行数据…":"Loading execution…"});if("error"===c)return(0,r.jsx)(A,{msg:"zh"===s?"加载失败":"Load failed",tone:"error"});if("notfound"===c||!l)return(0,r.jsx)(A,{msg:"zh"===s?`没有找到 taskId=${e} 的执行记录`:`No execution found for taskId=${e}`,tone:"warn"});let g=l.is_evaluating||"结果评估中..."===l.judgment_reason||"Evaluation in progress..."===l.judgment_reason,m=!g&&!0===l.is_answer_correct,x=!g&&!1===l.is_answer_correct,h="number"==typeof l.answer_score?Math.round(100*l.answer_score):null,y=(l.invoked_skills?.length??0)||(l.skills?.length??0)||+!!l.skill,f="number"==typeof l.skill_trigger_rate?Math.round(100*l.skill_trigger_rate):null;return(0,r.jsxs)("div",{style:{padding:"20px 22px",maxWidth:1180,margin:"0 auto"},children:[(0,r.jsxs)("div",{style:{background:"var(--card-bg)",border:"1px solid var(--card-border)",borderRadius:10,padding:"14px 18px",marginBottom:14,display:"flex",alignItems:"center",gap:14},children:[(0,r.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,r.jsxs)("div",{style:{fontSize:10.5,color:"var(--foreground-muted)",fontFamily:"var(--font-mono)",marginBottom:4},children:[e,l.timestamp&&(0,r.jsxs)("span",{children:[" · ",new Date(l.timestamp).toLocaleString()]})]}),(0,r.jsx)("div",{style:{fontSize:13.5,fontWeight:500,color:"var(--foreground)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:l.query||("zh"===s?"(无问题)":"(no query)")})]}),(0,r.jsx)(N.default,{href:`${L}/skill-eval?taskId=${e}`,className:"ai-btn-s",style:{textDecoration:"none",fontSize:11,flexShrink:0},children:"zh"===s?"调测分析 ↗":"Skill diagnosis ↗"})]}),(0,r.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:12,marginBottom:12,fontSize:11.5,color:"var(--foreground-secondary)"},children:[(0,r.jsx)(F,{label:"zh"===s?"平台":"Platform",value:l.framework||"-"}),(0,r.jsx)(F,{label:"zh"===s?"模型":"Model",value:l.model||"-"}),(0,r.jsx)(F,{label:"zh"===s?"状态":"Status",value:g?"zh"===s?"运行中":"Running":m?"zh"===s?"成功":"Success":x?"zh"===s?"失败":"Failed":"zh"===s?"未评测":"Unjudged",valueColor:g?"var(--primary)":m?"var(--success)":x?"var(--error)":"var(--foreground-muted)"}),l.label&&(0,r.jsx)(F,{label:"zh"===s?"标签":"Tag",value:l.label})]}),(0,r.jsx)(M,{text:"zh"===s?"质量指标":"Quality metrics"}),(0,r.jsxs)("div",{style:D,children:[(0,r.jsx)(E,{label:"zh"===s?"准确率":"Accuracy",value:null!==h?`${h}%`:"--",tone:null===h?"muted":h>=80?"green":h>=50?"amber":"red"}),(0,r.jsx)(E,{label:"zh"===s?"技能召回率":"Skill Recall",value:null!==f?`${f}%`:"--",tone:null===f?"muted":f>=80?"green":f>=50?"amber":"red"}),(0,r.jsx)(E,{label:"zh"===s?"调用 Skill 数":"Skills used",value:String(y)}),(0,r.jsx)(E,{label:"zh"===s?"Skill 是否命中":"Skill correct",value:!0===l.is_skill_correct?"✓":!1===l.is_skill_correct?"✗":"--",tone:!0===l.is_skill_correct?"green":!1===l.is_skill_correct?"red":"muted"})]}),(0,r.jsx)(M,{text:"zh"===s?"性能指标":"Performance metrics"}),(0,r.jsxs)("div",{style:D,children:[(0,r.jsx)(E,{label:"zh"===s?"延迟":"Latency",value:(t=function(e,r){if(null==e)return;let t=(r||"").toLowerCase();return("opencode"===t||"openhands"===t||"claude"===t)&&e>0&&e<1e3?1e3*e:e}(l.latency,l.framework))&&Number.isFinite(t)?t<1e3?`${Math.round(t)}ms`:t<6e4?`${(t/1e3).toFixed(2)}s`:`${(t/6e4).toFixed(1)}m`:"-"}),(0,r.jsx)(E,{label:"zh"===s?"总 Token":"Total tokens",value:O(l.tokens)}),(0,r.jsx)(E,{label:"zh"===s?"成本":"Cost",value:"number"==typeof l.cost&&l.cost>0?`$${l.cost.toFixed(4)}`:"--"}),(0,r.jsx)(E,{label:"zh"===s?"LLM 调用":"LLM calls",value:O(l.llm_call_count)}),(0,r.jsx)(E,{label:"zh"===s?"工具调用":"Tool calls",value:O(l.tool_call_count)}),(0,r.jsx)(E,{label:"zh"===s?"工具错误":"Tool errors",value:O(l.tool_call_error_count),tone:(l.tool_call_error_count??0)>0?"red":"muted"})]}),(l.input_tokens||l.output_tokens)&&(0,r.jsxs)("div",{style:{display:"flex",gap:16,fontSize:11,color:"var(--foreground-muted)",marginTop:8},children:[null!=l.input_tokens&&(0,r.jsxs)("span",{children:["Input: ",O(l.input_tokens)]}),null!=l.output_tokens&&(0,r.jsxs)("span",{children:["Output: ",O(l.output_tokens)]})]}),(0,r.jsx)(M,{text:"zh"===s?"评分项分解":"Per-criterion breakdown",hint:p.length>0?`${p.length} ${"zh"===s?"项":"items"}`:void 0}),0===p.length?(0,r.jsx)("div",{style:{padding:"14px 16px",background:"var(--card-bg)",border:"1px dashed var(--border)",borderRadius:8,color:"var(--foreground-muted)",fontSize:12},children:l.judgment_reason?"zh"===s?"该执行没有结构化评分项(可能是自由文本评估)":"No structured criteria parsed (free-text judgment)":"zh"===s?"该执行尚未被评测":"Not yet evaluated"}):(0,r.jsx)("div",{style:{background:"var(--card-bg)",border:"1px solid var(--card-border)",borderRadius:8,overflow:"hidden"},children:(0,r.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:11.5},children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{style:{background:"var(--background-secondary)"},children:[(0,r.jsx)(H,{width:70,children:"ID"}),(0,r.jsx)(H,{children:"zh"===s?"评分标准":"Criterion"}),(0,r.jsx)(H,{width:70,align:"center",children:"zh"===s?"得分":"Score"}),(0,r.jsx)(H,{width:60,align:"center",children:"zh"===s?"权重":"Weight"}),(0,r.jsx)(H,{width:70,align:"center",children:"zh"===s?"扣分":"Deduction"}),(0,r.jsx)(H,{children:"zh"===s?"原因":"Reason"})]})}),(0,r.jsx)("tbody",{children:p.map((e,t)=>{let n=0===e.weight,o=n?0:(1-e.match_score)*e.weight;return(0,r.jsxs)("tr",{style:{borderBottom:"1px solid var(--table-row-border)",opacity:n?.65:1},children:[(0,r.jsx)(U,{children:(0,r.jsx)("span",{style:{background:"root_cause"===e.type?"var(--tag-amber-bg)":"var(--tag-blue-bg, var(--primary-subtle))",color:"root_cause"===e.type?"var(--tag-amber-fg)":"var(--primary)",padding:"1px 7px",borderRadius:5,fontSize:10,fontWeight:600},children:e.id})}),(0,r.jsx)(U,{children:(0,r.jsx)("span",{style:{wordBreak:"break-word"},children:e.content})}),(0,r.jsx)(U,{align:"center",children:(0,r.jsxs)("span",{style:{color:n?"var(--foreground-muted)":e.match_score>=1?"var(--success)":e.match_score>=.5?"var(--warning)":"var(--error)",fontWeight:600},children:[Math.round(100*e.match_score),"%"]})}),(0,r.jsx)(U,{align:"center",children:(0,r.jsx)("span",{style:{color:"var(--foreground-muted)"},children:n?"—":e.weight})}),(0,r.jsx)(U,{align:"center",children:(0,r.jsx)("span",{style:{color:o>0?"var(--error)":"var(--foreground-muted)"},children:n?"—":o.toFixed(2)})}),(0,r.jsx)(U,{children:(0,r.jsx)("span",{style:{color:"var(--foreground-secondary)",fontSize:11},children:e.explanation})})]},t)})})]})})]})}function A({msg:e,tone:t="muted"}){return(0,r.jsx)("div",{style:{padding:"40px 24px",textAlign:"center",color:"error"===t?"var(--error)":"warn"===t?"var(--warning)":"var(--foreground-muted)",fontSize:12},children:e})}function M({text:e,hint:t}){return(0,r.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:8,margin:"18px 0 8px"},children:[(0,r.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--foreground-secondary)",textTransform:"uppercase",letterSpacing:"0.06em"},children:e}),t&&(0,r.jsx)("span",{style:{fontSize:10.5,color:"var(--foreground-muted)"},children:t})]})}function F({label:e,value:t,valueColor:n}){return(0,r.jsxs)("span",{style:{display:"inline-flex",gap:4,alignItems:"baseline"},children:[(0,r.jsxs)("span",{style:{color:"var(--foreground-muted)"},children:[e,":"]}),(0,r.jsx)("span",{style:{color:n||"var(--foreground)",fontWeight:500},children:t})]})}function E({label:e,value:t,tone:n="default"}){return(0,r.jsxs)("div",{style:{background:"var(--card-bg)",border:"1px solid var(--card-border)",borderRadius:8,padding:"10px 14px"},children:[(0,r.jsx)("div",{style:{fontSize:10.5,color:"var(--foreground-muted)",textTransform:"uppercase",letterSpacing:"0.06em",marginBottom:4},children:e}),(0,r.jsx)("div",{style:{fontSize:18,fontWeight:600,color:"green"===n?"var(--success)":"amber"===n?"var(--warning)":"red"===n?"var(--error)":"muted"===n?"var(--foreground-muted)":"var(--foreground)",fontFamily:"var(--font-mono)"},children:t})]})}function H({children:e,width:t,align:n}){return(0,r.jsx)("th",{style:{padding:"8px 12px",fontSize:10.5,fontWeight:500,color:"var(--foreground-muted)",borderBottom:"1px solid var(--border)",textAlign:n||"left",width:t,whiteSpace:"nowrap"},children:e})}function U({children:e,align:t}){return(0,r.jsx)("td",{style:{padding:"8px 12px",fontSize:11.5,textAlign:t||"left",color:"var(--foreground)"},children:e})}let D={display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(160px, 1fr))",gap:8};function O(e){return"number"==typeof e?e.toLocaleString():"-"}var K=e.i(460435);function q(){return(0,r.jsx)(n.Suspense,{fallback:null,children:(0,r.jsx)(J,{})})}function J(){let{t:e,locale:n}=(0,P.useLocale)(),o=(0,t.useSearchParams)(),a=o?.get("taskId")||"";return a?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(R.AppTopBar,{title:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(K.Term,{id:"evaluator",label:e("nav.evalMetrics")}),` \xb7 ${"zh"===n?"单次执行":"Single execution"}`]})}),(0,r.jsx)("div",{style:{flex:1,overflowY:"auto"},children:(0,r.jsx)($,{taskId:a})})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(R.AppTopBar,{title:(0,r.jsx)(K.Term,{id:"evaluator",label:e("nav.evalMetrics")})}),(0,r.jsx)("div",{style:{flex:1,overflowY:"auto"},children:(0,r.jsx)(b,{})})]})}e.s(["default",()=>q],22e3)}]);
7
+ 这些字段都不是必填;目前仅支持以上四个变量。评估器最终需要输出 score 和 reason。`,h=()=>({name:"",description:"",systemPrompt:"",userPrompt:"",userPromptEnabled:!1});function y(){return{query:"",evaluatorTypes:[],targetTypes:[],objectives:[]}}function f(){return{nameQuery:"",creator:"all",typeFilter:""}}function v(e,r){return e.includes(r)?e.filter(e=>e!==r):[...e,r]}function b(){let{user:e}=(0,i.useAuth)(),o=(0,t.useRouter)(),[s,l]=(0,n.useState)([]),[x,b]=(0,n.useState)(!1),[T,R]=(0,n.useState)("custom"),[I,P]=(0,n.useState)(y),[N,L]=(0,n.useState)(f),[$,A]=(0,n.useState)(h),[M,E]=(0,n.useState)(null),[F,H]=(0,n.useState)("grid"),[U,D]=(0,n.useState)(!0),[O,K]=(0,n.useState)(""),[q,J]=(0,n.useState)(null),[Q,Y]=(0,n.useState)(null);(0,n.useEffect)(()=>{e||(l([]),b(!1))},[e]),(0,n.useEffect)(()=>{if(!e)return;let r=!1;return(async()=>{try{let t=[],[n,o]=await Promise.allSettled([(0,a.apiFetch)(`/api/user-evaluators?user=${encodeURIComponent(e)}`),(0,a.apiFetch)(`/api/eval/settings?user=${encodeURIComponent(e)}`)]);if("fulfilled"===n.status&&n.value.ok)try{let e=await n.value.json();Array.isArray(e)&&(t=e)}catch{}if("fulfilled"===o.status&&o.value.ok)try{let e=await o.value.json(),t=e?.activeConfigId,n=Array.isArray(e?.configs)?e.configs:[],a=t?n.find(e=>e.id===t):null;r||Y(a?{id:a.id,name:a.name||"(unnamed)",model:a.model||"(unknown)"}:null)}catch{}if(!r&&0===t.length)try{let r=window.localStorage.getItem("agent-insight-custom-evaluators"),n=r?JSON.parse(r):[];Array.isArray(n)&&n.length>0&&(t=n,await (0,a.apiFetch)("/api/user-evaluators",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:e,evaluators:t})}),window.localStorage.removeItem("agent-insight-custom-evaluators"))}catch{}r||(l(t),b(!0))}catch(e){r||K(e instanceof Error?e.message:"评估器数据加载失败")}finally{r||D(!1)}})(),()=>{r=!0}},[e]),(0,n.useEffect)(()=>{if(!e||!x)return;let r=window.setTimeout(()=>{(0,a.apiFetch)("/api/user-evaluators",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:e,evaluators:s})}).catch(()=>{})},600);return()=>window.clearTimeout(r)},[e,x,s]);let V=(0,n.useMemo)(()=>"preset"===T?c.presetEvaluators.filter(e=>{let r,t;return r=I.query.trim().toLowerCase(),t=`${e.name} ${e.description} ${e.mappedMetrics.join(" ")}`.toLowerCase(),(!r||!!t.includes(r))&&(!(I.evaluatorTypes.length>0)||!!I.evaluatorTypes.includes(e.evaluatorType))&&(!(I.targetTypes.length>0)||!!I.targetTypes.some(r=>e.targetTypes.includes(r)))&&(!(I.objectives.length>0)||!!I.objectives.some(r=>e.objectives.includes(r)))}):s.filter(r=>{let t,n;return t=N.nameQuery.trim().toLowerCase(),n=`${r.name} ${r.description} ${r.mappedMetrics.join(" ")}`.toLowerCase(),(!t||!!n.includes(t))&&(!N.typeFilter||r.evaluatorType===N.typeFilter)&&("mine"!==N.creator||!e||r.creator===e)}),[T,s,I,N,e]),X=(0,n.useMemo)(()=>({presetCount:c.presetEvaluators.length,customCount:s.length,readyCount:s.filter(e=>"ready"===e.status).length}),[s]),G=()=>{A(h()),E("llm"),K("")},Z=e=>{R(e),E(null),J(null)},ee=async r=>{if(!e||"custom"!==r.source||!globalThis.confirm(`确定删除评估器「${r.name}」?`))return;K("");let t=s.filter(e=>e.id!==r.id);l(t);try{let r=await (0,a.apiFetch)("/api/user-evaluators",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({user:e,evaluators:t})}),n=await r.json().catch(()=>({}));if(!r.ok||n?.success===!1)throw Error("删除失败")}catch(e){l(s),K(e instanceof Error?e.message:"删除失败")}};return U?(0,r.jsx)("div",{className:"loading",children:"正在整理评估器视图..."}):(0,r.jsxs)("div",{style:{padding:"18px 22px 28px",maxWidth:1500,margin:"0 auto"},children:[O&&(0,r.jsx)("div",{className:"ai-card",style:{padding:12,color:"var(--error)",marginBottom:14},children:O}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:16,marginBottom:10,flexWrap:"wrap"},children:[(0,r.jsxs)("div",{style:{minWidth:280,flex:1},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:6},children:[(0,r.jsx)("span",{className:"ai-badge ai-badge-b",children:"Evaluators"}),"preset"===T&&(0,r.jsx)("span",{style:{color:"var(--foreground-muted)",fontSize:11},children:"预置模板库"}),"custom"===T&&null===M&&(0,r.jsx)("span",{style:{color:"var(--foreground-muted)",fontSize:11},children:"自建评估方案"})]}),(0,r.jsx)("h1",{style:{margin:0,fontSize:22,lineHeight:1.2,fontWeight:600,color:"var(--foreground)"},children:"评估器"}),null===M&&(0,r.jsx)("p",{style:{margin:"6px 0 0",color:"var(--foreground-secondary)",fontSize:12.5,maxWidth:820},children:"custom"===T?"管理自建 LLM 评估器,配置会保存到服务端。点击卡片可进入详情编辑。":"预置评估器模板库:按类型与场景筛选,点击可查看详情与执行入口。"})]}),"preset"===T&&(0,r.jsx)("div",{style:{display:"flex",gap:8,alignItems:"center"},children:(0,r.jsx)("button",{type:"button",className:"ai-btn-s",onClick:()=>window.location.reload(),children:"刷新"})})]}),"preset"===T&&(0,r.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, minmax(160px, 1fr))",gap:10,marginBottom:14},children:[(0,r.jsx)(j,{label:"预置评估器",value:String(X.presetCount),detail:"LLM 评估器模板"}),(0,r.jsx)(j,{label:"自建评估器",value:String(X.customCount),detail:"已保存至账号"}),(0,r.jsx)(j,{label:"可用评估器",value:String(X.readyCount),detail:"状态为已就绪"})]}),(0,r.jsxs)("div",{style:{borderBottom:"1px solid var(--border)",marginBottom:0,display:"flex",gap:2},children:[(0,r.jsx)(k,{active:"custom"===T,onClick:()=>Z("custom"),children:"自建评估器"}),(0,r.jsx)(k,{active:"preset"===T,onClick:()=>Z("preset"),children:"预置评估器"})]}),"custom"===T&&"llm"===M?(0,r.jsx)(_,{draft:$,onChange:A,onBack:()=>{E(null),A(h()),K("")},onSubmit:()=>{let r=$.name.trim();if(!r)return void K("请填写评估器名称");if(!(0,u.isValidCustomEvaluatorName)(r))return void K("名称会作为链路追踪中的 agent 名称:必须以英文字母开头,仅支持字母、数字、下划线、连字符");if(!$.systemPrompt.trim())return void K("请填写 System Prompt");let t=(0,u.findUnsupportedCustomEvaluatorVariables)($.systemPrompt);if(t.length>0)return void K(`System Prompt 仅支持 {{input}}、{{output}}、{{reference_output}}、{{trajectory}},不支持:${t.map(e=>`{{${e}}}`).join("、")}`);let n={model:Q?.model||"",systemPrompt:$.systemPrompt.trim(),userPrompt:$.userPrompt.trim()},o={id:`custom-${Date.now()}`,name:r,description:$.description.trim()||"自建 LLM 评估器。",evaluatorType:"LLM",source:"custom",targetTypes:["结果"],objectives:["任务完成","内容质量"],scenarios:["Agent通用评测"],runMode:"LLM Judge",scoreRange:"0-1",popularity:0,mappedMetrics:n.model?["LLM 评测",n.model]:["LLM 评测"],status:"draft",creator:e||void 0,llmConfig:n};l(e=>[o,...e]),E(null),A(h()),R("custom"),K("")}}):"custom"===T?(0,r.jsxs)("div",{style:{paddingTop:16},children:[(0,r.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:10,marginBottom:16,justifyContent:"space-between"},children:[(0,r.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:10,flex:1,minWidth:280},children:[(0,r.jsx)("input",{value:N.nameQuery,onChange:e=>L(r=>({...r,nameQuery:e.target.value})),placeholder:"搜索名称",style:{minWidth:160,flex:"1 1 160px",maxWidth:280,height:34,borderRadius:8,border:"1px solid var(--input-border)",background:"var(--input-bg)",color:"var(--foreground)",padding:"0 12px",fontSize:12.5}}),(0,r.jsxs)("select",{value:N.typeFilter,onChange:e=>L(r=>({...r,typeFilter:e.target.value})),style:{height:34,borderRadius:8,border:"1px solid var(--input-border)",background:"var(--input-bg)",color:"var(--foreground)",padding:"0 10px",fontSize:12.5,minWidth:140},children:[(0,r.jsx)("option",{value:"",children:"请选择类型"}),(0,r.jsx)("option",{value:"LLM",children:"LLM"})]})]}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,r.jsx)("button",{type:"button",className:"ai-btn-s",title:"刷新",onClick:()=>window.location.reload(),children:"↻"}),(0,r.jsx)("button",{type:"button",className:"ai-btn-s",title:"grid"===F?"切换列表":"切换网格",onClick:()=>H(e=>"grid"===e?"list":"grid"),children:"grid"===F?"≡":"⊞"}),(0,r.jsx)("button",{type:"button",className:"ai-btn-p",onClick:G,children:"+ 新建评估器"})]})]}),0===V.length?(0,r.jsx)(B,{onCreateLlm:G}):"grid"===F?(0,r.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(2, minmax(320px, 1fr))",gap:12},children:V.map(e=>(0,r.jsx)(z,{card:e,activeTab:T,activeModel:Q,onModelConfigClick:()=>o.push("/modelconfig/defaults"),onDeleteCustom:ee},e.id))}):(0,r.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:8},children:V.map(e=>(0,r.jsx)(C,{card:e,onOpen:()=>o.push(`/metrics/evaluators/${encodeURIComponent(e.id)}`),onDeleteCustom:ee},e.id))})]}):(0,r.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"300px minmax(0, 1fr)",minHeight:620},children:[(0,r.jsxs)("aside",{style:{borderRight:"1px solid var(--border)",padding:"16px 18px 16px 0"},children:[(0,r.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:14},children:[(0,r.jsx)("div",{className:"ai-section-title",children:"评估器筛选"}),(0,r.jsx)("button",{type:"button",className:"ai-btn-s",onClick:()=>P(y()),children:"清空"})]}),(0,r.jsx)(S,{title:"类型",options:p,values:I.evaluatorTypes,onToggle:e=>P(r=>({...r,evaluatorTypes:v(r.evaluatorTypes,e)}))}),(0,r.jsx)(S,{title:"场景",options:g,values:I.targetTypes,onToggle:e=>P(r=>({...r,targetTypes:v(r.targetTypes,e)}))}),(0,r.jsx)(S,{title:"评估目标",options:m,values:I.objectives,onToggle:e=>P(r=>({...r,objectives:v(r.objectives,e)}))})]}),(0,r.jsxs)("main",{style:{padding:16},children:[(0,r.jsx)("div",{style:{marginBottom:14},children:(0,r.jsx)("input",{value:I.query,onChange:e=>P(r=>({...r,query:e.target.value})),placeholder:"搜索评估器名称、说明或指标",style:{width:"100%",height:34,borderRadius:8,border:"1px solid var(--input-border)",background:"var(--input-bg)",color:"var(--foreground)",padding:"0 12px",fontSize:12.5}})}),0===V.length?(0,r.jsx)(W,{}):(0,r.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(2, minmax(320px, 1fr))",gap:12},children:V.map(e=>(0,r.jsx)(z,{card:e,activeTab:T,onInspectPreset:J,activeModel:Q,onModelConfigClick:()=>o.push("/modelconfig/defaults"),onDeleteCustom:ee},e.id))})]})]}),q&&d[q.id]?(0,r.jsx)(w,{card:q,detail:d[q.id],onClose:()=>J(null)}):null]})}function j({label:e,value:t,detail:n}){return(0,r.jsxs)("div",{className:"ai-stat",style:{minHeight:74},children:[(0,r.jsx)("div",{className:"ai-stat-lbl",children:e}),(0,r.jsx)("div",{className:"ai-stat-val",children:t}),(0,r.jsx)("div",{className:"ai-stat-d",style:{color:"var(--foreground-muted)"},children:n})]})}function k({active:e,children:t,onClick:n}){return(0,r.jsx)("button",{type:"button",onClick:n,style:{height:36,padding:"0 16px",border:"1px solid var(--border)",borderBottom:e?"2px solid var(--primary)":"1px solid var(--border)",background:e?"var(--background)":"var(--background-secondary)",color:e?"var(--primary)":"var(--foreground)",fontWeight:e?600:400,cursor:"pointer",borderRadius:"7px 7px 0 0",marginBottom:-1},children:t})}function S({title:e,options:t,values:n,onToggle:o}){return(0,r.jsxs)("div",{style:{marginBottom:18},children:[(0,r.jsx)("div",{style:{color:"var(--foreground-secondary)",fontSize:12,marginBottom:9},children:e}),(0,r.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:t.map(e=>{let t=n.includes(e);return(0,r.jsx)("button",{type:"button",onClick:()=>o(e),style:{minHeight:34,padding:"0 16px",borderRadius:8,border:`1px solid ${t?"var(--primary-subtle-border)":"var(--border)"}`,background:t?"var(--primary-subtle)":"var(--background)",color:t?"var(--primary)":"var(--foreground-secondary)",cursor:"pointer",fontSize:12.5},children:e},e)})})]})}function w({card:e,detail:t,onClose:o}){(0,n.useEffect)(()=>{let e=e=>{"Escape"===e.key&&o()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[o]);let a=t.systemPrompt??"";async function i(){try{a&&await navigator.clipboard.writeText(a)}catch{}}let s=[...t.mediaTags??[],e.evaluatorType,...e.objectives.slice(0,2),...e.scenarios.slice(0,1)];return(0,r.jsx)("div",{role:"dialog","aria-modal":"true","aria-labelledby":"preset-inspect-title",style:{position:"fixed",inset:0,zIndex:100,display:"flex",alignItems:"flex-start",justifyContent:"center",padding:"24px 16px",overflowY:"auto",background:"rgba(0,0,0,0.45)"},onClick:o,children:(0,r.jsxs)("div",{className:"ai-card",style:{width:"100%",maxWidth:720,marginTop:12,marginBottom:40,padding:22,position:"relative",maxHeight:"92vh",overflowY:"auto",boxShadow:"var(--shadow)"},onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:12,marginBottom:16},children:[(0,r.jsx)("h2",{id:"preset-inspect-title",style:{margin:0,fontSize:18,fontWeight:650,color:"var(--foreground)"},children:e.name}),(0,r.jsx)("button",{type:"button",className:"ai-btn-s","aria-label":"关闭",onClick:o,children:"×"})]}),(0,r.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6,marginBottom:14},children:s.map((e,t)=>(0,r.jsx)("span",{style:{background:"var(--background-tertiary)",color:"var(--foreground-secondary)",borderRadius:6,padding:"4px 9px",fontSize:11},children:e},`${e}-${t}`))}),(0,r.jsxs)("section",{style:{marginBottom:18},children:[(0,r.jsx)("div",{style:{fontSize:12.5,fontWeight:600,marginBottom:8,color:"var(--foreground)"},children:"应用场景"}),(0,r.jsx)("p",{style:{margin:0,fontSize:13,lineHeight:1.65,color:"var(--foreground-secondary)"},children:t.applicationScenario})]}),"llm"===t.kind&&a?(0,r.jsxs)("section",{style:{marginBottom:18},children:[(0,r.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:8},children:[(0,r.jsx)("span",{style:{fontSize:12.5,fontWeight:600,color:"var(--foreground)"},children:"Prompt"}),(0,r.jsx)("button",{type:"button",className:"ai-btn-s",onClick:()=>i(),children:"复制 System"})]}),(0,r.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:8,background:"var(--background-secondary)",padding:"12px 14px"},children:[(0,r.jsx)("div",{style:{fontSize:11,color:"var(--foreground-muted)",marginBottom:8},children:"System"}),(0,r.jsx)("pre",{style:{margin:0,whiteSpace:"pre-wrap",wordBreak:"break-word",fontSize:12.5,lineHeight:1.55,color:"var(--foreground)",fontFamily:"ui-monospace, monospace"},children:a})]}),(t.variables?.length??0)>0?(0,r.jsxs)("div",{style:{marginTop:12},children:[(0,r.jsx)("div",{style:{fontSize:12,fontWeight:600,marginBottom:6,color:"var(--foreground)"},children:"Variables"}),(0,r.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:t.variables.map(e=>(0,r.jsx)("code",{style:{fontSize:12,padding:"4px 8px",borderRadius:6,background:"var(--background-tertiary)",color:"var(--primary)"},children:`{{${e}}}`},e))})]}):null]}):null,("code"===t.kind||"rpc"===t.kind)&&(0,r.jsxs)("section",{style:{marginBottom:18},children:[(0,r.jsx)("div",{style:{fontSize:12.5,fontWeight:600,marginBottom:8,color:"var(--foreground)"},children:"code"===t.kind?"规则 / 脚本说明":"RPC 契约"}),t.implementationNote?(0,r.jsx)("p",{style:{margin:"0 0 12px",fontSize:13,lineHeight:1.65,color:"var(--foreground-secondary)"},children:t.implementationNote}):null,t.codeOrContractExample?(0,r.jsx)("pre",{style:{margin:0,padding:"12px 14px",borderRadius:8,border:"1px solid var(--border)",background:"var(--input-bg)",fontSize:12,lineHeight:1.45,overflowX:"auto",whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"ui-monospace, monospace"},children:t.codeOrContractExample}):null]}),(0,r.jsxs)("section",{style:{marginBottom:18,padding:14,borderRadius:8,background:"var(--background-secondary)",border:"1px solid var(--border)"},children:[(0,r.jsx)("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:10},children:(0,r.jsx)("span",{style:{fontSize:12.5,fontWeight:600},children:"输出"})}),(0,r.jsxs)("p",{style:{margin:"0 0 10px",fontSize:12.5,lineHeight:1.65,color:"var(--foreground-secondary)"},children:[(0,r.jsx)("strong",{style:{color:"var(--foreground)"},children:"得分:"}),t.outputScoreText]}),(0,r.jsxs)("p",{style:{margin:0,fontSize:12.5,lineHeight:1.65,color:"var(--foreground-secondary)"},children:[(0,r.jsx)("strong",{style:{color:"var(--foreground)"},children:"原因:"}),t.outputReasonText]})]}),(0,r.jsx)("div",{style:{display:"flex",gap:8,justifyContent:"flex-end",flexWrap:"wrap"},children:(0,r.jsx)("button",{type:"button",className:"ai-btn-s",onClick:o,children:"关闭"})})]})})}function z({card:e,activeTab:n,onInspectPreset:o,activeModel:a,onModelConfigClick:i,onDeleteCustom:s}){let l=(0,t.useRouter)(),c="preset"===e.source&&!!d[e.id],u=()=>{"preset"===n&&c&&o?.(e)},p=()=>{"custom"===n&&l.push(`/metrics/evaluators/${encodeURIComponent(e.id)}`)},g="preset"===n&&c||"custom"===n;return(0,r.jsxs)("article",{className:"ai-card",role:g?"button":void 0,tabIndex:g?0:void 0,onClick:e=>{e.target.closest("button")||("preset"===n&&c?u():"custom"===n&&p())},onKeyDown:e=>{g&&("Enter"===e.key||" "===e.key)&&(e.preventDefault(),"preset"===n&&c?u():"custom"===n&&p())},style:{padding:16,minHeight:176,display:"flex",flexDirection:"column",gap:12,cursor:g?"pointer":void 0},children:[(0,r.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",gap:10},children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{style:{margin:0,color:"var(--foreground)",fontSize:15.5,fontWeight:600},children:e.name}),(0,r.jsx)("p",{style:{margin:"8px 0 0",color:"var(--foreground-secondary)",fontSize:12.5,lineHeight:1.6},children:e.description}),"preset"===n&&c?(0,r.jsx)("p",{style:{margin:"4px 0 0",fontSize:11,color:"var(--foreground-muted)"},children:"点击查看详情"}):null,"custom"===n?(0,r.jsx)("p",{style:{margin:"4px 0 0",fontSize:11,color:"var(--foreground-muted)"},children:"点击查看或编辑"}):null]}),(0,r.jsx)("span",{className:`ai-badge ${"Code"===e.evaluatorType?"ai-badge-b":"Custom RPC"===e.evaluatorType?"ai-badge-g":"ai-badge-gr"}`,style:{height:22,whiteSpace:"nowrap"},children:e.evaluatorType})]}),(0,r.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:[e.runMode,...e.targetTypes,...e.objectives,...e.scenarios.slice(0,2)].map(e=>(0,r.jsx)("span",{style:{background:"var(--background-tertiary)",color:"var(--foreground-secondary)",borderRadius:4,padding:"3px 7px",fontSize:11},children:e},e))}),(0,r.jsx)("div",{style:{marginTop:"auto"},children:(0,r.jsx)(T,{label:"评分",value:e.scoreRange})}),e.runtimeHref?(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"6px 8px",background:"var(--background-secondary)",border:"1px solid var(--border)",borderRadius:6,fontSize:11},onClick:e=>e.stopPropagation(),children:[(0,r.jsx)("span",{style:{color:"var(--foreground-muted)"},children:"运行模型:"}),a?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{style:{fontWeight:600,color:"var(--foreground)"},children:a.name}),(0,r.jsxs)("span",{style:{color:"var(--foreground-muted)",fontFamily:"monospace"},children:["· ",a.model]}),(0,r.jsx)("span",{style:{color:"var(--foreground-muted)"},children:"(来自全局默认)"})]}):(0,r.jsx)("span",{style:{color:"var(--error)",fontWeight:500},children:"未配置"}),(0,r.jsx)("span",{style:{flex:1}}),i?(0,r.jsx)("button",{type:"button",className:"ai-btn-s",style:{fontSize:10.5,padding:"2px 8px"},onClick:e=>{e.stopPropagation(),i()},children:a?"修改":"去配置"}):null]}):null,(0,r.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",gap:8,alignItems:"center"},children:[(0,r.jsx)("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:(0,r.jsx)("span",{className:`ai-badge ${"ready"===e.status?"ai-badge-g":"draft"===e.status?"ai-badge-gr":"ai-badge-b"}`,children:"ready"===e.status?"已就绪":"draft"===e.status?"草稿":"预置"})}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:["custom"===n&&s?(0,r.jsx)("button",{type:"button",className:"ai-btn-s",style:{color:"var(--error)"},onClick:r=>{r.stopPropagation(),s(e)},children:"删除"}):null,e.runtimeHref?(0,r.jsx)("button",{type:"button",className:"ai-btn-sp",onClick:r=>{r.stopPropagation();let t=new URL(e.runtimeHref,window.location.origin);t.searchParams.set("evaluatorId",e.id),l.push(t.pathname+t.search)},style:{whiteSpace:"nowrap"},children:"前往评测执行 →"}):null]})]})]})}function C({card:e,onOpen:t,onDeleteCustom:n}){return(0,r.jsxs)("div",{className:"ai-card",role:"button",tabIndex:0,onClick:t,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),t())},style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,padding:"12px 14px",flexWrap:"wrap",cursor:"pointer"},children:[(0,r.jsxs)("div",{style:{minWidth:200,flex:1},children:[(0,r.jsx)("div",{style:{fontWeight:600,color:"var(--foreground)"},children:e.name}),(0,r.jsx)("div",{style:{fontSize:12,color:"var(--foreground-muted)",marginTop:4},children:e.description})]}),(0,r.jsx)("span",{className:`ai-badge ${"Code"===e.evaluatorType?"ai-badge-b":"Custom RPC"===e.evaluatorType?"ai-badge-g":"ai-badge-gr"}`,children:e.evaluatorType}),(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8},children:[(0,r.jsx)("span",{className:`ai-badge ${"ready"===e.status?"ai-badge-g":"draft"===e.status?"ai-badge-gr":"ai-badge-b"}`,children:"ready"===e.status?"已就绪":"draft"===e.status?"草稿":"预置"}),"custom"===e.source&&n?(0,r.jsx)("button",{type:"button",className:"ai-btn-s",style:{color:"var(--error)"},onClick:r=>{r.stopPropagation(),n(e)},children:"删除"}):null]})]})}function T({label:e,value:t}){return(0,r.jsxs)("div",{style:{border:"1px solid var(--border)",background:"var(--background-secondary)",borderRadius:7,padding:8},children:[(0,r.jsx)("div",{style:{color:"var(--foreground-muted)",fontSize:11,marginBottom:3},children:e}),(0,r.jsx)("div",{style:{color:"var(--foreground)",fontSize:12.5,fontWeight:500},children:t})]})}function _({draft:e,onChange:t,onBack:n,onSubmit:a}){return(0,r.jsxs)("div",{style:{paddingTop:20,maxWidth:800},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:24},children:[(0,r.jsx)("button",{type:"button",className:"ai-btn-s",onClick:n,"aria-label":"返回",style:{minWidth:36,padding:"6px 10px"},children:"←"}),(0,r.jsx)("h2",{style:{margin:0,fontSize:18,fontWeight:600,color:"var(--foreground)"},children:"新建评估器"})]}),(0,r.jsxs)("section",{style:{marginBottom:28},children:[(0,r.jsx)("div",{className:"ai-section-title",style:{marginBottom:14},children:"基础信息"}),(0,r.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:6,marginBottom:14},children:[(0,r.jsxs)("span",{style:{fontSize:12,fontWeight:600,color:"var(--foreground)"},children:[(0,r.jsx)("span",{style:{color:"var(--error)"},children:"* "}),"名称"]}),(0,r.jsx)("input",{value:e.name,maxLength:50,onChange:r=>t({...e,name:r.target.value}),placeholder:"例如 custom_eval_agent",style:{height:36,borderRadius:8,border:"1px solid var(--input-border)",background:"var(--input-bg)",color:"var(--foreground)",padding:"0 12px",fontSize:13}}),(0,r.jsx)("span",{style:{fontSize:11,color:"var(--foreground-muted)"},children:"名称会作为链路追踪中的 agent 名称,仅支持英文、数字、下划线、连字符,且必须以英文字母开头。"}),(0,r.jsxs)("span",{style:{fontSize:11,color:"var(--foreground-muted)",textAlign:"right"},children:[e.name.length,"/50"]})]}),(0,r.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,r.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--foreground)"},children:"描述"}),(0,r.jsx)("textarea",{value:e.description,maxLength:200,onChange:r=>t({...e,description:r.target.value}),placeholder:"请输入描述",rows:3,style:{borderRadius:8,border:"1px solid var(--input-border)",background:"var(--input-bg)",color:"var(--foreground)",padding:"10px 12px",fontSize:13,resize:"vertical"}}),(0,r.jsxs)("span",{style:{fontSize:11,color:"var(--foreground-muted)",textAlign:"right"},children:[e.description.length,"/200"]})]})]}),(0,r.jsxs)("section",{style:{marginBottom:28},children:[(0,r.jsx)("div",{className:"ai-section-title",style:{marginBottom:14},children:"配置信息"}),(0,r.jsxs)("label",{style:{display:"flex",flexDirection:"column",gap:6,marginBottom:16},children:[(0,r.jsxs)("span",{style:{fontSize:12,fontWeight:600,color:"var(--foreground)"},children:[(0,r.jsx)("span",{style:{color:"var(--error)"},children:"* "}),"Prompt · System"]}),(0,r.jsx)("textarea",{value:e.systemPrompt,onChange:r=>t({...e,systemPrompt:r.target.value}),placeholder:x,rows:12,style:{borderRadius:8,border:"1px solid var(--input-border)",background:"var(--input-bg)",color:"var(--foreground)",padding:"12px",fontSize:12.5,lineHeight:1.55,fontFamily:"var(--font-mono, ui-monospace, monospace)",resize:"vertical"}})]}),(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:[(0,r.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--foreground)"},children:"User Prompt"}),e.userPromptEnabled?(0,r.jsxs)("div",{style:{border:"1px solid var(--input-border)",borderRadius:10,overflow:"hidden",background:"var(--background)"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:10,padding:"10px 14px",borderBottom:"1px solid var(--border)",background:"color-mix(in srgb, var(--foreground) 2%, var(--background))"},children:[(0,r.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--foreground-muted)",letterSpacing:"0.04em"},children:"User"}),(0,r.jsx)("button",{type:"button",className:"ai-btn-s",style:{border:"none",background:"transparent",padding:0,color:"var(--foreground-muted)"},onClick:()=>t({...e,userPrompt:"",userPromptEnabled:!1}),children:"清空"})]}),(0,r.jsx)("textarea",{value:e.userPrompt,onChange:r=>t({...e,userPrompt:r.target.value}),placeholder:"请输入可选的 user prompt",rows:4,style:{width:"100%",border:"none",outline:"none",background:"transparent",color:"var(--foreground)",padding:"12px 14px",fontSize:12.5,lineHeight:1.6,resize:"vertical",boxSizing:"border-box"}})]}):(0,r.jsx)("button",{type:"button",className:"ai-btn-s",style:{width:"100%",minHeight:44,border:"1px dashed var(--input-border)",borderRadius:10,background:"color-mix(in srgb, var(--foreground) 4%, var(--background))",color:"var(--foreground-secondary)",fontSize:13,fontWeight:600},onClick:()=>t({...e,userPromptEnabled:!0}),children:"+ 添加 User Prompt"})]})]}),(0,r.jsxs)("section",{style:{marginBottom:28,padding:14,borderRadius:8,background:"var(--background-secondary)",border:"1px solid var(--border)"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:10},children:[(0,r.jsx)("span",{className:"ai-section-title",style:{margin:0},children:"输出"}),(0,r.jsx)("span",{title:"评测模型须遵守的输出约定","aria-label":"评测模型须遵守的输出约定",style:{cursor:"help",color:"var(--foreground-muted)",display:"inline-flex",alignItems:"center"},children:(0,r.jsx)(o.Info,{style:{width:16,height:16},"aria-hidden":!0})})]}),(0,r.jsxs)("p",{style:{margin:"0 0 10px",fontSize:12.5,color:"var(--foreground-secondary)",lineHeight:1.65},children:[(0,r.jsx)("strong",{style:{color:"var(--foreground)"},children:"得分:"}),"最终须给出 0.0~1.0 的数值型分数:1.0 表示完全符合标准,0.0 表示完全不符合。"]}),(0,r.jsxs)("p",{style:{margin:0,fontSize:12.5,color:"var(--foreground-secondary)",lineHeight:1.65},children:[(0,r.jsx)("strong",{style:{color:"var(--foreground)"},children:"原因:"}),"须提供可读的中文说明,并以固定收束句式结尾:",(0,r.jsx)("code",{style:{fontSize:12},children:"因此,应该给出[分数]是合理的评分"}),"。"]})]}),(0,r.jsxs)("div",{style:{display:"flex",gap:10,justifyContent:"flex-end"},children:[(0,r.jsx)("button",{type:"button",className:"ai-btn-s",onClick:n,children:"取消"}),(0,r.jsx)("button",{type:"button",className:"ai-btn-p",onClick:a,children:"创建"})]})]})}function W(){return(0,r.jsxs)("div",{style:{border:"1px dashed var(--border-dark)",borderRadius:8,padding:28,textAlign:"center",background:"var(--background-secondary)"},children:[(0,r.jsx)("div",{style:{color:"var(--foreground)",fontWeight:500,marginBottom:6},children:"没有匹配的评估器"}),(0,r.jsx)("div",{style:{color:"var(--foreground-muted)",fontSize:12},children:"调整筛选条件,或在「自建评估器」中新建。"})]})}function B({onCreateLlm:e}){return(0,r.jsxs)("div",{style:{border:"1px dashed var(--border-dark)",borderRadius:8,padding:"48px 28px",textAlign:"center",background:"var(--background-secondary)"},children:[(0,r.jsx)("div",{style:{color:"var(--foreground)",fontWeight:500,marginBottom:8,fontSize:15},children:"暂无自建评估器"}),(0,r.jsx)("div",{style:{color:"var(--foreground-muted)",fontSize:12.5,marginBottom:18},children:"点击右上角「+ 新建评估器」开始配置 LLM 评估器。"}),(0,r.jsx)("div",{style:{display:"flex",gap:10,justifyContent:"center",flexWrap:"wrap"},children:(0,r.jsx)("button",{type:"button",className:"ai-btn-p",onClick:e,children:"新建 LLM 评估器"})})]})}var R=e.i(540568),I=e.i(167225),P=e.i(522016),N=e.i(726526),L=e.i(601461);let $=I.default.env.NEXT_PUBLIC_URL_PREFIX||"";function A({taskId:e}){let{user:t}=(0,i.useAuth)(),{locale:o}=(0,N.useLocale)(),[s,l]=(0,n.useState)(null),[d,c]=(0,n.useState)("loading");(0,n.useEffect)(()=>{t&&e&&(c("loading"),(0,a.apiFetch)(`/api/observe/data?user=${encodeURIComponent(t)}&taskId=${encodeURIComponent(e)}`).then(e=>e.ok?e.json():Promise.reject("http")).then(e=>{Array.isArray(e)&&e.length>0?(l(e[0]),c("ready")):c("notfound")}).catch(()=>c("error")))},[t,e]);let u=(0,n.useMemo)(()=>s?.judgment_reason?function(e){let r=[];if(!e)return r;let t=e.split("\n"),n={rc:0,ka:0};for(let e of t){let t=e.match(/\*\*Root Cause\*\*\s*\[(.*?)\]\s*.*?:\s*(\d+)%\s*match\.\s*(.+?)\s*\(Weight:\s*([\d.]+)\)/);if(t){r.push({id:`RC-${n.rc++}`,type:"root_cause",content:t[1].replace(/\.{3}$/,""),match_score:parseInt(t[2])/100,explanation:t[3].trim(),weight:parseFloat(t[4])});continue}let o=e.match(/\*\*Key Action\*\*\s*\[(.*?)\]\s*.*?:\s*(\d+)%\s*match\.\s*(.+?)\s*\(Weight:\s*([\d.]+)\)/);if(o){r.push({id:`KA-${n.ka++}`,type:"key_action",content:o[1].replace(/\.{3}$/,""),match_score:parseInt(o[2])/100,explanation:o[3].trim(),weight:parseFloat(o[4])});continue}let a=e.match(/\*\*Key Action\*\*\s*\[(.*?)\]\s*.*?:\s*(\d+)%\s*match\.\s*(.+?)\s*\(该分支未触发,不计入总分\)/);a&&r.push({id:`KA-${n.ka++}`,type:"key_action",content:a[1].replace(/\.{3}$/,""),match_score:parseInt(a[2])/100,explanation:a[3].trim(),weight:0})}return r}(s.judgment_reason):[],[s?.judgment_reason]);if("loading"===d)return(0,r.jsx)(M,{msg:"zh"===o?"正在加载执行数据…":"Loading execution…"});if("error"===d)return(0,r.jsx)(M,{msg:"zh"===o?"加载失败":"Load failed",tone:"error"});if("notfound"===d||!s)return(0,r.jsx)(M,{msg:"zh"===o?`没有找到 taskId=${e} 的执行记录`:`No execution found for taskId=${e}`,tone:"warn"});let p=s.is_evaluating||"结果评估中..."===s.judgment_reason||"Evaluation in progress..."===s.judgment_reason,g=!p&&!0===s.is_answer_correct,m=!p&&!1===s.is_answer_correct,x="number"==typeof s.answer_score?Math.round(100*s.answer_score):null,h=(s.invoked_skills?.length??0)||(s.skills?.length??0)||+!!s.skill,y="number"==typeof s.skill_trigger_rate?Math.round(100*s.skill_trigger_rate):null;return(0,r.jsxs)("div",{style:{padding:"20px 22px",maxWidth:1180,margin:"0 auto"},children:[(0,r.jsxs)("div",{style:{background:"var(--card-bg)",border:"1px solid var(--card-border)",borderRadius:10,padding:"14px 18px",marginBottom:14,display:"flex",alignItems:"center",gap:14},children:[(0,r.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,r.jsxs)("div",{style:{fontSize:10.5,color:"var(--foreground-muted)",fontFamily:"var(--font-mono)",marginBottom:4},children:[e,s.timestamp&&(0,r.jsxs)("span",{children:[" · ",new Date(s.timestamp).toLocaleString()]})]}),(0,r.jsx)("div",{style:{fontSize:13.5,fontWeight:500,color:"var(--foreground)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:s.query||("zh"===o?"(无问题)":"(no query)")})]}),(0,r.jsx)(P.default,{href:`${$}/skill-eval?taskId=${e}`,className:"ai-btn-s",style:{textDecoration:"none",fontSize:11,flexShrink:0},children:"zh"===o?"调测分析 ↗":"Skill diagnosis ↗"})]}),(0,r.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:12,marginBottom:12,fontSize:11.5,color:"var(--foreground-secondary)"},children:[(0,r.jsx)(F,{label:"zh"===o?"平台":"Platform",value:s.framework||"-"}),(0,r.jsx)(F,{label:"zh"===o?"模型":"Model",value:s.model||"-"}),(0,r.jsx)(F,{label:"zh"===o?"状态":"Status",value:p?"zh"===o?"运行中":"Running":g?"zh"===o?"成功":"Success":m?"zh"===o?"失败":"Failed":"zh"===o?"未评测":"Unjudged",valueColor:p?"var(--primary)":g?"var(--success)":m?"var(--error)":"var(--foreground-muted)"}),s.label&&(0,r.jsx)(F,{label:"zh"===o?"标签":"Tag",value:s.label})]}),(0,r.jsx)(E,{text:"zh"===o?"质量指标":"Quality metrics"}),(0,r.jsxs)("div",{style:O,children:[(0,r.jsx)(H,{label:"zh"===o?"准确率":"Accuracy",value:null!==x?`${x}%`:"--",tone:null===x?"muted":x>=80?"green":x>=50?"amber":"red"}),(0,r.jsx)(H,{label:"zh"===o?"技能召回率":"Skill Recall",value:null!==y?`${y}%`:"--",tone:null===y?"muted":y>=80?"green":y>=50?"amber":"red"}),(0,r.jsx)(H,{label:"zh"===o?"调用 Skill 数":"Skills used",value:String(h)}),(0,r.jsx)(H,{label:"zh"===o?"Skill 是否命中":"Skill correct",value:!0===s.is_skill_correct?"✓":!1===s.is_skill_correct?"✗":"--",tone:!0===s.is_skill_correct?"green":!1===s.is_skill_correct?"red":"muted"})]}),(0,r.jsx)(E,{text:"zh"===o?"性能指标":"Performance metrics"}),(0,r.jsxs)("div",{style:O,children:[(0,r.jsx)(H,{label:"zh"===o?"延迟":"Latency",value:(0,L.formatLatencySeconds)(s.latency)}),(0,r.jsx)(H,{label:"zh"===o?"总 Token":"Total tokens",value:K(s.tokens)}),(0,r.jsx)(H,{label:"zh"===o?"成本":"Cost",value:"number"==typeof s.cost&&s.cost>0?`$${s.cost.toFixed(4)}`:"--"}),(0,r.jsx)(H,{label:"zh"===o?"LLM 调用":"LLM calls",value:K(s.llm_call_count)}),(0,r.jsx)(H,{label:"zh"===o?"工具调用":"Tool calls",value:K(s.tool_call_count)}),(0,r.jsx)(H,{label:"zh"===o?"工具错误":"Tool errors",value:K(s.tool_call_error_count),tone:(s.tool_call_error_count??0)>0?"red":"muted"})]}),(s.input_tokens||s.output_tokens)&&(0,r.jsxs)("div",{style:{display:"flex",gap:16,fontSize:11,color:"var(--foreground-muted)",marginTop:8},children:[null!=s.input_tokens&&(0,r.jsxs)("span",{children:["Input: ",K(s.input_tokens)]}),null!=s.output_tokens&&(0,r.jsxs)("span",{children:["Output: ",K(s.output_tokens)]})]}),(0,r.jsx)(E,{text:"zh"===o?"评分项分解":"Per-criterion breakdown",hint:u.length>0?`${u.length} ${"zh"===o?"项":"items"}`:void 0}),0===u.length?(0,r.jsx)("div",{style:{padding:"14px 16px",background:"var(--card-bg)",border:"1px dashed var(--border)",borderRadius:8,color:"var(--foreground-muted)",fontSize:12},children:s.judgment_reason?"zh"===o?"该执行没有结构化评分项(可能是自由文本评估)":"No structured criteria parsed (free-text judgment)":"zh"===o?"该执行尚未被评测":"Not yet evaluated"}):(0,r.jsx)("div",{style:{background:"var(--card-bg)",border:"1px solid var(--card-border)",borderRadius:8,overflow:"hidden"},children:(0,r.jsxs)("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:11.5},children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{style:{background:"var(--background-secondary)"},children:[(0,r.jsx)(U,{width:70,children:"ID"}),(0,r.jsx)(U,{children:"zh"===o?"评分标准":"Criterion"}),(0,r.jsx)(U,{width:70,align:"center",children:"zh"===o?"得分":"Score"}),(0,r.jsx)(U,{width:60,align:"center",children:"zh"===o?"权重":"Weight"}),(0,r.jsx)(U,{width:70,align:"center",children:"zh"===o?"扣分":"Deduction"}),(0,r.jsx)(U,{children:"zh"===o?"原因":"Reason"})]})}),(0,r.jsx)("tbody",{children:u.map((e,t)=>{let n=0===e.weight,o=n?0:(1-e.match_score)*e.weight;return(0,r.jsxs)("tr",{style:{borderBottom:"1px solid var(--table-row-border)",opacity:n?.65:1},children:[(0,r.jsx)(D,{children:(0,r.jsx)("span",{style:{background:"root_cause"===e.type?"var(--tag-amber-bg)":"var(--tag-blue-bg, var(--primary-subtle))",color:"root_cause"===e.type?"var(--tag-amber-fg)":"var(--primary)",padding:"1px 7px",borderRadius:5,fontSize:10,fontWeight:600},children:e.id})}),(0,r.jsx)(D,{children:(0,r.jsx)("span",{style:{wordBreak:"break-word"},children:e.content})}),(0,r.jsx)(D,{align:"center",children:(0,r.jsxs)("span",{style:{color:n?"var(--foreground-muted)":e.match_score>=1?"var(--success)":e.match_score>=.5?"var(--warning)":"var(--error)",fontWeight:600},children:[Math.round(100*e.match_score),"%"]})}),(0,r.jsx)(D,{align:"center",children:(0,r.jsx)("span",{style:{color:"var(--foreground-muted)"},children:n?"—":e.weight})}),(0,r.jsx)(D,{align:"center",children:(0,r.jsx)("span",{style:{color:o>0?"var(--error)":"var(--foreground-muted)"},children:n?"—":o.toFixed(2)})}),(0,r.jsx)(D,{children:(0,r.jsx)("span",{style:{color:"var(--foreground-secondary)",fontSize:11},children:e.explanation})})]},t)})})]})})]})}function M({msg:e,tone:t="muted"}){return(0,r.jsx)("div",{style:{padding:"40px 24px",textAlign:"center",color:"error"===t?"var(--error)":"warn"===t?"var(--warning)":"var(--foreground-muted)",fontSize:12},children:e})}function E({text:e,hint:t}){return(0,r.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:8,margin:"18px 0 8px"},children:[(0,r.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"var(--foreground-secondary)",textTransform:"uppercase",letterSpacing:"0.06em"},children:e}),t&&(0,r.jsx)("span",{style:{fontSize:10.5,color:"var(--foreground-muted)"},children:t})]})}function F({label:e,value:t,valueColor:n}){return(0,r.jsxs)("span",{style:{display:"inline-flex",gap:4,alignItems:"baseline"},children:[(0,r.jsxs)("span",{style:{color:"var(--foreground-muted)"},children:[e,":"]}),(0,r.jsx)("span",{style:{color:n||"var(--foreground)",fontWeight:500},children:t})]})}function H({label:e,value:t,tone:n="default"}){return(0,r.jsxs)("div",{style:{background:"var(--card-bg)",border:"1px solid var(--card-border)",borderRadius:8,padding:"10px 14px"},children:[(0,r.jsx)("div",{style:{fontSize:10.5,color:"var(--foreground-muted)",textTransform:"uppercase",letterSpacing:"0.06em",marginBottom:4},children:e}),(0,r.jsx)("div",{style:{fontSize:18,fontWeight:600,color:"green"===n?"var(--success)":"amber"===n?"var(--warning)":"red"===n?"var(--error)":"muted"===n?"var(--foreground-muted)":"var(--foreground)",fontFamily:"var(--font-mono)"},children:t})]})}function U({children:e,width:t,align:n}){return(0,r.jsx)("th",{style:{padding:"8px 12px",fontSize:10.5,fontWeight:500,color:"var(--foreground-muted)",borderBottom:"1px solid var(--border)",textAlign:n||"left",width:t,whiteSpace:"nowrap"},children:e})}function D({children:e,align:t}){return(0,r.jsx)("td",{style:{padding:"8px 12px",fontSize:11.5,textAlign:t||"left",color:"var(--foreground)"},children:e})}let O={display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(160px, 1fr))",gap:8};function K(e){return"number"==typeof e?e.toLocaleString():"-"}var q=e.i(460435);function J(){return(0,r.jsx)(n.Suspense,{fallback:null,children:(0,r.jsx)(Q,{})})}function Q(){let{t:e,locale:n}=(0,N.useLocale)(),o=(0,t.useSearchParams)(),a=o?.get("taskId")||"";return a?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(R.AppTopBar,{title:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(q.Term,{id:"evaluator",label:e("nav.evalMetrics")}),` \xb7 ${"zh"===n?"单次执行":"Single execution"}`]})}),(0,r.jsx)("div",{style:{flex:1,overflowY:"auto"},children:(0,r.jsx)(A,{taskId:a})})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(R.AppTopBar,{title:(0,r.jsx)(q.Term,{id:"evaluator",label:e("nav.evalMetrics")})}),(0,r.jsx)("div",{style:{flex:1,overflowY:"auto"},children:(0,r.jsx)(b,{})})]})}e.s(["default",()=>J],22e3)}]);
@@ -0,0 +1,3 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,643957,e=>{"use strict";let r=(0,e.i(456420).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>r])},689664,e=>{"use strict";var r=e.i(643957);e.s(["Check",()=>r.default])},526347,e=>{"use strict";let r=(0,e.i(456420).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["default",()=>r])},508734,e=>{"use strict";var r=e.i(526347);e.s(["Copy",()=>r.default])},604139,e=>{"use strict";let r=(0,e.i(456420).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>r],604139)},616933,e=>{"use strict";let r=(0,e.i(456420).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["default",()=>r])},482022,e=>{"use strict";let r=(0,e.i(456420).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>r],482022)},856423,e=>{"use strict";let r=(0,e.i(456420).default)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);e.s(["BookOpen",()=>r],856423)},285595,e=>{"use strict";var r=e.i(616933);e.s(["CircleCheck",()=>r.default])},61876,e=>{"use strict";let r=(0,e.i(456420).default)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);e.s(["Key",()=>r],61876)},962496,e=>{"use strict";var r=e.i(843476),i=e.i(271645),t=e.i(604139),n=e.i(456420);let o=(0,n.default)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);var l=e.i(61876),a=e.i(508734),s=e.i(689664),d=e.i(810818),c=e.i(856423),h=e.i(482022),p=e.i(285595);let y=(0,n.default)("cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]),x=(0,n.default)("circle-user",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662",key:"154egf"}]]);var g=e.i(540568),u=e.i(927643),f=e.i(726526),m=e.i(183752),b=e.i(460435);function v(){let{t:e,locale:n}=(0,f.useLocale)(),{user:l,apiKey:a}=(0,u.useAuth)(),s="zh"===n,[c,h]=(0,i.useState)(a),[p,x]=(0,i.useState)(null);(0,i.useEffect)(()=>{if(a)return void h(a);if(!l){let e=localStorage.getItem("api_key");e&&h(e);return}(0,m.apiFetch)("/api/auth/apikey",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:l})}).then(e=>e.ok?e.json():null).then(e=>e?.apiKey&&h(e.apiKey)).catch(()=>{})},[l,a]);let[v,I]=(0,i.useState)(""),[H,N]=(0,i.useState)(""),[U,$]=(0,i.useState)("");(0,i.useEffect)(()=>{let e=window.location.protocol,r=window.location.host,i=`${e}//${r}`,t=(0,m.getApiUrl)("/api/ingest/setup"),n=c?`?key=${encodeURIComponent(c)}`:"";I(`curl -sSf "${i}${t}${n}" | bash`),N(`irm "${i}${t}${n}" | iex`),$(i)},[c]);let M=async(e,r)=>{let i=!1;if("u">typeof navigator&&navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(e),i=!0}catch{}if(!i&&"u">typeof document)try{let r=document.createElement("textarea");r.value=e,r.style.position="fixed",r.style.top="0",r.style.left="-9999px",r.setAttribute("readonly",""),document.body.appendChild(r),r.focus(),r.select(),i=document.execCommand("copy"),document.body.removeChild(r)}catch{i=!1}i&&(x(r),setTimeout(()=>x(null),1500))},D=!!c,Y=l||(s?"<你的用户名>":"<your-username>"),q=c||(s?"<你的 Agent Insight API Key>":"<your Agent Insight API key>"),V=U?`${U}${(0,m.getApiUrl)("")}`:"http://localhost:3000",J=`LANGFUSE_BASE_URL=${V}
2
+ LANGFUSE_PUBLIC_KEY=${Y}
3
+ LANGFUSE_SECRET_KEY=${q}`;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(g.AppTopBar,{title:(0,r.jsx)(b.Term,{id:"install-guide",label:e("nav.accessInstall")})}),(0,r.jsx)("div",{style:w,children:(0,r.jsxs)("div",{style:A,children:[(0,r.jsx)("div",{style:E,children:(0,r.jsxs)("div",{style:W,children:[(0,r.jsx)("p",{style:L,children:s?(0,r.jsxs)(r.Fragment,{children:["按",(0,r.jsx)("b",{style:T,children:"项目类型"}),"(而非操作系统)选择接入方式:"]}):(0,r.jsxs)(r.Fragment,{children:["Pick your integration path by ",(0,r.jsx)("b",{style:T,children:"project type"}),", not OS:"]})}),(0,r.jsxs)("ul",{style:P,children:[(0,r.jsxs)("li",{style:B,children:[(0,r.jsx)("span",{style:F}),(0,r.jsx)("span",{children:s?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("b",{style:T,children:"命令行 Agent"}),"(Claude Code / opencode 等):运行下方一键脚本,自动配置 ",(0,r.jsx)("code",{style:et,children:"AGENT_INSIGHT_HOST"})," 与 ",(0,r.jsx)("code",{style:et,children:"AGENT_INSIGHT_API_KEY"}),"。"]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("b",{style:T,children:"Command-line agents"})," (Claude Code, opencode, …): run the one-liner below — it auto-configures ",(0,r.jsx)("code",{style:et,children:"AGENT_INSIGHT_HOST"})," and ",(0,r.jsx)("code",{style:et,children:"AGENT_INSIGHT_API_KEY"}),"."]})})]}),(0,r.jsxs)("li",{style:B,children:[(0,r.jsx)("span",{style:F}),(0,r.jsx)("span",{children:s?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("b",{style:T,children:"LangChain / LangGraph"})," 的 Python 项目:无需安装,只改环境变量;Windows / Linux / macOS 写法相同。"]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("b",{style:T,children:"LangChain / LangGraph"})," Python projects: no install needed — just set environment variables; identical on Windows, Linux and macOS."]})})]})]})]})}),(0,r.jsxs)("div",{style:K,children:[(0,r.jsxs)("div",{style:R,children:[(0,r.jsxs)("div",{style:G,children:[(0,r.jsx)(t.Terminal,{size:14,strokeWidth:2.2,style:{color:"var(--primary)"}}),(0,r.jsx)("span",{style:{fontSize:13.5,fontWeight:600,color:"var(--foreground)"},children:s?"命令行 Agent 安装":"Command-line Agents"}),(0,r.jsx)("span",{style:O,children:"2"}),(0,r.jsx)("span",{style:{flex:1}}),(0,r.jsx)("span",{style:{fontSize:11.5,color:"var(--foreground-muted)"},children:s?"Claude Code / opencode 等,按系统二选一":"Claude Code, opencode … — pick your OS"})]}),(0,r.jsx)(j,{icon:(0,r.jsx)(t.Terminal,{size:14,strokeWidth:2.2}),label:"Linux / macOS",hint:s?"运行 bash / zsh 的终端":"bash / zsh shells",cmd:v,copied:"linux"===p,onCopy:()=>M(v,"linux"),locale:n}),(0,r.jsx)(j,{icon:(0,r.jsx)(o,{size:14,strokeWidth:2.2}),label:"Windows (PowerShell)",hint:s?"以管理员身份运行 PowerShell":"Run PowerShell as administrator",cmd:H,copied:"windows"===p,onCopy:()=>M(H,"windows"),locale:n}),(0,r.jsxs)("div",{style:{...G,marginTop:8},children:[(0,r.jsx)(y,{size:14,strokeWidth:2.2,style:{color:"var(--primary)"}}),(0,r.jsx)("span",{style:{fontSize:13.5,fontWeight:600,color:"var(--foreground)"},children:s?"LangChain / LangGraph 接入":"LangChain / LangGraph"}),(0,r.jsx)("span",{style:O,children:"env"}),(0,r.jsx)("span",{style:{flex:1}}),(0,r.jsx)("span",{style:{fontSize:11.5,color:"var(--foreground-muted)"},children:s?"Python 项目,任何系统只改环境变量":"Python — env vars only, any OS"})]}),(0,r.jsx)(C,{envText:J,copied:"langfuse-env"===p,onCopy:()=>M(J,"langfuse-env"),locale:n}),(0,r.jsxs)("div",{style:ee,children:[(0,r.jsx)("div",{style:er,children:(0,r.jsx)(d.Info,{size:16})}),(0,r.jsxs)("div",{style:{flex:1,fontSize:12.5,color:"var(--foreground-secondary)",lineHeight:1.6},children:[(0,r.jsx)("b",{style:{color:"var(--foreground)",fontWeight:600},children:s?"提示":"Tip"})," · ",s?"若 API Key 切换了账号没刷新,请先退出并重新登录平台再复制 —— 客户端使用错误的 Key 上报时,trace 会落到原账号名下而非当前账号。":"If you switched accounts but the API key did not refresh, log out and log back in before copying — a stale key sends traces to the old account."]})]})]}),(0,r.jsxs)("aside",{style:_,children:[(0,r.jsx)(k,{apiKey:c,copied:"apikey"===p,onCopy:()=>c&&M(c,"apikey"),locale:n}),(0,r.jsx)(S,{host:U,user:l,keyReady:D,locale:n}),(0,r.jsx)(z,{locale:n})]})]})]})})]})}function j({icon:e,label:i,hint:t,cmd:n,copied:o,onCopy:l,locale:d}){let c="zh"===d;return(0,r.jsxs)("article",{style:M,children:[(0,r.jsxs)("header",{style:D,children:[(0,r.jsx)("span",{style:Y,children:e}),(0,r.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,r.jsx)("div",{style:{fontSize:13.5,fontWeight:600,color:"var(--foreground)",letterSpacing:"-0.01em"},children:i}),(0,r.jsx)("div",{style:{fontSize:11.5,color:"var(--foreground-muted)",marginTop:1},children:t})]}),n&&(0,r.jsx)("button",{onClick:l,style:o?X:Q,children:o?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.Check,{size:13,strokeWidth:2.5}),c?"已复制":"Copied"]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.Copy,{size:13,strokeWidth:2.2}),c?"复制":"Copy"]})})]}),(0,r.jsx)("div",{style:q,children:(0,r.jsx)("code",{style:V,children:n||(c?"加载中…":"Loading…")})})]})}function k({apiKey:e,copied:i,onCopy:t,locale:n}){let o="zh"===n;return(0,r.jsxs)("section",{style:{...H,background:"var(--primary-subtle)",borderColor:"var(--primary-subtle-border)"},children:[(0,r.jsxs)("header",{style:{...N,borderBottomColor:"var(--primary-subtle-border)"},children:[(0,r.jsx)(l.Key,{size:13,strokeWidth:2.4,style:{color:"var(--primary)"}}),(0,r.jsx)("span",{style:{color:"var(--primary)"},children:o?"你的 API Key":"Your API Key"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("code",{style:J,children:e||(o?"加载中…":"Loading…")}),e&&(0,r.jsx)("button",{onClick:t,style:{...Z,...i?X:{}},children:i?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.Check,{size:12,strokeWidth:2.5}),o?"已复制":"Copied"]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.Copy,{size:12,strokeWidth:2.2}),o?"复制 Key":"Copy key"]})}),(0,r.jsx)("div",{style:{fontSize:11.5,color:"var(--foreground-muted)",marginTop:10,lineHeight:1.6},children:o?"脚本运行时提示输入 API Key —— 粘贴上方值即可。":"Paste this when the script prompts for an API key."})]})]})}function S({host:e,user:i,keyReady:t,locale:n}){let o="zh"===n;return(0,r.jsxs)("section",{style:H,children:[(0,r.jsxs)("header",{style:N,children:[(0,r.jsx)(p.CircleCheck,{size:13,strokeWidth:2.2,style:{color:t?"var(--success)":"var(--foreground-muted)"}}),(0,r.jsx)("span",{children:o?"接入信息":"Connection Info"})]}),(0,r.jsxs)("ul",{style:U,children:[(0,r.jsx)(I,{label:o?"账号":"Account",value:i||(o?"未登录":"Not signed in"),icon:(0,r.jsx)(x,{size:11,strokeWidth:2.2})}),(0,r.jsx)(I,{label:o?"平台地址":"Host",value:e||"—",mono:!0,ellipsis:!0}),(0,r.jsx)(I,{label:"API Key",value:t?o?"已绑定":"Ready":o?"加载中":"Loading"}),(0,r.jsx)(I,{label:o?"上报路径":"Ingest",value:"/api/ingest/v1/*",mono:!0}),(0,r.jsx)(I,{label:o?"OTEL 上报":"OTEL trace",value:"/api/public/otel/v1/traces",mono:!0,ellipsis:!0})]})]})}function C({envText:e,copied:i,onCopy:t,locale:n}){let o="zh"===n;return(0,r.jsxs)("article",{style:M,children:[(0,r.jsxs)("header",{style:D,children:[(0,r.jsx)("span",{style:Y,children:(0,r.jsx)(y,{size:14,strokeWidth:2.2})}),(0,r.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,r.jsx)("div",{style:{fontSize:13.5,fontWeight:600,color:"var(--foreground)",letterSpacing:"-0.01em"},children:o?"环境变量配置":"Environment variables"}),(0,r.jsx)("div",{style:{fontSize:11.5,color:"var(--foreground-muted)",marginTop:1},children:o?"LangChain / LangGraph 项目通用,Windows / Linux / macOS 写法一致":"Same for LangChain / LangGraph on Windows, Linux or macOS"})]}),(0,r.jsx)("button",{onClick:t,style:i?X:Q,children:i?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.Check,{size:13,strokeWidth:2.5}),o?"已复制":"Copied"]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.Copy,{size:13,strokeWidth:2.2}),o?"复制":"Copy"]})})]}),(0,r.jsx)("div",{style:q,children:(0,r.jsx)("code",{style:{...V,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:e})}),(0,r.jsx)("div",{style:ei,children:o?"这些以 LANGFUSE_ 开头的变量由 LangChain / LangGraph 的追踪回调读取,填好即可、无需改代码。PUBLIC_KEY 填当前 Agent Insight 用户名,SECRET_KEY 填该用户的 Agent Insight API Key;两者不对应时平台会拒绝上报。":"These LANGFUSE_-prefixed variables are read by the LangChain / LangGraph tracing callback — no code changes needed. Set PUBLIC_KEY to your Agent Insight username and SECRET_KEY to that user's Agent Insight API key. Mismatched credentials are rejected."})]})}function z({locale:e}){let i="zh"===e;return(0,r.jsxs)("section",{style:H,children:[(0,r.jsxs)("header",{style:N,children:[(0,r.jsx)(c.BookOpen,{size:13,strokeWidth:2.2,style:{color:"var(--foreground-secondary)"}}),(0,r.jsx)("span",{children:i?"相关文档":"Related Docs"})]}),(0,r.jsx)("ul",{style:{display:"flex",flexDirection:"column",gap:2,padding:0,margin:0,listStyle:"none"},children:(i?[{label:"用户使用手册",href:"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"},{label:"客户端高级配置",href:"#"},{label:"常见接入问题排查",href:"#"}]:[{label:"User manual",href:"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"},{label:"Advanced client configuration",href:"#"},{label:"Troubleshooting installation",href:"#"}]).map(e=>(0,r.jsx)("li",{children:(0,r.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",style:$,children:[(0,r.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.label}),(0,r.jsx)(h.ExternalLink,{size:12,strokeWidth:2,style:{color:"var(--foreground-muted)",flexShrink:0}})]})},e.label))})]})}function I({label:e,value:i,mono:t,bold:n,ellipsis:o,icon:l}){return(0,r.jsxs)("li",{style:{display:"flex",alignItems:"center",gap:12,padding:"5px 0",borderBottom:"1px dashed var(--border)",minWidth:0},children:[(0,r.jsxs)("span",{style:{fontSize:11.5,color:"var(--foreground-muted)",flexShrink:0,display:"inline-flex",alignItems:"center",gap:4},children:[l,e]}),(0,r.jsx)("span",{style:{flex:1,minWidth:0,textAlign:"right",fontSize:12,color:"var(--foreground)",fontWeight:n?600:500,fontFamily:t?"var(--font-mono)":"inherit",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:o?i:void 0,children:i})]})}let w={flex:1,minHeight:0,overflowY:"auto",padding:"24px 28px 40px",width:"100%"},A={maxWidth:1320,margin:"0 auto"},E={display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:24,marginBottom:22},W={margin:0,fontSize:13,lineHeight:1.65,color:"var(--foreground-secondary)",maxWidth:720},T={color:"var(--foreground)",fontWeight:600},L={margin:"0 0 8px"},P={listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column",gap:6},B={display:"flex",alignItems:"flex-start",gap:8},F={width:5,height:5,borderRadius:"50%",background:"var(--primary)",flexShrink:0,marginTop:7},K={display:"grid",gridTemplateColumns:"minmax(0, 1fr) 300px",gap:22,alignItems:"flex-start"},R={minWidth:0,display:"flex",flexDirection:"column",gap:14},_={display:"flex",flexDirection:"column",gap:14,position:"sticky",top:0},G={display:"flex",alignItems:"center",gap:8,padding:"2px 2px 6px",borderBottom:"1px solid var(--border)"},O={display:"inline-flex",alignItems:"center",padding:"1px 8px",fontSize:11,fontWeight:600,fontFamily:"var(--font-mono)",color:"var(--foreground-secondary)",background:"var(--background-secondary)",border:"1px solid var(--border)",borderRadius:999,lineHeight:1.5},H={background:"var(--card-bg)",border:"1px solid var(--card-border)",borderRadius:12,padding:"14px 16px 12px",display:"flex",flexDirection:"column",gap:10},N={display:"flex",alignItems:"center",gap:7,fontSize:13,fontWeight:600,color:"var(--foreground)",letterSpacing:"-0.005em",paddingBottom:8,borderBottom:"1px solid var(--border)"},U={display:"flex",flexDirection:"column",padding:0,margin:0,listStyle:"none"},$={display:"flex",alignItems:"center",gap:8,padding:"7px 8px",fontSize:12.5,color:"var(--foreground-secondary)",textDecoration:"none",borderRadius:6,transition:"background .1s"},M={background:"var(--card-bg)",border:"1px solid var(--card-border)",borderRadius:12,padding:"14px 18px 16px",display:"flex",flexDirection:"column",gap:10},D={display:"flex",alignItems:"center",gap:12},Y={width:32,height:32,borderRadius:9,background:"var(--background-secondary)",border:"1px solid var(--card-border)",display:"grid",placeItems:"center",color:"var(--foreground-secondary)",flexShrink:0},q={background:"var(--background-secondary)",border:"1px solid var(--border)",borderRadius:8,padding:"10px 12px"},V={color:"var(--foreground)",fontSize:12,fontFamily:"var(--font-mono, ui-monospace, monospace)",wordBreak:"break-all",display:"block",lineHeight:1.6},J={display:"block",width:"100%",fontFamily:"var(--font-mono, ui-monospace, monospace)",fontSize:11.5,padding:"8px 10px",background:"var(--card-bg)",border:"1px solid var(--card-border)",borderRadius:6,color:"var(--foreground)",wordBreak:"break-all",boxSizing:"border-box"},Z={display:"inline-flex",alignItems:"center",gap:5,width:"100%",justifyContent:"center",padding:"7px 10px",marginTop:8,background:"var(--card-bg)",color:"var(--primary)",borderWidth:1,borderStyle:"solid",borderColor:"var(--primary-subtle-border)",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",transition:"all .12s ease",lineHeight:1.4},Q={display:"inline-flex",alignItems:"center",gap:5,padding:"6px 12px",background:"var(--card-bg)",color:"var(--foreground-secondary)",borderWidth:1,borderStyle:"solid",borderColor:"var(--border)",borderRadius:7,fontSize:12,fontWeight:500,cursor:"pointer",transition:"all .12s ease",lineHeight:1.4,flexShrink:0},X={...Q,background:"var(--success-subtle)",color:"var(--success)",borderColor:"var(--success-subtle-border)"},ee={marginTop:4,padding:"14px 18px",border:"1px dashed var(--border-dark)",borderRadius:10,background:"var(--background-secondary)",display:"flex",alignItems:"center",gap:12},er={width:30,height:30,borderRadius:8,background:"var(--primary-subtle)",color:"var(--primary)",display:"grid",placeItems:"center",flexShrink:0},ei={fontSize:12,lineHeight:1.6,color:"var(--foreground-secondary)",padding:"0 2px"},et={background:"var(--background-secondary)",padding:"1px 6px",borderRadius:4,fontFamily:"var(--font-mono, ui-monospace, monospace)",fontSize:11.5,color:"var(--foreground)",border:"1px solid var(--border)"};e.s(["default",()=>v],962496)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,233634,e=>{"use strict";function t(e){!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},a={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:a},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:a},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:a.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:a.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var r=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],i=a.variable[1].inside,o=0;o<r.length;o++)i[r[o]]=e.languages.bash[r[o]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash}(e)}t.displayName="bash",t.aliases=["sh","shell"],e.s(["default",()=>t])},182840,e=>{"use strict";function t(e){!function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,a="(?:"+n.source+"(?:[ ]+"+t.source+")?|"+t.source+"(?:[ ]+"+n.source+")?)",r=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),i=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function o(e,t){return t=(t||"").replace(/m/g,"")+"m",RegExp(/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,function(){return a}).replace(/<<value>>/g,function(){return e}),t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,function(){return a})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,function(){return a}).replace(/<<key>>/g,function(){return"(?:"+r+"|"+i+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:o(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:o(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:o(i),lookbehind:!0,greedy:!0},number:{pattern:o(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(e)}t.displayName="yaml",t.aliases=["yml"],e.s(["default",()=>t])},747925,e=>{"use strict";let t=(0,e.i(456420).default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);e.s(["Wrench",()=>t],747925)},566595,e=>{"use strict";let t=(0,e.i(456420).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",()=>t],566595)},129228,e=>{"use strict";var t=e.i(271645),n=e.i(925949),a=e.i(433369),r=["axis"],i=(0,t.forwardRef)((e,i)=>t.createElement(a.CartesianChart,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:r,tooltipPayloadSearcher:n.arrayTooltipSearcher,categoricalChartProps:e,ref:i}));e.s(["LineChart",()=>i])},823197,e=>{"use strict";class t{constructor(e){var t=e.x,n=e.y;this.xAxisScale=t,this.yAxisScale=n}map(e,t){var n,a,r=t.position;return{x:null!=(n=this.xAxisScale.map(e.x,{position:r}))?n:0,y:null!=(a=this.yAxisScale.map(e.y,{position:r}))?a:0}}mapWithFallback(e,t){var n,a,r,i,o=t.position,s=t.fallback;return r="rangeMin"===s?this.yAxisScale.rangeMin():"rangeMax"===s?this.yAxisScale.rangeMax():0,i="rangeMin"===s?this.xAxisScale.rangeMin():"rangeMax"===s?this.xAxisScale.rangeMax():0,{x:null!=(n=this.xAxisScale.map(e.x,{position:o}))?n:i,y:null!=(a=this.yAxisScale.map(e.y,{position:o}))?a:r}}isInRange(e){var t=e.x,n=e.y,a=null==t||this.xAxisScale.isInRange(t),r=null==n||this.yAxisScale.isInRange(n);return a&&r}}e.s(["CartesianScaleHelperImpl",()=>t])},440435,e=>{"use strict";function t(e){e.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}}t.displayName="sql",t.aliases=[],e.s(["default",()=>t])},909483,e=>{"use strict";function t(e){e.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},e.languages.webmanifest=e.languages.json}t.displayName="json",t.aliases=["webmanifest"],e.s(["default",()=>t])},476472,e=>{"use strict";function t(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,function(){return t});t=t.replace(/<self>/g,function(){return/[^\s\S]/.source}),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}t.displayName="rust",t.aliases=[],e.s(["default",()=>t])},766504,e=>{"use strict";var t=e.i(453687);function n(e){e.register(t.default),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,function(){return t}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var a=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,r=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return a}),i=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+r+i+"(?:"+r+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+r+i+")(?:"+r+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(a),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+r+")"+i+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+r+"$"),inside:{"table-header":{pattern:RegExp(a),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(t){["url","bold","italic","strike","code-snippet"].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add("after-tokenize",function(e){("markdown"===e.language||"md"===e.language)&&function e(t){if(t&&"string"!=typeof t)for(var n=0,a=t.length;n<a;n++){var r=t[n];if("code"!==r.type){e(r.content);continue}var i=r.content[1],o=r.content[3];if(i&&o&&"code-language"===i.type&&"code-block"===o.type&&"string"==typeof i.content){var s=i.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),l="language-"+(s=(/[a-z][\w-]*/i.exec(s)||[""])[0].toLowerCase());o.alias?"string"==typeof o.alias?o.alias=[o.alias,l]:o.alias.push(l):o.alias=[l]}}}(e.tokens)}),e.hooks.add("wrap",function(t){if("code-block"===t.type){for(var n="",a=0,r=t.classes.length;a<r;a++){var i=t.classes[a],o=/language-(.+)/.exec(i);if(o){n=o[1];break}}var s=e.languages[n];if(s)t.content=e.highlight(t.content.value,s,n);else if(n&&"none"!==n&&e.plugins.autoloader){var l="md-"+new Date().valueOf()+"-"+Math.floor(1e16*Math.random());t.attributes.id=l,e.plugins.autoloader.loadLanguages(n,function(){var t=document.getElementById(l);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})}}}),RegExp(e.languages.markup.tag.pattern.source,"gi"),e.languages.md=e.languages.markdown}(e)}n.displayName="markdown",n.aliases=["md"],e.s(["default",()=>n])},96747,e=>{"use strict";var t=e.i(346367);let n=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"],a={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"};function r(e){let t="string"==typeof e?e.charCodeAt(0):e;return t>=48&&t<=57}function i(e){let t="string"==typeof e?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}function o(e){let t;return(t="string"==typeof e?e.charCodeAt(0):e)>=97&&t<=122||t>=65&&t<=90||r(e)}var s=e.i(849087);let l=["","Named character references must be terminated by a semicolon","Numeric character references must be terminated by a semicolon","Named character references cannot be empty","Numeric character references cannot be empty","Named character references must be known","Numeric character references cannot be disallowed","Numeric character references cannot be outside the permissible Unicode range"];var u=0,c={},d={util:{type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++u}),e.__id},clone:function e(t,n){var a,r;switch(n=n||{},d.util.type(t)){case"Object":if(n[r=d.util.objId(t)])return n[r];for(var i in a={},n[r]=a,t)t.hasOwnProperty(i)&&(a[i]=e(t[i],n));return a;case"Array":if(n[r=d.util.objId(t)])return n[r];return a=[],n[r]=a,t.forEach(function(t,r){a[r]=e(t,n)}),a;default:return t}}},languages:{plain:c,plaintext:c,text:c,txt:c,extend:function(e,t){var n=d.util.clone(d.languages[e]);for(var a in t)n[a]=t[a];return n},insertBefore:function(e,t,n,a){var r=(a=a||d.languages)[e],i={};for(var o in r)if(r.hasOwnProperty(o)){if(o==t)for(var s in n)n.hasOwnProperty(s)&&(i[s]=n[s]);n.hasOwnProperty(o)||(i[o]=r[o])}var l=a[e];return a[e]=i,d.languages.DFS(d.languages,function(t,n){n===l&&t!=e&&(this[t]=i)}),i},DFS:function e(t,n,a,r){r=r||{};var i=d.util.objId;for(var o in t)if(t.hasOwnProperty(o)){n.call(t,o,t[o],a||o);var s=t[o],l=d.util.type(s);"Object"!==l||r[i(s)]?"Array"!==l||r[i(s)]||(r[i(s)]=!0,e(s,n,o,r)):(r[i(s)]=!0,e(s,n,null,r))}}},plugins:{},highlight:function(e,t,n){var a={code:e,grammar:t,language:n};if(d.hooks.run("before-tokenize",a),!a.grammar)throw Error('The language "'+a.language+'" has no grammar.');return a.tokens=d.tokenize(a.code,a.grammar),d.hooks.run("after-tokenize",a),p.stringify(d.util.encode(a.tokens),a.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var a in n)t[a]=n[a];delete t.rest}var r=new g;return f(r,r.head,e),function e(t,n,a,r,i,o){for(var s in a)if(a.hasOwnProperty(s)&&a[s]){var l=a[s];l=Array.isArray(l)?l:[l];for(var u=0;u<l.length;++u){if(o&&o.cause==s+","+u)return;var c=l[u],g=c.inside,h=!!c.lookbehind,S=!!c.greedy,m=c.alias;if(S&&!c.pattern.global){var T=c.pattern.toString().match(/[imsuy]*$/)[0];c.pattern=RegExp(c.pattern.source,T+"g")}for(var b=c.pattern||c,I=r.next,A=i;I!==n.tail&&(!o||!(A>=o.reach));A+=I.value.length,I=I.next){var N,O=I.value;if(n.length>t.length)return;if(!(O instanceof p)){var R=1;if(S){if(!(N=E(b,A,t,h))||N.index>=t.length)break;var L=N.index,y=N.index+N[0].length,C=A;for(C+=I.value.length;L>=C;)C+=(I=I.next).value.length;if(C-=I.value.length,A=C,I.value instanceof p)continue;for(var k=I;k!==n.tail&&(C<y||"string"==typeof k.value);k=k.next)R++,C+=k.value.length;R--,O=t.slice(A,C),N.index-=A}else if(!(N=E(b,0,O,h)))continue;var L=N.index,v=N[0],D=O.slice(0,L),_=O.slice(L+v.length),x=A+O.length;o&&x>o.reach&&(o.reach=x);var P=I.prev;if(D&&(P=f(n,P,D),A+=D.length),function(e,t,n){for(var a=t.next,r=0;r<n&&a!==e.tail;r++)a=a.next;t.next=a,a.prev=t,e.length-=r}(n,P,R),I=f(n,P,new p(s,g?d.tokenize(v,g):v,m,v)),_&&f(n,I,_),R>1){var U={cause:s+","+u,reach:x};e(t,n,a,I.prev,A,U),o&&U.reach>o.reach&&(o.reach=U.reach)}}}}}}(e,r,t,r.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(r)},hooks:{all:{},add:function(e,t){var n=d.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=d.hooks.all[e];if(n&&n.length)for(var a,r=0;a=n[r++];)a(t)}},Token:p};function p(e,t,n,a){this.type=e,this.content=t,this.alias=n,this.length=0|(a||"").length}function E(e,t,n,a){e.lastIndex=t;var r=e.exec(n);if(r&&a&&r[1]){var i=r[1].length;r.index+=i,r[0]=r[0].slice(i)}return r}function g(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function f(e,t,n){var a=t.next,r={value:n,prev:t,next:a};return t.next=r,a.prev=r,e.length++,r}function h(){}h.prototype=d;let S=new h;S.highlight=function(e,t){let n,a;if("string"!=typeof e)throw TypeError("Expected `string` for `value`, got `"+e+"`");if(t&&"object"==typeof t)n=t;else{if("string"!=typeof(a=t))throw TypeError("Expected `string` for `name`, got `"+a+"`");if(Object.hasOwn(S.languages,a))n=S.languages[a];else throw Error("Unknown language: `"+a+"` is not registered")}return{type:"root",children:d.highlight.call(S,e,n,a)}},S.register=function(e){if("function"!=typeof e||!e.displayName)throw Error("Expected `function` for `syntax`, got `"+e+"`");Object.hasOwn(S.languages,e.displayName)||e(S)},S.alias=function(e,t){let n,a=S.languages,r={};for(n in"string"==typeof e?t&&(r[e]=t):r=e,r)if(Object.hasOwn(r,n)){let e=r[n],t="string"==typeof e?[e]:e,i=-1;for(;++i<t.length;)a[t[i]]=a[n]}},S.registered=function(e){if("string"!=typeof e)throw TypeError("Expected `string` for `aliasOrLanguage`, got `"+e+"`");return Object.hasOwn(S.languages,e)},S.listLanguages=function(){let e,t=S.languages,n=[];for(e in t)Object.hasOwn(t,e)&&"object"==typeof t[e]&&n.push(e);return n},S.util.encode=function(e){return e},S.Token.stringify=function e(u,c){if("string"==typeof u)return{type:"text",value:u};if(Array.isArray(u)){let t=[],n=-1;for(;++n<u.length;)null!==u[n]&&void 0!==u[n]&&""!==u[n]&&t.push(e(u[n],c));return t}let d={attributes:{},classes:["token",u.type],content:e(u.content,c),language:c,tag:"span",type:u.type};return u.alias&&d.classes.push(..."string"==typeof u.alias?[u.alias]:u.alias),S.hooks.run("wrap",d),(0,t.h)(d.tag+"."+d.classes.join("."),function(e){let t;for(t in e)Object.hasOwn(e,t)&&(e[t]=function(e,t){let u,c,d,p={},E="string"==typeof p.additional?p.additional.charCodeAt(0):p.additional,g=[],f=0,h=-1,S="";p.position&&("start"in p.position||"indent"in p.position?(c=p.position.indent,u=p.position.start):u=p.position);let m=(u?u.line:0)||1,T=(u?u.column:0)||1,b=N();for(f--;++f<=e.length;)if(10===d&&(T=(c?c[h]:0)||1),38===(d=e.charCodeAt(f))){let t,l=e.charCodeAt(f+1);if(9===l||10===l||12===l||32===l||38===l||60===l||Number.isNaN(l)||E&&l===E){S+=String.fromCharCode(d),T++;continue}let u=f+1,c=u,h=u;if(35===l){h=++c;let n=e.charCodeAt(h);88===n||120===n?(t="hexadecimal",h=++c):t="decimal"}else t="named";let m="",L="",y="",C="named"===t?o:"decimal"===t?r:i;for(h--;++h<=e.length;){let a=e.charCodeAt(h);if(!C(a))break;y+=String.fromCharCode(a),"named"===t&&n.includes(y)&&(m=y,L=(0,s.decodeNamedCharacterReference)(y))}let k=59===e.charCodeAt(h);if(k){h++;let e="named"===t&&(0,s.decodeNamedCharacterReference)(y);e&&(m=y,L=e)}let v=1+h-u,D="";if(k||!1!==p.nonTerminated)if(y)if("named"===t){if(k&&!L)O(5,1);else if(m!==y&&(v=1+(h=c+m.length)-c,k=!1),!k){let t=m?1:3;if(p.attribute){let n=e.charCodeAt(h);61===n?(O(t,v),L=""):o(n)?L="":O(t,v)}else O(t,v)}D=L}else{var I,A;k||O(2,v);let e=Number.parseInt(y,"hexadecimal"===t?16:10);if((I=e)>=55296&&I<=57343||I>1114111)O(7,v),D=String.fromCharCode(65533);else if(e in a)O(6,v),D=a[e];else{let t="";((A=e)>=1&&A<=8||11===A||A>=13&&A<=31||A>=127&&A<=159||A>=64976&&A<=65007||(65535&A)==65535||(65535&A)==65534)&&O(6,v),e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10|55296),e=56320|1023&e),D=t+String.fromCharCode(e)}}else"named"!==t&&O(4,v);if(D){R(),b=N(),f=h-1,T+=h-u+1,g.push(D);let t=N();t.offset++,p.reference&&p.reference.call(p.referenceContext||void 0,D,{start:b,end:t},e.slice(u-1,h)),b=t}else y=e.slice(u-1,h),S+=y,T+=y.length,f=h-1}else 10===d&&(m++,h++,T=0),Number.isNaN(d)?R():(S+=String.fromCharCode(d),T++);return g.join("");function N(){return{line:m,column:T,offset:f+((u?u.offset:0)||0)}}function O(e,t){let n;p.warning&&(n=N(),n.column+=t,n.offset+=t,p.warning.call(p.warningContext||void 0,l[e],n,e))}function R(){S&&(g.push(S),p.text&&p.text.call(p.textContext||void 0,S,{start:b,end:N()}),S="")}}(e[t]));return e}(d.attributes),d.content)},e.s(["refractor",0,S],96747)},508734,e=>{"use strict";var t=e.i(526347);e.s(["Copy",()=>t.default])},484755,e=>{"use strict";var t=e.i(860958);function n(e){e.register(t.default),e.languages.go=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),e.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete e.languages.go["class-name"]}n.displayName="go",n.aliases=[],e.s(["default",()=>n])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,967489,755146,e=>{"use strict";var t=e.i(843476),r=e.i(689664),n=e.i(716327),o=e.i(271645),s=e.i(981140),a=e.i(820783),i=e.i(30030),l=e.i(369340),u=e.i(248425),c=e.i(991918);function d(e){let r=e+"CollectionProvider",[n,s]=(0,i.createContextScope)(r),[l,u]=n(r,{collectionRef:{current:null},itemMap:new Map}),d=e=>{let{scope:r,children:n}=e,s=o.useRef(null),a=o.useRef(new Map).current;return(0,t.jsx)(l,{scope:r,itemMap:a,collectionRef:s,children:n})};d.displayName=r;let f=e+"CollectionSlot",p=(0,c.createSlot)(f),m=o.forwardRef((e,r)=>{let{scope:n,children:o}=e,s=u(f,n),i=(0,a.useComposedRefs)(r,s.collectionRef);return(0,t.jsx)(p,{ref:i,children:o})});m.displayName=f;let h=e+"CollectionItemSlot",v="data-radix-collection-item",x=(0,c.createSlot)(h),g=o.forwardRef((e,r)=>{let{scope:n,children:s,...i}=e,l=o.useRef(null),c=(0,a.useComposedRefs)(r,l),d=u(h,n);return o.useEffect(()=>(d.itemMap.set(l,{ref:l,...i}),()=>void d.itemMap.delete(l))),(0,t.jsx)(x,{...{[v]:""},ref:c,children:s})});return g.displayName=h,[{Provider:d,Slot:m,ItemSlot:g},function(t){let r=u(e+"CollectionConsumer",t);return o.useCallback(()=>{let e=r.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${v}]`));return Array.from(r.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[r.collectionRef,r.itemMap])},s]}var f=new WeakMap;function p(e,t){var r,n;let o,s,a;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let i=(r=e,n=t,o=r.length,(a=(s=m(n))>=0?s:o+s)<0||a>=o?-1:a);return -1===i?void 0:e[i]}function m(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],f.set(this,!0)}set(e,t){return f.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let n,o=this.has(t),s=this.#e.length,a=m(e),i=a>=0?a:s+a,l=i<0||i>=s?-1:i;if(l===this.size||o&&l===this.size-1||-1===l)return this.set(t,r),this;let u=this.size+ +!o;a<0&&i++;let c=[...this.#e],d=!1;for(let e=i;e<u;e++)if(i===e){let s=c[e];c[e]===t&&(s=c[e+1]),o&&this.delete(t),n=this.get(s),this.set(t,r)}else{d||c[e-1]!==t||(d=!0);let r=c[d?e:e-1],o=n;n=this.get(r),this.delete(r),this.set(r,o)}return this}with(t,r,n){let o=new e(this);return o.insert(t,r,n),o}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=p(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=p(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return p(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.at(n)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.keyAt(n)}find(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return n;r++}}findIndex(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return r;r++}return -1}filter(t,r){let n=[],o=0;for(let e of this)Reflect.apply(t,r,[e,o,this])&&n.push(e),o++;return new e(n)}map(t,r){let n=[],o=0;for(let e of this)n.push([e[0],Reflect.apply(t,r,[e,o,this])]),o++;return new e(n)}reduce(...e){let[t,r]=e,n=0,o=r??this.at(0);for(let r of this)o=0===n&&1===e.length?r:Reflect.apply(t,this,[o,r,n,this]),n++;return o}reduceRight(...e){let[t,r]=e,n=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let o=this.at(r);n=r===this.size-1&&1===e.length?o:Reflect.apply(t,this,[n,o,r,this])}return n}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),n=this.get(r);t.set(r,n)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let n=new e,o=this.size-1;if(void 0===t)return n;t<0&&(t+=this.size),void 0!==r&&r>0&&(o=r-1);for(let e=t;e<=o;e++){let t=this.keyAt(e),r=this.get(t);n.set(t,r)}return n}every(e,t){let r=0;for(let n of this){if(!Reflect.apply(e,t,[n,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return!0;r++}return!1}});var h=o.createContext(void 0);function v(e){let t=o.useContext(h);return e||t||"ltr"}var x=e.i(726330),g=e.i(303536),w=e.i(765491),y=e.i(610772),b=e.i(853660),R=e.i(774606),C=e.i(296626),j=e.i(30207),M="rovingFocusGroup.onEntryFocus",k={bubbles:!1,cancelable:!0},D="RovingFocusGroup",[E,P,S]=d(D),[I,N]=(0,i.createContextScope)(D,[S]),[_,A]=I(D),O=o.forwardRef((e,r)=>(0,t.jsx)(E.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(E.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(T,{...e,ref:r})})}));O.displayName=D;var T=o.forwardRef((e,r)=>{let{__scopeRovingFocusGroup:n,orientation:i,loop:c=!1,dir:d,currentTabStopId:f,defaultCurrentTabStopId:p,onCurrentTabStopIdChange:m,onEntryFocus:h,preventScrollOnEntryFocus:x=!1,...g}=e,w=o.useRef(null),y=(0,a.useComposedRefs)(r,w),b=v(d),[R,C]=(0,l.useControllableState)({prop:f,defaultProp:p??null,onChange:m,caller:D}),[E,S]=o.useState(!1),I=(0,j.useCallbackRef)(h),N=P(n),A=o.useRef(!1),[O,T]=o.useState(0);return o.useEffect(()=>{let e=w.current;if(e)return e.addEventListener(M,I),()=>e.removeEventListener(M,I)},[I]),(0,t.jsx)(_,{scope:n,orientation:i,dir:b,loop:c,currentTabStopId:R,onItemFocus:o.useCallback(e=>C(e),[C]),onItemShiftTab:o.useCallback(()=>S(!0),[]),onFocusableItemAdd:o.useCallback(()=>T(e=>e+1),[]),onFocusableItemRemove:o.useCallback(()=>T(e=>e-1),[]),children:(0,t.jsx)(u.Primitive.div,{tabIndex:E||0===O?-1:0,"data-orientation":i,...g,ref:y,style:{outline:"none",...e.style},onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,()=>{A.current=!0}),onFocus:(0,s.composeEventHandlers)(e.onFocus,e=>{let t=!A.current;if(e.target===e.currentTarget&&t&&!E){let t=new CustomEvent(M,k);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=N().filter(e=>e.focusable);K([e.find(e=>e.active),e.find(e=>e.id===R),...e].filter(Boolean).map(e=>e.ref.current),x)}}A.current=!1}),onBlur:(0,s.composeEventHandlers)(e.onBlur,()=>S(!1))})})}),F="RovingFocusGroupItem",H=o.forwardRef((e,r)=>{let{__scopeRovingFocusGroup:n,focusable:a=!0,active:i=!1,tabStopId:l,children:c,...d}=e,f=(0,y.useId)(),p=l||f,m=A(F,n),h=m.currentTabStopId===p,v=P(n),{onFocusableItemAdd:x,onFocusableItemRemove:g,currentTabStopId:w}=m;return o.useEffect(()=>{if(a)return x(),()=>g()},[a,x,g]),(0,t.jsx)(E.ItemSlot,{scope:n,id:p,focusable:a,active:i,children:(0,t.jsx)(u.Primitive.span,{tabIndex:h?0:-1,"data-orientation":m.orientation,...d,ref:r,onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,e=>{a?m.onItemFocus(p):e.preventDefault()}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>m.onItemFocus(p)),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void m.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var n;let o=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(o))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(o)))return L[o]}(e,m.orientation,m.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let o=v().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)o.reverse();else if("prev"===t||"next"===t){var r,n;"prev"===t&&o.reverse();let s=o.indexOf(e.currentTarget);o=m.loop?(r=o,n=s+1,r.map((e,t)=>r[(n+t)%r.length])):o.slice(s+1)}setTimeout(()=>K(o))}}),children:"function"==typeof c?c({isCurrentTabStop:h,hasTabStop:null!=w}):c})})});H.displayName=F;var L={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function K(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}var z=e.i(186312),G=e.i(985369),U=["Enter"," "],B=["ArrowUp","PageDown","End"],V=["ArrowDown","PageUp","Home",...B],X={ltr:[...U,"ArrowRight"],rtl:[...U,"ArrowLeft"]},W={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Y="Menu",[q,Z,$]=d(Y),[J,Q]=(0,i.createContextScope)(Y,[$,b.createPopperScope,N]),ee=(0,b.createPopperScope)(),et=N(),[er,en]=J(Y),[eo,es]=J(Y),ea=e=>{let{__scopeMenu:r,open:n=!1,children:s,dir:a,onOpenChange:i,modal:l=!0}=e,u=ee(r),[c,d]=o.useState(null),f=o.useRef(!1),p=(0,j.useCallbackRef)(i),m=v(a);return o.useEffect(()=>{let e=()=>{f.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>f.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),o.useEffect(()=>{if(!n)return;let e=()=>p(!1);return window.addEventListener("blur",e),()=>window.removeEventListener("blur",e)},[n,p]),(0,t.jsx)(b.Root,{...u,children:(0,t.jsx)(er,{scope:r,open:n,onOpenChange:p,content:c,onContentChange:d,children:(0,t.jsx)(eo,{scope:r,onClose:o.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:f,dir:m,modal:l,children:s})})})};ea.displayName=Y;var ei=o.forwardRef((e,r)=>{let{__scopeMenu:n,...o}=e,s=ee(n);return(0,t.jsx)(b.Anchor,{...s,...o,ref:r})});ei.displayName="MenuAnchor";var el="MenuPortal",[eu,ec]=J(el,{forceMount:void 0}),ed=e=>{let{__scopeMenu:r,forceMount:n,children:o,container:s}=e,a=en(el,r);return(0,t.jsx)(eu,{scope:r,forceMount:n,children:(0,t.jsx)(C.Presence,{present:n||a.open,children:(0,t.jsx)(R.Portal,{asChild:!0,container:s,children:o})})})};ed.displayName=el;var ef="MenuContent",[ep,em]=J(ef),eh=o.forwardRef((e,r)=>{let n=ec(ef,e.__scopeMenu),{forceMount:o=n.forceMount,...s}=e,a=en(ef,e.__scopeMenu),i=es(ef,e.__scopeMenu);return(0,t.jsx)(q.Provider,{scope:e.__scopeMenu,children:(0,t.jsx)(C.Presence,{present:o||a.open,children:(0,t.jsx)(q.Slot,{scope:e.__scopeMenu,children:i.modal?(0,t.jsx)(ev,{...s,ref:r}):(0,t.jsx)(ex,{...s,ref:r})})})})}),ev=o.forwardRef((e,r)=>{let n=en(ef,e.__scopeMenu),i=o.useRef(null),l=(0,a.useComposedRefs)(r,i);return o.useEffect(()=>{let e=i.current;if(e)return(0,z.hideOthers)(e)},[]),(0,t.jsx)(ew,{...e,ref:l,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:(0,s.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),ex=o.forwardRef((e,r)=>{let n=en(ef,e.__scopeMenu);return(0,t.jsx)(ew,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),eg=(0,c.createSlot)("MenuContent.ScrollLock"),ew=o.forwardRef((e,r)=>{let{__scopeMenu:n,loop:i=!1,trapFocus:l,onOpenAutoFocus:u,onCloseAutoFocus:c,disableOutsidePointerEvents:d,onEntryFocus:f,onEscapeKeyDown:p,onPointerDownOutside:m,onFocusOutside:h,onInteractOutside:v,onDismiss:y,disableOutsideScroll:R,...C}=e,j=en(ef,n),M=es(ef,n),k=ee(n),D=et(n),E=Z(n),[P,S]=o.useState(null),I=o.useRef(null),N=(0,a.useComposedRefs)(r,I,j.onContentChange),_=o.useRef(0),A=o.useRef(""),T=o.useRef(0),F=o.useRef(null),H=o.useRef("right"),L=o.useRef(0),K=R?G.RemoveScroll:o.Fragment;o.useEffect(()=>()=>window.clearTimeout(_.current),[]),(0,g.useFocusGuards)();let z=o.useCallback(e=>{var t,r;return H.current===F.current?.side&&(t=e,!!(r=F.current?.area)&&function(e,t){let{x:r,y:n}=e,o=!1;for(let e=0,s=t.length-1;e<t.length;s=e++){let a=t[e],i=t[s],l=a.x,u=a.y,c=i.x,d=i.y;u>n!=d>n&&r<(c-l)*(n-u)/(d-u)+l&&(o=!o)}return o}({x:t.clientX,y:t.clientY},r))},[]);return(0,t.jsx)(ep,{scope:n,searchRef:A,onItemEnter:o.useCallback(e=>{z(e)&&e.preventDefault()},[z]),onItemLeave:o.useCallback(e=>{z(e)||(I.current?.focus(),S(null))},[z]),onTriggerLeave:o.useCallback(e=>{z(e)&&e.preventDefault()},[z]),pointerGraceTimerRef:T,onPointerGraceIntentChange:o.useCallback(e=>{F.current=e},[]),children:(0,t.jsx)(K,{...R?{as:eg,allowPinchZoom:!0}:void 0,children:(0,t.jsx)(w.FocusScope,{asChild:!0,trapped:l,onMountAutoFocus:(0,s.composeEventHandlers)(u,e=>{e.preventDefault(),I.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:c,children:(0,t.jsx)(x.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:d,onEscapeKeyDown:p,onPointerDownOutside:m,onFocusOutside:h,onInteractOutside:v,onDismiss:y,children:(0,t.jsx)(O,{asChild:!0,...D,dir:M.dir,orientation:"vertical",loop:i,currentTabStopId:P,onCurrentTabStopIdChange:S,onEntryFocus:(0,s.composeEventHandlers)(f,e=>{M.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,t.jsx)(b.Content,{role:"menu","aria-orientation":"vertical","data-state":eV(j.open),"data-radix-menu-content":"",dir:M.dir,...k,...C,ref:N,style:{outline:"none",...C.style},onKeyDown:(0,s.composeEventHandlers)(C.onKeyDown,e=>{let t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,r=e.ctrlKey||e.altKey||e.metaKey,n=1===e.key.length;if(t){var o;let t,s,a,i,l,u;"Tab"===e.key&&e.preventDefault(),!r&&n&&(o=e.key,t=A.current+o,s=E().filter(e=>!e.disabled),a=document.activeElement,i=s.find(e=>e.ref.current===a)?.textValue,l=function(e,t,r){var n;let o=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,s=r?e.indexOf(r):-1,a=(n=Math.max(s,0),e.map((t,r)=>e[(n+r)%e.length]));1===o.length&&(a=a.filter(e=>e!==r));let i=a.find(e=>e.toLowerCase().startsWith(o.toLowerCase()));return i!==r?i:void 0}(s.map(e=>e.textValue),t,i),u=s.find(e=>e.textValue===l)?.ref.current,function e(t){A.current=t,window.clearTimeout(_.current),""!==t&&(_.current=window.setTimeout(()=>e(""),1e3))}(t),u&&setTimeout(()=>u.focus()))}let s=I.current;if(e.target!==s||!V.includes(e.key))return;e.preventDefault();let a=E().filter(e=>!e.disabled).map(e=>e.ref.current);B.includes(e.key)&&a.reverse(),function(e){let t=document.activeElement;for(let r of e)if(r===t||(r.focus(),document.activeElement!==t))return}(a)}),onBlur:(0,s.composeEventHandlers)(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(_.current),A.current="")}),onPointerMove:(0,s.composeEventHandlers)(e.onPointerMove,eY(e=>{let t=e.target,r=L.current!==e.clientX;e.currentTarget.contains(t)&&r&&(H.current=e.clientX>L.current?"right":"left",L.current=e.clientX)}))})})})})})})});eh.displayName=ef;var ey=o.forwardRef((e,r)=>{let{__scopeMenu:n,...o}=e;return(0,t.jsx)(u.Primitive.div,{role:"group",...o,ref:r})});ey.displayName="MenuGroup";var eb=o.forwardRef((e,r)=>{let{__scopeMenu:n,...o}=e;return(0,t.jsx)(u.Primitive.div,{...o,ref:r})});eb.displayName="MenuLabel";var eR="MenuItem",eC="menu.itemSelect",ej=o.forwardRef((e,r)=>{let{disabled:n=!1,onSelect:i,...l}=e,c=o.useRef(null),d=es(eR,e.__scopeMenu),f=em(eR,e.__scopeMenu),p=(0,a.useComposedRefs)(r,c),m=o.useRef(!1);return(0,t.jsx)(eM,{...l,ref:p,disabled:n,onClick:(0,s.composeEventHandlers)(e.onClick,()=>{let e=c.current;if(!n&&e){let t=new CustomEvent(eC,{bubbles:!0,cancelable:!0});e.addEventListener(eC,e=>i?.(e),{once:!0}),(0,u.dispatchDiscreteCustomEvent)(e,t),t.defaultPrevented?m.current=!1:d.onClose()}}),onPointerDown:t=>{e.onPointerDown?.(t),m.current=!0},onPointerUp:(0,s.composeEventHandlers)(e.onPointerUp,e=>{m.current||e.currentTarget?.click()}),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{let t=""!==f.searchRef.current;n||t&&" "===e.key||U.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});ej.displayName=eR;var eM=o.forwardRef((e,r)=>{let{__scopeMenu:n,disabled:i=!1,textValue:l,...c}=e,d=em(eR,n),f=et(n),p=o.useRef(null),m=(0,a.useComposedRefs)(r,p),[h,v]=o.useState(!1),[x,g]=o.useState("");return o.useEffect(()=>{let e=p.current;e&&g((e.textContent??"").trim())},[c.children]),(0,t.jsx)(q.ItemSlot,{scope:n,disabled:i,textValue:l??x,children:(0,t.jsx)(H,{asChild:!0,...f,focusable:!i,children:(0,t.jsx)(u.Primitive.div,{role:"menuitem","data-highlighted":h?"":void 0,"aria-disabled":i||void 0,"data-disabled":i?"":void 0,...c,ref:m,onPointerMove:(0,s.composeEventHandlers)(e.onPointerMove,eY(e=>{i?d.onItemLeave(e):(d.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,s.composeEventHandlers)(e.onPointerLeave,eY(e=>d.onItemLeave(e))),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>v(!0)),onBlur:(0,s.composeEventHandlers)(e.onBlur,()=>v(!1))})})})}),ek=o.forwardRef((e,r)=>{let{checked:n=!1,onCheckedChange:o,...a}=e;return(0,t.jsx)(eA,{scope:e.__scopeMenu,checked:n,children:(0,t.jsx)(ej,{role:"menuitemcheckbox","aria-checked":eX(n)?"mixed":n,...a,ref:r,"data-state":eW(n),onSelect:(0,s.composeEventHandlers)(a.onSelect,()=>o?.(!!eX(n)||!n),{checkForDefaultPrevented:!1})})})});ek.displayName="MenuCheckboxItem";var eD="MenuRadioGroup",[eE,eP]=J(eD,{value:void 0,onValueChange:()=>{}}),eS=o.forwardRef((e,r)=>{let{value:n,onValueChange:o,...s}=e,a=(0,j.useCallbackRef)(o);return(0,t.jsx)(eE,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,t.jsx)(ey,{...s,ref:r})})});eS.displayName=eD;var eI="MenuRadioItem",eN=o.forwardRef((e,r)=>{let{value:n,...o}=e,a=eP(eI,e.__scopeMenu),i=n===a.value;return(0,t.jsx)(eA,{scope:e.__scopeMenu,checked:i,children:(0,t.jsx)(ej,{role:"menuitemradio","aria-checked":i,...o,ref:r,"data-state":eW(i),onSelect:(0,s.composeEventHandlers)(o.onSelect,()=>a.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});eN.displayName=eI;var e_="MenuItemIndicator",[eA,eO]=J(e_,{checked:!1}),eT=o.forwardRef((e,r)=>{let{__scopeMenu:n,forceMount:o,...s}=e,a=eO(e_,n);return(0,t.jsx)(C.Presence,{present:o||eX(a.checked)||!0===a.checked,children:(0,t.jsx)(u.Primitive.span,{...s,ref:r,"data-state":eW(a.checked)})})});eT.displayName=e_;var eF=o.forwardRef((e,r)=>{let{__scopeMenu:n,...o}=e;return(0,t.jsx)(u.Primitive.div,{role:"separator","aria-orientation":"horizontal",...o,ref:r})});eF.displayName="MenuSeparator";var eH=o.forwardRef((e,r)=>{let{__scopeMenu:n,...o}=e,s=ee(n);return(0,t.jsx)(b.Arrow,{...s,...o,ref:r})});eH.displayName="MenuArrow";var[eL,eK]=J("MenuSub"),ez="MenuSubTrigger",eG=o.forwardRef((e,r)=>{let n=en(ez,e.__scopeMenu),i=es(ez,e.__scopeMenu),l=eK(ez,e.__scopeMenu),u=em(ez,e.__scopeMenu),c=o.useRef(null),{pointerGraceTimerRef:d,onPointerGraceIntentChange:f}=u,p={__scopeMenu:e.__scopeMenu},m=o.useCallback(()=>{c.current&&window.clearTimeout(c.current),c.current=null},[]);o.useEffect(()=>m,[m]),o.useEffect(()=>{let e=d.current;return()=>{window.clearTimeout(e),f(null)}},[d,f]);let h=(0,a.useComposedRefs)(r,l.onTriggerChange);return(0,t.jsx)(ei,{asChild:!0,...p,children:(0,t.jsx)(eM,{id:l.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":n.open?l.contentId:void 0,"data-state":eV(n.open),...e,ref:h,onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:(0,s.composeEventHandlers)(e.onPointerMove,eY(t=>{u.onItemEnter(t),!t.defaultPrevented&&(e.disabled||n.open||c.current||(u.onPointerGraceIntentChange(null),c.current=window.setTimeout(()=>{n.onOpenChange(!0),m()},100)))})),onPointerLeave:(0,s.composeEventHandlers)(e.onPointerLeave,eY(e=>{m();let t=n.content?.getBoundingClientRect();if(t){let r=n.content?.dataset.side,o="right"===r,s=t[o?"left":"right"],a=t[o?"right":"left"];u.onPointerGraceIntentChange({area:[{x:e.clientX+(o?-5:5),y:e.clientY},{x:s,y:t.top},{x:a,y:t.top},{x:a,y:t.bottom},{x:s,y:t.bottom}],side:r}),window.clearTimeout(d.current),d.current=window.setTimeout(()=>u.onPointerGraceIntentChange(null),300)}else{if(u.onTriggerLeave(e),e.defaultPrevented)return;u.onPointerGraceIntentChange(null)}})),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,t=>{let r=""!==u.searchRef.current;e.disabled||r&&" "===t.key||X[i.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});eG.displayName=ez;var eU="MenuSubContent",eB=o.forwardRef((e,r)=>{let n=ec(ef,e.__scopeMenu),{forceMount:i=n.forceMount,align:l="start",...u}=e,c=en(ef,e.__scopeMenu),d=es(ef,e.__scopeMenu),f=eK(eU,e.__scopeMenu),p=o.useRef(null),m=(0,a.useComposedRefs)(r,p);return(0,t.jsx)(q.Provider,{scope:e.__scopeMenu,children:(0,t.jsx)(C.Presence,{present:i||c.open,children:(0,t.jsx)(q.Slot,{scope:e.__scopeMenu,children:(0,t.jsx)(ew,{id:f.contentId,"aria-labelledby":f.triggerId,...u,ref:m,align:l,side:"rtl"===d.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{d.isUsingKeyboardRef.current&&p.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:(0,s.composeEventHandlers)(e.onFocusOutside,e=>{e.target!==f.trigger&&c.onOpenChange(!1)}),onEscapeKeyDown:(0,s.composeEventHandlers)(e.onEscapeKeyDown,e=>{d.onClose(),e.preventDefault()}),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),r=W[d.dir].includes(e.key);t&&r&&(c.onOpenChange(!1),f.trigger?.focus(),e.preventDefault())})})})})})});function eV(e){return e?"open":"closed"}function eX(e){return"indeterminate"===e}function eW(e){return eX(e)?"indeterminate":e?"checked":"unchecked"}function eY(e){return t=>"mouse"===t.pointerType?e(t):void 0}eB.displayName=eU;var eq="DropdownMenu",[eZ,e$]=(0,i.createContextScope)(eq,[Q]),eJ=Q(),[eQ,e0]=eZ(eq),e1=e=>{let{__scopeDropdownMenu:r,children:n,dir:s,open:a,defaultOpen:i,onOpenChange:u,modal:c=!0}=e,d=eJ(r),f=o.useRef(null),[p,m]=(0,l.useControllableState)({prop:a,defaultProp:i??!1,onChange:u,caller:eq});return(0,t.jsx)(eQ,{scope:r,triggerId:(0,y.useId)(),triggerRef:f,contentId:(0,y.useId)(),open:p,onOpenChange:m,onOpenToggle:o.useCallback(()=>m(e=>!e),[m]),modal:c,children:(0,t.jsx)(ea,{...d,open:p,onOpenChange:m,dir:s,modal:c,children:n})})};e1.displayName=eq;var e2="DropdownMenuTrigger",e5=o.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,disabled:o=!1,...i}=e,l=e0(e2,n),c=eJ(n),d=(0,a.useComposedRefs)(r,l.triggerRef);return(0,t.jsx)(ei,{asChild:!0,...c,children:(0,t.jsx)(u.Primitive.button,{type:"button",id:l.triggerId,"aria-haspopup":"menu","aria-expanded":l.open,"aria-controls":l.open?l.contentId:void 0,"data-state":l.open?"open":"closed","data-disabled":o?"":void 0,disabled:o,...i,ref:d,onPointerDown:(0,s.composeEventHandlers)(e.onPointerDown,e=>{!o&&0===e.button&&!1===e.ctrlKey&&(l.onOpenToggle(),l.open||e.preventDefault())}),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{!o&&(["Enter"," "].includes(e.key)&&l.onOpenToggle(),"ArrowDown"===e.key&&l.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});e5.displayName=e2;var e6=e=>{let{__scopeDropdownMenu:r,...n}=e,o=eJ(r);return(0,t.jsx)(ed,{...o,...n})};e6.displayName="DropdownMenuPortal";var e3="DropdownMenuContent",e4=o.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...a}=e,i=e0(e3,n),l=eJ(n),u=o.useRef(!1);return(0,t.jsx)(eh,{id:i.contentId,"aria-labelledby":i.triggerId,...l,...a,ref:r,onCloseAutoFocus:(0,s.composeEventHandlers)(e.onCloseAutoFocus,e=>{u.current||i.triggerRef.current?.focus(),u.current=!1,e.preventDefault()}),onInteractOutside:(0,s.composeEventHandlers)(e.onInteractOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey,n=2===t.button||r;(!i.modal||n)&&(u.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});e4.displayName=e3,o.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,s=eJ(n);return(0,t.jsx)(ey,{...s,...o,ref:r})}).displayName="DropdownMenuGroup";var e7=o.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,s=eJ(n);return(0,t.jsx)(eb,{...s,...o,ref:r})});e7.displayName="DropdownMenuLabel";var e8=o.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,s=eJ(n);return(0,t.jsx)(ej,{...s,...o,ref:r})});e8.displayName="DropdownMenuItem";var e9=o.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,s=eJ(n);return(0,t.jsx)(ek,{...s,...o,ref:r})});e9.displayName="DropdownMenuCheckboxItem";var te=o.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,s=eJ(n);return(0,t.jsx)(eS,{...s,...o,ref:r})});te.displayName="DropdownMenuRadioGroup";var tt=o.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,s=eJ(n);return(0,t.jsx)(eN,{...s,...o,ref:r})});tt.displayName="DropdownMenuRadioItem";var tr=o.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,s=eJ(n);return(0,t.jsx)(eT,{...s,...o,ref:r})});tr.displayName="DropdownMenuItemIndicator";var tn=o.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,s=eJ(n);return(0,t.jsx)(eF,{...s,...o,ref:r})});tn.displayName="DropdownMenuSeparator",o.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,s=eJ(n);return(0,t.jsx)(eH,{...s,...o,ref:r})}).displayName="DropdownMenuArrow",o.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,s=eJ(n);return(0,t.jsx)(eG,{...s,...o,ref:r})}).displayName="DropdownMenuSubTrigger",o.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...o}=e,s=eJ(n);return(0,t.jsx)(eB,{...s,...o,ref:r,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})}).displayName="DropdownMenuSubContent",e.i(867927);let to=(0,e.i(456420).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var ts=e.i(975157);function ta({className:e,sideOffset:r=4,...n}){return(0,t.jsx)(e6,{children:(0,t.jsx)(e4,{sideOffset:r,className:(0,ts.cn)("z-50 min-w-[10rem] overflow-hidden rounded-md border border-card-border bg-card p-1 text-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n})})}function ti({className:e,inset:r,variant:n="default",...o}){return(0,t.jsx)(e8,{"data-variant":n,className:(0,ts.cn)("relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors","focus:bg-accent focus:text-accent-foreground","data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r&&"pl-8","destructive"===n&&"text-destructive focus:bg-destructive/10 focus:text-destructive",e),...o})}function tl({className:e,inset:r,...n}){return(0,t.jsx)(e7,{className:(0,ts.cn)("px-2 py-1.5 text-xs font-medium text-foreground-muted",r&&"pl-8",e),...n})}function tu({className:e,...r}){return(0,t.jsx)(tn,{className:(0,ts.cn)("-mx-1 my-1 h-px bg-border",e),...r})}function tc({className:e,children:n,checked:o,...s}){return(0,t.jsxs)(e9,{className:(0,ts.cn)("relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:o,...s,children:[(0,t.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,t.jsx)(tr,{children:(0,t.jsx)(r.Check,{className:"h-4 w-4"})})}),n]})}function td({className:e,children:r,...n}){return(0,t.jsxs)(tt,{className:(0,ts.cn)("relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[(0,t.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,t.jsx)(tr,{children:(0,t.jsx)(to,{className:"h-2 w-2 fill-current"})})}),r]})}function tf({value:e,onChange:o,options:s,label:a,active:i,size:l="sm",className:u,"aria-label":c}){let d=s.find(t=>t.value===e);return(0,t.jsxs)(e1,{children:[(0,t.jsxs)(e5,{"aria-label":c||("string"==typeof a?a:void 0),className:(0,ts.cn)("inline-flex items-center gap-1.5 px-2.5 rounded-md border transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","sm"===l?"h-7 text-xs":"h-8 text-sm",i?"bg-primary-subtle border-primary-border text-primary":"bg-card border-border text-foreground hover:bg-background-secondary",u),children:[a&&(0,t.jsx)("span",{className:(0,ts.cn)("font-medium",i?"text-primary":"text-foreground-muted"),children:a}),(0,t.jsx)("span",{className:"truncate max-w-[14rem]",children:d?.label??e}),(0,t.jsx)(n.ChevronDown,{className:"size-3 shrink-0 text-foreground-muted","aria-hidden":!0})]}),(0,t.jsx)(ta,{align:"start",sideOffset:4,className:"min-w-[10rem]",children:(0,t.jsx)(te,{value:e,onValueChange:e=>o(e),children:s.map(n=>(0,t.jsxs)(td,{value:n.value,className:"pl-8 pr-2",children:[(0,t.jsx)("span",{className:"absolute left-2 flex size-4 items-center justify-center",children:n.value===e&&(0,t.jsx)(r.Check,{className:"size-3.5"})}),n.accent&&(0,t.jsx)("span",{"aria-hidden":!0,className:"inline-block size-2 rounded-full mr-1.5 shrink-0",style:{background:n.accent}}),(0,t.jsx)("span",{className:"truncate",children:n.label})]},n.value))})})]})}e.s(["DropdownMenu",()=>e1,"DropdownMenuCheckboxItem",()=>tc,"DropdownMenuContent",()=>ta,"DropdownMenuItem",()=>ti,"DropdownMenuLabel",()=>tl,"DropdownMenuRadioGroup",()=>te,"DropdownMenuRadioItem",()=>td,"DropdownMenuSeparator",()=>tu,"DropdownMenuTrigger",()=>e5],755146),e.s(["Select",()=>tf],967489)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,218469,456420,248105,e=>{"use strict";var t=e.i(271645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),o=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,t.createContext)({}),a=(0,t.forwardRef)(({color:e,size:o,strokeWidth:a,absoluteStrokeWidth:s,className:l="",children:c,iconNode:d,...u},p)=>{let{size:f=24,strokeWidth:h=2,absoluteStrokeWidth:x=!1,color:y="currentColor",className:m=""}=(0,t.useContext)(i)??{},g=s??x?24*Number(a??h)/Number(o??f):a??h;return(0,t.createElement)("svg",{ref:p,...n,width:o??f??n.width,height:o??f??n.height,stroke:e??y,strokeWidth:g,className:r("lucide",m,l),...!c&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(u)&&{"aria-hidden":"true"},...u},[...d.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(c)?c:[c]])}),s=(e,n)=>{let i=(0,t.forwardRef)(({className:i,...s},l)=>(0,t.createElement)(a,{ref:l,iconNode:n,className:r(`lucide-${o(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...s}));return i.displayName=o(e),i};e.s(["default",()=>s],456420);let l=s("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]);e.s(["PanelLeftClose",()=>l],218469);let c=s("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);e.s(["PanelLeftOpen",()=>c],248105)},540568,e=>{"use strict";var t=e.i(843476),r=e.i(218469),o=e.i(248105),n=e.i(760045);function i({title:e,actions:i}){let{isCollapsed:a,toggleSidebar:s}=(0,n.useSidebar)(),l=a?o.PanelLeftOpen:r.PanelLeftClose;return(0,t.jsxs)("header",{className:"sticky top-0 z-10 flex h-14 items-center gap-3 border-b border-border bg-card px-6",style:{flexShrink:0},children:[(0,t.jsx)("button",{type:"button",onClick:s,"aria-label":a?"展开侧栏":"折叠侧栏",className:"inline-flex size-7 shrink-0 items-center justify-center rounded-md text-foreground-secondary transition-colors hover:bg-background-secondary hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:(0,t.jsx)(l,{className:"size-4"})}),(0,t.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-2 text-sm font-medium text-foreground",children:"string"==typeof e?(0,t.jsx)("span",{className:"truncate",children:e}):e}),i&&(0,t.jsx)("div",{className:"flex items-center gap-2",children:i})]})}e.s(["AppTopBar",()=>i])},207670,e=>{"use strict";function t(){for(var e,t,r=0,o="",n=arguments.length;r<n;r++)(e=arguments[r])&&(t=function e(t){var r,o,n="";if("string"==typeof t||"number"==typeof t)n+=t;else if("object"==typeof t)if(Array.isArray(t)){var i=t.length;for(r=0;r<i;r++)t[r]&&(o=e(t[r]))&&(n&&(n+=" "),n+=o)}else for(o in t)t[o]&&(n&&(n+=" "),n+=o);return n}(e))&&(o&&(o+=" "),o+=t);return o}e.s(["clsx",()=>t])},186336,e=>{"use strict";var t=e.i(271645),r=e.i(981140),o=e.i(820783),n=e.i(30030),i=e.i(726330),a=e.i(610772),s=e.i(853660),l=e.i(774606),c=e.i(296626),d=e.i(248425),u=e.i(991918),p=e.i(369340),f=e.i(843476),h=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),x=t.forwardRef((e,t)=>(0,f.jsx)(d.Primitive.span,{...e,ref:t,style:{...h,...e.style}}));x.displayName="VisuallyHidden";var[y,m]=(0,n.createContextScope)("Tooltip",[s.createPopperScope]),g=(0,s.createPopperScope)(),v="TooltipProvider",b="tooltip.open",[w,C]=y(v),k=e=>{let{__scopeTooltip:r,delayDuration:o=700,skipDelayDuration:n=300,disableHoverableContent:i=!1,children:a}=e,s=t.useRef(!0),l=t.useRef(!1),c=t.useRef(0);return t.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,f.jsx)(w,{scope:r,isOpenDelayedRef:s,delayDuration:o,onOpen:t.useCallback(()=>{n<=0||(window.clearTimeout(c.current),s.current=!1)},[n]),onClose:t.useCallback(()=>{n<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.current=!0,n))},[n]),isPointerInTransitRef:l,onPointerInTransitChange:t.useCallback(e=>{l.current=e},[]),disableHoverableContent:i,children:a})};k.displayName=v;var T="Tooltip",[j,E]=y(T),P=e=>{let{__scopeTooltip:r,children:o,open:n,defaultOpen:i,onOpenChange:l,disableHoverableContent:c,delayDuration:d}=e,u=C(T,e.__scopeTooltip),h=g(r),[x,y]=t.useState(null),m=(0,a.useId)(),v=t.useRef(0),w=c??u.disableHoverableContent,k=d??u.delayDuration,E=t.useRef(!1),[P,R]=(0,p.useControllableState)({prop:n,defaultProp:i??!1,onChange:e=>{e?(u.onOpen(),document.dispatchEvent(new CustomEvent(b))):u.onClose(),l?.(e)},caller:T}),L=t.useMemo(()=>P?E.current?"delayed-open":"instant-open":"closed",[P]),M=t.useCallback(()=>{window.clearTimeout(v.current),v.current=0,E.current=!1,R(!0)},[R]),N=t.useCallback(()=>{window.clearTimeout(v.current),v.current=0,R(!1)},[R]),A=t.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{E.current=!0,R(!0),v.current=0},k)},[k,R]);return t.useEffect(()=>()=>{v.current&&(window.clearTimeout(v.current),v.current=0)},[]),(0,f.jsx)(s.Root,{...h,children:(0,f.jsx)(j,{scope:r,contentId:m,open:P,stateAttribute:L,trigger:x,onTriggerChange:y,onTriggerEnter:t.useCallback(()=>{u.isOpenDelayedRef.current?A():M()},[u.isOpenDelayedRef,A,M]),onTriggerLeave:t.useCallback(()=>{w?N():(window.clearTimeout(v.current),v.current=0)},[N,w]),onOpen:M,onClose:N,disableHoverableContent:w,children:o})})};P.displayName=T;var R="TooltipTrigger",L=t.forwardRef((e,n)=>{let{__scopeTooltip:i,...a}=e,l=E(R,i),c=C(R,i),u=g(i),p=t.useRef(null),h=(0,o.useComposedRefs)(n,p,l.onTriggerChange),x=t.useRef(!1),y=t.useRef(!1),m=t.useCallback(()=>x.current=!1,[]);return t.useEffect(()=>()=>document.removeEventListener("pointerup",m),[m]),(0,f.jsx)(s.Anchor,{asChild:!0,...u,children:(0,f.jsx)(d.Primitive.button,{"aria-describedby":l.open?l.contentId:void 0,"data-state":l.stateAttribute,...a,ref:h,onPointerMove:(0,r.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(y.current||c.isPointerInTransitRef.current||(l.onTriggerEnter(),y.current=!0))}),onPointerLeave:(0,r.composeEventHandlers)(e.onPointerLeave,()=>{l.onTriggerLeave(),y.current=!1}),onPointerDown:(0,r.composeEventHandlers)(e.onPointerDown,()=>{l.open&&l.onClose(),x.current=!0,document.addEventListener("pointerup",m,{once:!0})}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>{x.current||l.onOpen()}),onBlur:(0,r.composeEventHandlers)(e.onBlur,l.onClose),onClick:(0,r.composeEventHandlers)(e.onClick,l.onClose)})})});L.displayName=R;var M="TooltipPortal",[N,A]=y(M,{forceMount:void 0}),O=e=>{let{__scopeTooltip:t,forceMount:r,children:o,container:n}=e,i=E(M,t);return(0,f.jsx)(N,{scope:t,forceMount:r,children:(0,f.jsx)(c.Presence,{present:r||i.open,children:(0,f.jsx)(l.Portal,{asChild:!0,container:n,children:o})})})};O.displayName=M;var z="TooltipContent",_=t.forwardRef((e,t)=>{let r=A(z,e.__scopeTooltip),{forceMount:o=r.forceMount,side:n="top",...i}=e,a=E(z,e.__scopeTooltip);return(0,f.jsx)(c.Presence,{present:o||a.open,children:a.disableHoverableContent?(0,f.jsx)(I,{side:n,...i,ref:t}):(0,f.jsx)(H,{side:n,...i,ref:t})})}),H=t.forwardRef((e,r)=>{let n=E(z,e.__scopeTooltip),i=C(z,e.__scopeTooltip),a=t.useRef(null),s=(0,o.useComposedRefs)(r,a),[l,c]=t.useState(null),{trigger:d,onClose:u}=n,p=a.current,{onPointerInTransitChange:h}=i,x=t.useCallback(()=>{c(null),h(!1)},[h]),y=t.useCallback((e,t)=>{let r,o=e.currentTarget,n={x:e.clientX,y:e.clientY},i=function(e,t){let r=Math.abs(t.top-e.y),o=Math.abs(t.bottom-e.y),n=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(r,o,n,i)){case i:return"left";case n:return"right";case r:return"top";case o:return"bottom";default:throw Error("unreachable")}}(n,o.getBoundingClientRect());c(((r=[...function(e,t,r=5){let o=[];switch(t){case"top":o.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":o.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":o.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":o.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return o}(n,i),...function(e){let{top:t,right:r,bottom:o,left:n}=e;return[{x:n,y:t},{x:r,y:t},{x:r,y:o},{x:n,y:o}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let o=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(o.y-r.y)>=(e.y-r.y)*(o.x-r.x))t.pop();else break}t.push(o)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let o=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(o.y-t.y)>=(e.y-t.y)*(o.x-t.x))r.pop();else break}r.push(o)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(r))),h(!0)},[h]);return t.useEffect(()=>()=>x(),[x]),t.useEffect(()=>{if(d&&p){let e=e=>y(e,p),t=e=>y(e,d);return d.addEventListener("pointerleave",e),p.addEventListener("pointerleave",t),()=>{d.removeEventListener("pointerleave",e),p.removeEventListener("pointerleave",t)}}},[d,p,y,x]),t.useEffect(()=>{if(l){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},o=d?.contains(t)||p?.contains(t),n=!function(e,t){let{x:r,y:o}=e,n=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let a=t[e],s=t[i],l=a.x,c=a.y,d=s.x,u=s.y;c>o!=u>o&&r<(d-l)*(o-c)/(u-c)+l&&(n=!n)}return n}(r,l);o?x():n&&(x(),u())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[d,p,l,u,x]),(0,f.jsx)(I,{...e,ref:s})}),[S,D]=y(T,{isInside:!1}),B=(0,u.createSlottable)("TooltipContent"),I=t.forwardRef((e,r)=>{let{__scopeTooltip:o,children:n,"aria-label":a,onEscapeKeyDown:l,onPointerDownOutside:c,...d}=e,u=E(z,o),p=g(o),{onClose:h}=u;return t.useEffect(()=>(document.addEventListener(b,h),()=>document.removeEventListener(b,h)),[h]),t.useEffect(()=>{if(u.trigger){let e=e=>{e.target instanceof Node&&e.target.contains(u.trigger)&&h()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[u.trigger,h]),(0,f.jsx)(i.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:e=>e.preventDefault(),onDismiss:h,children:(0,f.jsxs)(s.Content,{"data-state":u.stateAttribute,...p,...d,ref:r,style:{...d.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,f.jsx)(B,{children:n}),(0,f.jsx)(S,{scope:o,isInside:!0,children:(0,f.jsx)(x,{id:u.contentId,role:"tooltip",children:a||n})})]})})});_.displayName=z;var W="TooltipArrow",U=t.forwardRef((e,t)=>{let{__scopeTooltip:r,...o}=e,n=g(r);return D(W,r).isInside?null:(0,f.jsx)(s.Arrow,{...n,...o,ref:t})});U.displayName=W,e.s(["Arrow",()=>U,"Content",()=>_,"Portal",()=>O,"Provider",()=>k,"Root",()=>P,"Trigger",()=>L],186336)},263676,e=>{"use strict";let t=(0,e.i(456420).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],263676)},632781,e=>{"use strict";let t=(0,e.i(456420).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>t],632781)},573474,e=>{"use strict";let t=(0,e.i(456420).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],573474)},746798,e=>{"use strict";var t=e.i(843476),r=e.i(186336),o=e.i(975157);function n({delayDuration:e=0,...o}){return(0,t.jsx)(r.Provider,{"data-slot":"tooltip-provider",delayDuration:e,...o})}function i({...e}){return(0,t.jsx)(n,{children:(0,t.jsx)(r.Root,{"data-slot":"tooltip",...e})})}function a({...e}){return(0,t.jsx)(r.Trigger,{"data-slot":"tooltip-trigger",...e})}function s({className:e,sideOffset:n=0,children:i,...a}){return(0,t.jsx)(r.Portal,{children:(0,t.jsxs)(r.Content,{"data-slot":"tooltip-content",sideOffset:n,className:(0,o.cn)("bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit rounded-md px-3 py-1.5 text-xs text-balance",e),...a,children:[i,(0,t.jsx)(r.Arrow,{className:"bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}e.s(["Tooltip",()=>i,"TooltipContent",()=>s,"TooltipProvider",()=>n,"TooltipTrigger",()=>a])},882303,e=>{"use strict";let t=(0,e.i(456420).default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);e.s(["Users",()=>t],882303)},768877,e=>{"use strict";let t=(0,e.i(456420).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",()=>t],768877)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,218469,456420,248105,e=>{"use strict";var t=e.i(271645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),o=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var n={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,t.createContext)({}),a=(0,t.forwardRef)(({color:e,size:o,strokeWidth:a,absoluteStrokeWidth:s,className:l="",children:c,iconNode:d,...u},p)=>{let{size:f=24,strokeWidth:h=2,absoluteStrokeWidth:x=!1,color:y="currentColor",className:m=""}=(0,t.useContext)(i)??{},g=s??x?24*Number(a??h)/Number(o??f):a??h;return(0,t.createElement)("svg",{ref:p,...n,width:o??f??n.width,height:o??f??n.height,stroke:e??y,strokeWidth:g,className:r("lucide",m,l),...!c&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(u)&&{"aria-hidden":"true"},...u},[...d.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(c)?c:[c]])}),s=(e,n)=>{let i=(0,t.forwardRef)(({className:i,...s},l)=>(0,t.createElement)(a,{ref:l,iconNode:n,className:r(`lucide-${o(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,i),...s}));return i.displayName=o(e),i};e.s(["default",()=>s],456420);let l=s("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]);e.s(["PanelLeftClose",()=>l],218469);let c=s("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);e.s(["PanelLeftOpen",()=>c],248105)},540568,e=>{"use strict";var t=e.i(843476),r=e.i(218469),o=e.i(248105),n=e.i(760045);function i({title:e,actions:i}){let{isCollapsed:a,toggleSidebar:s}=(0,n.useSidebar)(),l=a?o.PanelLeftOpen:r.PanelLeftClose;return(0,t.jsxs)("header",{className:"sticky top-0 z-10 flex h-14 items-center gap-3 border-b border-border bg-card px-6",style:{flexShrink:0},children:[(0,t.jsx)("button",{type:"button",onClick:s,"aria-label":a?"展开侧栏":"折叠侧栏",className:"inline-flex size-7 shrink-0 items-center justify-center rounded-md text-foreground-secondary transition-colors hover:bg-background-secondary hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:(0,t.jsx)(l,{className:"size-4"})}),(0,t.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-2 text-sm font-medium text-foreground",children:"string"==typeof e?(0,t.jsx)("span",{className:"truncate",children:e}):e}),i&&(0,t.jsx)("div",{className:"flex items-center gap-2",children:i})]})}e.s(["AppTopBar",()=>i])},207670,e=>{"use strict";function t(){for(var e,t,r=0,o="",n=arguments.length;r<n;r++)(e=arguments[r])&&(t=function e(t){var r,o,n="";if("string"==typeof t||"number"==typeof t)n+=t;else if("object"==typeof t)if(Array.isArray(t)){var i=t.length;for(r=0;r<i;r++)t[r]&&(o=e(t[r]))&&(n&&(n+=" "),n+=o)}else for(o in t)t[o]&&(n&&(n+=" "),n+=o);return n}(e))&&(o&&(o+=" "),o+=t);return o}e.s(["clsx",()=>t])},186336,e=>{"use strict";var t=e.i(271645),r=e.i(981140),o=e.i(820783),n=e.i(30030),i=e.i(726330),a=e.i(610772),s=e.i(853660),l=e.i(774606),c=e.i(296626),d=e.i(248425),u=e.i(991918),p=e.i(369340),f=e.i(843476),h=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),x=t.forwardRef((e,t)=>(0,f.jsx)(d.Primitive.span,{...e,ref:t,style:{...h,...e.style}}));x.displayName="VisuallyHidden";var[y,m]=(0,n.createContextScope)("Tooltip",[s.createPopperScope]),g=(0,s.createPopperScope)(),v="TooltipProvider",b="tooltip.open",[w,C]=y(v),k=e=>{let{__scopeTooltip:r,delayDuration:o=700,skipDelayDuration:n=300,disableHoverableContent:i=!1,children:a}=e,s=t.useRef(!0),l=t.useRef(!1),c=t.useRef(0);return t.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,f.jsx)(w,{scope:r,isOpenDelayedRef:s,delayDuration:o,onOpen:t.useCallback(()=>{n<=0||(window.clearTimeout(c.current),s.current=!1)},[n]),onClose:t.useCallback(()=>{n<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.current=!0,n))},[n]),isPointerInTransitRef:l,onPointerInTransitChange:t.useCallback(e=>{l.current=e},[]),disableHoverableContent:i,children:a})};k.displayName=v;var T="Tooltip",[j,E]=y(T),P=e=>{let{__scopeTooltip:r,children:o,open:n,defaultOpen:i,onOpenChange:l,disableHoverableContent:c,delayDuration:d}=e,u=C(T,e.__scopeTooltip),h=g(r),[x,y]=t.useState(null),m=(0,a.useId)(),v=t.useRef(0),w=c??u.disableHoverableContent,k=d??u.delayDuration,E=t.useRef(!1),[P,R]=(0,p.useControllableState)({prop:n,defaultProp:i??!1,onChange:e=>{e?(u.onOpen(),document.dispatchEvent(new CustomEvent(b))):u.onClose(),l?.(e)},caller:T}),L=t.useMemo(()=>P?E.current?"delayed-open":"instant-open":"closed",[P]),M=t.useCallback(()=>{window.clearTimeout(v.current),v.current=0,E.current=!1,R(!0)},[R]),N=t.useCallback(()=>{window.clearTimeout(v.current),v.current=0,R(!1)},[R]),A=t.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{E.current=!0,R(!0),v.current=0},k)},[k,R]);return t.useEffect(()=>()=>{v.current&&(window.clearTimeout(v.current),v.current=0)},[]),(0,f.jsx)(s.Root,{...h,children:(0,f.jsx)(j,{scope:r,contentId:m,open:P,stateAttribute:L,trigger:x,onTriggerChange:y,onTriggerEnter:t.useCallback(()=>{u.isOpenDelayedRef.current?A():M()},[u.isOpenDelayedRef,A,M]),onTriggerLeave:t.useCallback(()=>{w?N():(window.clearTimeout(v.current),v.current=0)},[N,w]),onOpen:M,onClose:N,disableHoverableContent:w,children:o})})};P.displayName=T;var R="TooltipTrigger",L=t.forwardRef((e,n)=>{let{__scopeTooltip:i,...a}=e,l=E(R,i),c=C(R,i),u=g(i),p=t.useRef(null),h=(0,o.useComposedRefs)(n,p,l.onTriggerChange),x=t.useRef(!1),y=t.useRef(!1),m=t.useCallback(()=>x.current=!1,[]);return t.useEffect(()=>()=>document.removeEventListener("pointerup",m),[m]),(0,f.jsx)(s.Anchor,{asChild:!0,...u,children:(0,f.jsx)(d.Primitive.button,{"aria-describedby":l.open?l.contentId:void 0,"data-state":l.stateAttribute,...a,ref:h,onPointerMove:(0,r.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(y.current||c.isPointerInTransitRef.current||(l.onTriggerEnter(),y.current=!0))}),onPointerLeave:(0,r.composeEventHandlers)(e.onPointerLeave,()=>{l.onTriggerLeave(),y.current=!1}),onPointerDown:(0,r.composeEventHandlers)(e.onPointerDown,()=>{l.open&&l.onClose(),x.current=!0,document.addEventListener("pointerup",m,{once:!0})}),onFocus:(0,r.composeEventHandlers)(e.onFocus,()=>{x.current||l.onOpen()}),onBlur:(0,r.composeEventHandlers)(e.onBlur,l.onClose),onClick:(0,r.composeEventHandlers)(e.onClick,l.onClose)})})});L.displayName=R;var M="TooltipPortal",[N,A]=y(M,{forceMount:void 0}),O=e=>{let{__scopeTooltip:t,forceMount:r,children:o,container:n}=e,i=E(M,t);return(0,f.jsx)(N,{scope:t,forceMount:r,children:(0,f.jsx)(c.Presence,{present:r||i.open,children:(0,f.jsx)(l.Portal,{asChild:!0,container:n,children:o})})})};O.displayName=M;var z="TooltipContent",_=t.forwardRef((e,t)=>{let r=A(z,e.__scopeTooltip),{forceMount:o=r.forceMount,side:n="top",...i}=e,a=E(z,e.__scopeTooltip);return(0,f.jsx)(c.Presence,{present:o||a.open,children:a.disableHoverableContent?(0,f.jsx)(I,{side:n,...i,ref:t}):(0,f.jsx)(H,{side:n,...i,ref:t})})}),H=t.forwardRef((e,r)=>{let n=E(z,e.__scopeTooltip),i=C(z,e.__scopeTooltip),a=t.useRef(null),s=(0,o.useComposedRefs)(r,a),[l,c]=t.useState(null),{trigger:d,onClose:u}=n,p=a.current,{onPointerInTransitChange:h}=i,x=t.useCallback(()=>{c(null),h(!1)},[h]),y=t.useCallback((e,t)=>{let r,o=e.currentTarget,n={x:e.clientX,y:e.clientY},i=function(e,t){let r=Math.abs(t.top-e.y),o=Math.abs(t.bottom-e.y),n=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(r,o,n,i)){case i:return"left";case n:return"right";case r:return"top";case o:return"bottom";default:throw Error("unreachable")}}(n,o.getBoundingClientRect());c(((r=[...function(e,t,r=5){let o=[];switch(t){case"top":o.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":o.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":o.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":o.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return o}(n,i),...function(e){let{top:t,right:r,bottom:o,left:n}=e;return[{x:n,y:t},{x:r,y:t},{x:r,y:o},{x:n,y:o}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let o=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(o.y-r.y)>=(e.y-r.y)*(o.x-r.x))t.pop();else break}t.push(o)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let o=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(o.y-t.y)>=(e.y-t.y)*(o.x-t.x))r.pop();else break}r.push(o)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(r))),h(!0)},[h]);return t.useEffect(()=>()=>x(),[x]),t.useEffect(()=>{if(d&&p){let e=e=>y(e,p),t=e=>y(e,d);return d.addEventListener("pointerleave",e),p.addEventListener("pointerleave",t),()=>{d.removeEventListener("pointerleave",e),p.removeEventListener("pointerleave",t)}}},[d,p,y,x]),t.useEffect(()=>{if(l){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},o=d?.contains(t)||p?.contains(t),n=!function(e,t){let{x:r,y:o}=e,n=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let a=t[e],s=t[i],l=a.x,c=a.y,d=s.x,u=s.y;c>o!=u>o&&r<(d-l)*(o-c)/(u-c)+l&&(n=!n)}return n}(r,l);o?x():n&&(x(),u())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[d,p,l,u,x]),(0,f.jsx)(I,{...e,ref:s})}),[S,D]=y(T,{isInside:!1}),B=(0,u.createSlottable)("TooltipContent"),I=t.forwardRef((e,r)=>{let{__scopeTooltip:o,children:n,"aria-label":a,onEscapeKeyDown:l,onPointerDownOutside:c,...d}=e,u=E(z,o),p=g(o),{onClose:h}=u;return t.useEffect(()=>(document.addEventListener(b,h),()=>document.removeEventListener(b,h)),[h]),t.useEffect(()=>{if(u.trigger){let e=e=>{e.target instanceof Node&&e.target.contains(u.trigger)&&h()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[u.trigger,h]),(0,f.jsx)(i.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:e=>e.preventDefault(),onDismiss:h,children:(0,f.jsxs)(s.Content,{"data-state":u.stateAttribute,...p,...d,ref:r,style:{...d.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,f.jsx)(B,{children:n}),(0,f.jsx)(S,{scope:o,isInside:!0,children:(0,f.jsx)(x,{id:u.contentId,role:"tooltip",children:a||n})})]})})});_.displayName=z;var W="TooltipArrow",U=t.forwardRef((e,t)=>{let{__scopeTooltip:r,...o}=e,n=g(r);return D(W,r).isInside?null:(0,f.jsx)(s.Arrow,{...n,...o,ref:t})});U.displayName=W,e.s(["Arrow",()=>U,"Content",()=>_,"Portal",()=>O,"Provider",()=>k,"Root",()=>P,"Trigger",()=>L],186336)},632781,e=>{"use strict";let t=(0,e.i(456420).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>t],632781)},263676,e=>{"use strict";let t=(0,e.i(456420).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],263676)},573474,e=>{"use strict";let t=(0,e.i(456420).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],573474)},746798,e=>{"use strict";var t=e.i(843476),r=e.i(186336),o=e.i(975157);function n({delayDuration:e=0,...o}){return(0,t.jsx)(r.Provider,{"data-slot":"tooltip-provider",delayDuration:e,...o})}function i({...e}){return(0,t.jsx)(n,{children:(0,t.jsx)(r.Root,{"data-slot":"tooltip",...e})})}function a({...e}){return(0,t.jsx)(r.Trigger,{"data-slot":"tooltip-trigger",...e})}function s({className:e,sideOffset:n=0,children:i,...a}){return(0,t.jsx)(r.Portal,{children:(0,t.jsxs)(r.Content,{"data-slot":"tooltip-content",sideOffset:n,className:(0,o.cn)("bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit rounded-md px-3 py-1.5 text-xs text-balance",e),...a,children:[i,(0,t.jsx)(r.Arrow,{className:"bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}e.s(["Tooltip",()=>i,"TooltipContent",()=>s,"TooltipProvider",()=>n,"TooltipTrigger",()=>a])},768877,e=>{"use strict";let t=(0,e.i(456420).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",()=>t],768877)},882303,e=>{"use strict";let t=(0,e.i(456420).default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);e.s(["Users",()=>t],882303)}]);