agent-insight 0.5.2 → 0.5.3

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 (832) 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_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/(main)/modelconfig/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/(main)/modelconfig/registry/page.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/(main)/modelconfig/registry/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/(main)/modelconfig/web-search/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/(main)/modelconfig/web-search/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/(main)/optapi/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/(main)/quality/page.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/(main)/quality/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/(main)/security/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/(main)/skill-eval/grayscale/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/(main)/skill-eval/grayscale/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/(main)/skill-eval/page.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/(main)/skill-eval/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/(main)/skill-eval/trigger/[skillName]/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/(main)/skill-generator/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/app/(main)/skill-history/page.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/(main)/skill-history/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/(main)/skill-opt/[name]/[version]/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/(main)/skill-opt/page_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/(main)/skill-release/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/(main)/skills/page.js.nft.json +1 -1
  56. package/.next/standalone/.next/server/app/(main)/skills/page_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/app/(main)/trace/page.js.nft.json +1 -1
  58. package/.next/standalone/.next/server/app/(main)/trace/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/(main)/version-analysis/page/app-paths-manifest.json +3 -0
  60. package/.next/standalone/.next/server/app/(main)/version-analysis/page/build-manifest.json +17 -0
  61. package/.next/standalone/.next/server/app/(main)/version-analysis/page/next-font-manifest.json +6 -0
  62. package/.next/standalone/.next/server/app/(main)/version-analysis/page/react-loadable-manifest.json +1 -0
  63. package/.next/standalone/.next/server/app/(main)/version-analysis/page/server-reference-manifest.json +4 -0
  64. package/.next/standalone/.next/server/app/(main)/version-analysis/page.js +17 -0
  65. package/.next/standalone/.next/server/app/(main)/version-analysis/page.js.map +5 -0
  66. package/.next/standalone/.next/server/app/(main)/version-analysis/page.js.nft.json +1 -0
  67. package/.next/standalone/.next/server/app/(main)/version-analysis/page_client-reference-manifest.js +2 -0
  68. package/.next/standalone/.next/server/app/(main)/version-management/page/app-paths-manifest.json +3 -0
  69. package/.next/standalone/.next/server/app/(main)/version-management/page/build-manifest.json +17 -0
  70. package/.next/standalone/.next/server/app/(main)/version-management/page/next-font-manifest.json +6 -0
  71. package/.next/standalone/.next/server/app/(main)/version-management/page/react-loadable-manifest.json +1 -0
  72. package/.next/standalone/.next/server/app/(main)/version-management/page/server-reference-manifest.json +4 -0
  73. package/.next/standalone/.next/server/app/(main)/version-management/page.js +17 -0
  74. package/.next/standalone/.next/server/app/(main)/version-management/page.js.map +5 -0
  75. package/.next/standalone/.next/server/app/(main)/version-management/page.js.nft.json +1 -0
  76. package/.next/standalone/.next/server/app/(main)/version-management/page_client-reference-manifest.js +2 -0
  77. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  78. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  79. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  80. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  81. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  82. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  83. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  84. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  86. package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
  87. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  88. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  89. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  90. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  91. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  92. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  93. package/.next/standalone/.next/server/app/accessconfig/channels.html +1 -1
  94. package/.next/standalone/.next/server/app/accessconfig/channels.rsc +5 -5
  95. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels/__PAGE__.segment.rsc +2 -2
  96. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels.segment.rsc +1 -1
  97. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  98. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p.segment.rsc +2 -2
  99. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_full.segment.rsc +5 -5
  100. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_head.segment.rsc +1 -1
  101. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_index.segment.rsc +3 -3
  102. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_tree.segment.rsc +2 -2
  103. package/.next/standalone/.next/server/app/accessconfig/health.html +1 -1
  104. package/.next/standalone/.next/server/app/accessconfig/health.rsc +5 -5
  105. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health/__PAGE__.segment.rsc +2 -2
  106. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health.segment.rsc +1 -1
  107. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  108. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p.segment.rsc +2 -2
  109. package/.next/standalone/.next/server/app/accessconfig/health.segments/_full.segment.rsc +5 -5
  110. package/.next/standalone/.next/server/app/accessconfig/health.segments/_head.segment.rsc +1 -1
  111. package/.next/standalone/.next/server/app/accessconfig/health.segments/_index.segment.rsc +3 -3
  112. package/.next/standalone/.next/server/app/accessconfig/health.segments/_tree.segment.rsc +2 -2
  113. package/.next/standalone/.next/server/app/accessconfig/install.html +2 -2
  114. package/.next/standalone/.next/server/app/accessconfig/install.rsc +5 -5
  115. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install/__PAGE__.segment.rsc +2 -2
  116. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install.segment.rsc +1 -1
  117. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  118. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p.segment.rsc +2 -2
  119. package/.next/standalone/.next/server/app/accessconfig/install.segments/_full.segment.rsc +5 -5
  120. package/.next/standalone/.next/server/app/accessconfig/install.segments/_head.segment.rsc +1 -1
  121. package/.next/standalone/.next/server/app/accessconfig/install.segments/_index.segment.rsc +3 -3
  122. package/.next/standalone/.next/server/app/accessconfig/install.segments/_tree.segment.rsc +2 -2
  123. package/.next/standalone/.next/server/app/accessconfig/webhooks.html +1 -1
  124. package/.next/standalone/.next/server/app/accessconfig/webhooks.rsc +5 -5
  125. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks/__PAGE__.segment.rsc +2 -2
  126. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks.segment.rsc +1 -1
  127. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  128. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p.segment.rsc +2 -2
  129. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_full.segment.rsc +5 -5
  130. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_head.segment.rsc +1 -1
  131. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_index.segment.rsc +3 -3
  132. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_tree.segment.rsc +2 -2
  133. package/.next/standalone/.next/server/app/accessconfig.html +1 -1
  134. package/.next/standalone/.next/server/app/accessconfig.rsc +4 -4
  135. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig/__PAGE__.segment.rsc +1 -1
  136. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  137. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p.segment.rsc +2 -2
  138. package/.next/standalone/.next/server/app/accessconfig.segments/_full.segment.rsc +4 -4
  139. package/.next/standalone/.next/server/app/accessconfig.segments/_head.segment.rsc +1 -1
  140. package/.next/standalone/.next/server/app/accessconfig.segments/_index.segment.rsc +3 -3
  141. package/.next/standalone/.next/server/app/accessconfig.segments/_tree.segment.rsc +2 -2
  142. package/.next/standalone/.next/server/app/agents.html +1 -1
  143. package/.next/standalone/.next/server/app/agents.rsc +5 -5
  144. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents/__PAGE__.segment.rsc +2 -2
  145. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents.segment.rsc +1 -1
  146. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p.segment.rsc +2 -2
  147. package/.next/standalone/.next/server/app/agents.segments/_full.segment.rsc +5 -5
  148. package/.next/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  149. package/.next/standalone/.next/server/app/agents.segments/_index.segment.rsc +3 -3
  150. package/.next/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  151. package/.next/standalone/.next/server/app/api/agent/run/route.js.nft.json +1 -1
  152. package/.next/standalone/.next/server/app/api/agent/stream/route.js.nft.json +1 -1
  153. package/.next/standalone/.next/server/app/api/agent-datasets/[id]/route.js.nft.json +1 -1
  154. package/.next/standalone/.next/server/app/api/agent-datasets/route.js.nft.json +1 -1
  155. package/.next/standalone/.next/server/app/api/agents/[id]/route.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/app/api/agents/route.js.nft.json +1 -1
  157. package/.next/standalone/.next/server/app/api/auth/apikey/route.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/app/api/auth/organization/route.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/app/api/dashboard/stats/route.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/app/api/debug/batch-tasks/[taskId]/route.js.nft.json +1 -1
  161. package/.next/standalone/.next/server/app/api/debug/batch-tasks/route.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/app/api/debug/execute/[jobId]/route.js.nft.json +1 -1
  163. package/.next/standalone/.next/server/app/api/debug/execute/route.js.nft.json +1 -1
  164. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/[taskId]/route.js +10 -10
  165. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/[taskId]/route.js.nft.json +1 -1
  166. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/route.js.nft.json +1 -1
  167. package/.next/standalone/.next/server/app/api/debug/history/[id]/route.js.nft.json +1 -1
  168. package/.next/standalone/.next/server/app/api/debug/history/route.js.nft.json +1 -1
  169. package/.next/standalone/.next/server/app/api/eval/config/backfill-routing/route.js +6 -6
  170. package/.next/standalone/.next/server/app/api/eval/config/backfill-routing/route.js.nft.json +1 -1
  171. package/.next/standalone/.next/server/app/api/eval/config/create/route.js.nft.json +1 -1
  172. package/.next/standalone/.next/server/app/api/eval/config/reparse/route.js.nft.json +1 -1
  173. package/.next/standalone/.next/server/app/api/eval/config/route.js +6 -6
  174. package/.next/standalone/.next/server/app/api/eval/config/route.js.nft.json +1 -1
  175. package/.next/standalone/.next/server/app/api/eval/config/status/route.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/app/api/eval/evaluation/route.js.nft.json +1 -1
  177. package/.next/standalone/.next/server/app/api/eval/rejudge/route.js +6 -6
  178. package/.next/standalone/.next/server/app/api/eval/rejudge/route.js.nft.json +1 -1
  179. package/.next/standalone/.next/server/app/api/eval/settings/route.js.nft.json +1 -1
  180. package/.next/standalone/.next/server/app/api/eval/settings/test/route.js.nft.json +1 -1
  181. package/.next/standalone/.next/server/app/api/eval/terminate-all/route.js.nft.json +1 -1
  182. package/.next/standalone/.next/server/app/api/eval/trajectory/results/[id]/route.js.nft.json +1 -1
  183. package/.next/standalone/.next/server/app/api/eval/trajectory/results/route.js +5 -5
  184. package/.next/standalone/.next/server/app/api/eval/trajectory/results/route.js.nft.json +1 -1
  185. package/.next/standalone/.next/server/app/api/eval/trajectory/run/route.js +13 -13
  186. package/.next/standalone/.next/server/app/api/eval/trajectory/run/route.js.nft.json +1 -1
  187. package/.next/standalone/.next/server/app/api/eval/trajectory/runs/route.js.nft.json +1 -1
  188. package/.next/standalone/.next/server/app/api/evaluation/[id]/route.js.nft.json +1 -1
  189. package/.next/standalone/.next/server/app/api/evaluation/cancel/route.js.nft.json +1 -1
  190. package/.next/standalone/.next/server/app/api/fault/diagnosis/session/route.js.nft.json +1 -1
  191. package/.next/standalone/.next/server/app/api/fault/diagnosis/stream/route.js.nft.json +1 -1
  192. package/.next/standalone/.next/server/app/api/fleet/agent/route/app-paths-manifest.json +3 -0
  193. package/.next/standalone/.next/server/app/api/fleet/agent/route/build-manifest.json +11 -0
  194. package/.next/standalone/.next/server/app/api/fleet/agent/route/server-reference-manifest.json +4 -0
  195. package/.next/standalone/.next/server/app/api/fleet/agent/route.js +8 -0
  196. package/.next/standalone/.next/server/app/api/fleet/agent/route.js.map +5 -0
  197. package/.next/standalone/.next/server/app/api/fleet/agent/route.js.nft.json +1 -0
  198. package/.next/standalone/.next/server/app/api/fleet/agent/route_client-reference-manifest.js +2 -0
  199. package/.next/standalone/.next/server/app/api/fleet/breakdowns/route.js +1 -1
  200. package/.next/standalone/.next/server/app/api/fleet/breakdowns/route.js.nft.json +1 -1
  201. package/.next/standalone/.next/server/app/api/fleet/trends/route.js +2 -2
  202. package/.next/standalone/.next/server/app/api/fleet/trends/route.js.nft.json +1 -1
  203. package/.next/standalone/.next/server/app/api/guide/route.js.nft.json +1 -1
  204. package/.next/standalone/.next/server/app/api/ingest/opencode/session-complete/route.js +3 -3
  205. package/.next/standalone/.next/server/app/api/ingest/opencode/session-complete/route.js.nft.json +1 -1
  206. package/.next/standalone/.next/server/app/api/ingest/otel/v1/logs/route.js.nft.json +1 -1
  207. package/.next/standalone/.next/server/app/api/ingest/otel/v1/metrics/route.js.nft.json +1 -1
  208. package/.next/standalone/.next/server/app/api/ingest/otel/v1/traces/route.js +5 -5
  209. package/.next/standalone/.next/server/app/api/ingest/otel/v1/traces/route.js.nft.json +1 -1
  210. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/[...path]/route.js.nft.json +1 -1
  211. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/end/route.js +9 -9
  212. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/end/route.js.nft.json +1 -1
  213. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/start/route.js.nft.json +1 -1
  214. package/.next/standalone/.next/server/app/api/ingest/sync/manifest/route.js.nft.json +1 -1
  215. package/.next/standalone/.next/server/app/api/ingest/sync/opencode/route.js.nft.json +1 -1
  216. package/.next/standalone/.next/server/app/api/ingest/upload/route.js +8 -8
  217. package/.next/standalone/.next/server/app/api/ingest/upload/route.js.nft.json +1 -1
  218. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route/app-paths-manifest.json +3 -0
  219. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route/build-manifest.json +11 -0
  220. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route/server-reference-manifest.json +4 -0
  221. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route.js +8 -0
  222. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route.js.map +5 -0
  223. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route.js.nft.json +1 -0
  224. package/.next/standalone/.next/server/app/api/modelconfig/pricing/route_client-reference-manifest.js +2 -0
  225. package/.next/standalone/.next/server/app/api/observe/data/route.js +3 -3
  226. package/.next/standalone/.next/server/app/api/observe/data/route.js.nft.json +1 -1
  227. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/route.js.nft.json +1 -1
  228. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/skills-analysis/route.js +13 -13
  229. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/skills-analysis/route.js.nft.json +1 -1
  230. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/analyze-match/route.js.nft.json +1 -1
  231. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/infra/route.js.nft.json +1 -1
  232. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route/app-paths-manifest.json +3 -0
  233. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route/build-manifest.json +11 -0
  234. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route/server-reference-manifest.json +4 -0
  235. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route.js +8 -0
  236. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route.js.map +5 -0
  237. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route.js.nft.json +1 -0
  238. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/tags/route_client-reference-manifest.js +2 -0
  239. package/.next/standalone/.next/server/app/api/observe/infra/history/route.js.nft.json +1 -1
  240. package/.next/standalone/.next/server/app/api/observe/infra/poll/route.js.nft.json +1 -1
  241. package/.next/standalone/.next/server/app/api/observe/infra/sources/derive/route.js.nft.json +1 -1
  242. package/.next/standalone/.next/server/app/api/observe/infra/sources/overview/route.js.nft.json +1 -1
  243. package/.next/standalone/.next/server/app/api/observe/infra/sources/route.js.nft.json +1 -1
  244. package/.next/standalone/.next/server/app/api/observe/infra/sources/sessions/route.js.nft.json +1 -1
  245. package/.next/standalone/.next/server/app/api/observe/infra/sources/test/route.js.nft.json +1 -1
  246. package/.next/standalone/.next/server/app/api/observe/session/route.js.nft.json +1 -1
  247. package/.next/standalone/.next/server/app/api/observe/task-stats/route.js +3 -3
  248. package/.next/standalone/.next/server/app/api/observe/task-stats/route.js.nft.json +1 -1
  249. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route/app-paths-manifest.json +3 -0
  250. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route/build-manifest.json +11 -0
  251. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route/server-reference-manifest.json +4 -0
  252. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route.js +8 -0
  253. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route.js.map +5 -0
  254. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route.js.nft.json +1 -0
  255. package/.next/standalone/.next/server/app/api/observe/version-analysis/compare/route_client-reference-manifest.js +2 -0
  256. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route/app-paths-manifest.json +3 -0
  257. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route/build-manifest.json +11 -0
  258. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route/server-reference-manifest.json +4 -0
  259. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route.js +8 -0
  260. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route.js.map +5 -0
  261. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route.js.nft.json +1 -0
  262. package/.next/standalone/.next/server/app/api/observe/version-analysis/tags/[tagId]/traces/route_client-reference-manifest.js +2 -0
  263. package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route.js +5 -5
  264. package/.next/standalone/.next/server/app/api/public/otel/v1/traces/route.js.nft.json +1 -1
  265. package/.next/standalone/.next/server/app/api/quality/agents/route.js +7 -7
  266. package/.next/standalone/.next/server/app/api/quality/agents/route.js.nft.json +1 -1
  267. package/.next/standalone/.next/server/app/api/quality/backfill/route.js.nft.json +1 -1
  268. package/.next/standalone/.next/server/app/api/quality/executions/route.js +7 -7
  269. package/.next/standalone/.next/server/app/api/quality/executions/route.js.nft.json +1 -1
  270. package/.next/standalone/.next/server/app/api/quality/report/route.js.nft.json +1 -1
  271. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/draft/route.js.nft.json +1 -1
  272. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/route.js.nft.json +1 -1
  273. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/[runId]/cancel/route.js.nft.json +1 -1
  274. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/route.js.nft.json +1 -1
  275. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/runs/route.js.nft.json +1 -1
  276. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/upload/route.js.nft.json +1 -1
  277. package/.next/standalone/.next/server/app/api/skill-generator/attachments/route.js.nft.json +1 -1
  278. package/.next/standalone/.next/server/app/api/skill-generator/chat/route.js.nft.json +1 -1
  279. package/.next/standalone/.next/server/app/api/skill-generator/download/[sessionId]/route.js.nft.json +1 -1
  280. package/.next/standalone/.next/server/app/api/skill-generator/files/content/route.js.nft.json +1 -1
  281. package/.next/standalone/.next/server/app/api/skill-generator/files/download/route.js.nft.json +1 -1
  282. package/.next/standalone/.next/server/app/api/skill-generator/files/info/route.js.nft.json +1 -1
  283. package/.next/standalone/.next/server/app/api/skill-generator/files/list/route.js.nft.json +1 -1
  284. package/.next/standalone/.next/server/app/api/skill-generator/sessions/[id]/route.js.nft.json +1 -1
  285. package/.next/standalone/.next/server/app/api/skill-generator/sessions/route.js.nft.json +1 -1
  286. package/.next/standalone/.next/server/app/api/skill-opt/chat/route.js.nft.json +1 -1
  287. package/.next/standalone/.next/server/app/api/skill-opt/plan/items/[id]/route.js.nft.json +1 -1
  288. package/.next/standalone/.next/server/app/api/skill-opt/plan/route.js.nft.json +1 -1
  289. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/iterations/[draftNumber]/apply/route.js.nft.json +1 -1
  290. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/iterations/route.js.nft.json +1 -1
  291. package/.next/standalone/.next/server/app/api/skill-opt/sessions/[id]/route.js.nft.json +1 -1
  292. package/.next/standalone/.next/server/app/api/skill-opt/sessions/route.js.nft.json +1 -1
  293. package/.next/standalone/.next/server/app/api/skills/[id]/activate/route.js.nft.json +1 -1
  294. package/.next/standalone/.next/server/app/api/skills/[id]/benchmark-generate/route.js +7 -7
  295. package/.next/standalone/.next/server/app/api/skills/[id]/benchmark-generate/route.js.nft.json +1 -1
  296. package/.next/standalone/.next/server/app/api/skills/[id]/runs/route.js +2 -2
  297. package/.next/standalone/.next/server/app/api/skills/[id]/runs/route.js.nft.json +1 -1
  298. package/.next/standalone/.next/server/app/api/skills/[id]/toggle/route.js.nft.json +1 -1
  299. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/download/route.js.nft.json +1 -1
  300. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluate/route.js.nft.json +1 -1
  301. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluation-summary/route.js.nft.json +1 -1
  302. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/files/[...path]/route.js.nft.json +1 -1
  303. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/parse-flow/route.js.nft.json +1 -1
  304. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/route.js.nft.json +1 -1
  305. package/.next/standalone/.next/server/app/api/skills/[id]/versions/route.js.nft.json +1 -1
  306. package/.next/standalone/.next/server/app/api/skills/automation/import/route.js.nft.json +1 -1
  307. package/.next/standalone/.next/server/app/api/skills/automation/push/route.js.nft.json +1 -1
  308. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/analysis-diagnosis/route.js.nft.json +1 -1
  309. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/optimization-points/resolve/route.js.nft.json +1 -1
  310. package/.next/standalone/.next/server/app/api/skills/by-name/[name]/optimization-points/route.js.nft.json +1 -1
  311. package/.next/standalone/.next/server/app/api/skills/by-name/route.js.nft.json +1 -1
  312. package/.next/standalone/.next/server/app/api/skills/logs/route.js +6 -6
  313. package/.next/standalone/.next/server/app/api/skills/logs/route.js.nft.json +1 -1
  314. package/.next/standalone/.next/server/app/api/skills/publish/route.js.nft.json +1 -1
  315. package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
  316. package/.next/standalone/.next/server/app/api/skills/sync-enterprise/route.js.nft.json +1 -1
  317. package/.next/standalone/.next/server/app/api/skills/upload/route.js.nft.json +1 -1
  318. package/.next/standalone/.next/server/app/api/tags/[id]/route/app-paths-manifest.json +3 -0
  319. package/.next/standalone/.next/server/app/api/tags/[id]/route/build-manifest.json +11 -0
  320. package/.next/standalone/.next/server/app/api/tags/[id]/route/server-reference-manifest.json +4 -0
  321. package/.next/standalone/.next/server/app/api/tags/[id]/route.js +8 -0
  322. package/.next/standalone/.next/server/app/api/tags/[id]/route.js.map +5 -0
  323. package/.next/standalone/.next/server/app/api/tags/[id]/route.js.nft.json +1 -0
  324. package/.next/standalone/.next/server/app/api/tags/[id]/route_client-reference-manifest.js +2 -0
  325. package/.next/standalone/.next/server/app/api/tags/route/app-paths-manifest.json +3 -0
  326. package/.next/standalone/.next/server/app/api/tags/route/build-manifest.json +11 -0
  327. package/.next/standalone/.next/server/app/api/tags/route/server-reference-manifest.json +4 -0
  328. package/.next/standalone/.next/server/app/api/tags/route.js +8 -0
  329. package/.next/standalone/.next/server/app/api/tags/route.js.map +5 -0
  330. package/.next/standalone/.next/server/app/api/tags/route.js.nft.json +1 -0
  331. package/.next/standalone/.next/server/app/api/tags/route_client-reference-manifest.js +2 -0
  332. package/.next/standalone/.next/server/app/api/user-evaluators/route.js.nft.json +1 -1
  333. package/.next/standalone/.next/server/app/dashboard.html +1 -1
  334. package/.next/standalone/.next/server/app/dashboard.rsc +5 -5
  335. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard/__PAGE__.segment.rsc +2 -2
  336. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard.segment.rsc +1 -1
  337. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p.segment.rsc +2 -2
  338. package/.next/standalone/.next/server/app/dashboard.segments/_full.segment.rsc +5 -5
  339. package/.next/standalone/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
  340. package/.next/standalone/.next/server/app/dashboard.segments/_index.segment.rsc +3 -3
  341. package/.next/standalone/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  342. package/.next/standalone/.next/server/app/dataset.html +1 -1
  343. package/.next/standalone/.next/server/app/dataset.rsc +5 -5
  344. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset/__PAGE__.segment.rsc +2 -2
  345. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset.segment.rsc +1 -1
  346. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p.segment.rsc +2 -2
  347. package/.next/standalone/.next/server/app/dataset.segments/_full.segment.rsc +5 -5
  348. package/.next/standalone/.next/server/app/dataset.segments/_head.segment.rsc +1 -1
  349. package/.next/standalone/.next/server/app/dataset.segments/_index.segment.rsc +3 -3
  350. package/.next/standalone/.next/server/app/dataset.segments/_tree.segment.rsc +2 -2
  351. package/.next/standalone/.next/server/app/eval/trajectory.html +1 -1
  352. package/.next/standalone/.next/server/app/eval/trajectory.rsc +5 -5
  353. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory/__PAGE__.segment.rsc +2 -2
  354. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory.segment.rsc +1 -1
  355. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval.segment.rsc +1 -1
  356. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p.segment.rsc +2 -2
  357. package/.next/standalone/.next/server/app/eval/trajectory.segments/_full.segment.rsc +5 -5
  358. package/.next/standalone/.next/server/app/eval/trajectory.segments/_head.segment.rsc +1 -1
  359. package/.next/standalone/.next/server/app/eval/trajectory.segments/_index.segment.rsc +3 -3
  360. package/.next/standalone/.next/server/app/eval/trajectory.segments/_tree.segment.rsc +2 -2
  361. package/.next/standalone/.next/server/app/eval.html +1 -1
  362. package/.next/standalone/.next/server/app/eval.rsc +5 -5
  363. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval/__PAGE__.segment.rsc +2 -2
  364. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval.segment.rsc +1 -1
  365. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p.segment.rsc +2 -2
  366. package/.next/standalone/.next/server/app/eval.segments/_full.segment.rsc +5 -5
  367. package/.next/standalone/.next/server/app/eval.segments/_head.segment.rsc +1 -1
  368. package/.next/standalone/.next/server/app/eval.segments/_index.segment.rsc +3 -3
  369. package/.next/standalone/.next/server/app/eval.segments/_tree.segment.rsc +2 -2
  370. package/.next/standalone/.next/server/app/fault.html +1 -1
  371. package/.next/standalone/.next/server/app/fault.rsc +5 -5
  372. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault/__PAGE__.segment.rsc +2 -2
  373. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault.segment.rsc +1 -1
  374. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p.segment.rsc +2 -2
  375. package/.next/standalone/.next/server/app/fault.segments/_full.segment.rsc +5 -5
  376. package/.next/standalone/.next/server/app/fault.segments/_head.segment.rsc +1 -1
  377. package/.next/standalone/.next/server/app/fault.segments/_index.segment.rsc +3 -3
  378. package/.next/standalone/.next/server/app/fault.segments/_tree.segment.rsc +2 -2
  379. package/.next/standalone/.next/server/app/index.html +1 -1
  380. package/.next/standalone/.next/server/app/index.rsc +3 -3
  381. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  382. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
  383. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  384. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
  385. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  386. package/.next/standalone/.next/server/app/infra/sources.html +1 -1
  387. package/.next/standalone/.next/server/app/infra/sources.rsc +5 -5
  388. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra/sources/__PAGE__.segment.rsc +2 -2
  389. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra/sources.segment.rsc +1 -1
  390. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p/infra.segment.rsc +1 -1
  391. package/.next/standalone/.next/server/app/infra/sources.segments/!KG1haW4p.segment.rsc +2 -2
  392. package/.next/standalone/.next/server/app/infra/sources.segments/_full.segment.rsc +5 -5
  393. package/.next/standalone/.next/server/app/infra/sources.segments/_head.segment.rsc +1 -1
  394. package/.next/standalone/.next/server/app/infra/sources.segments/_index.segment.rsc +3 -3
  395. package/.next/standalone/.next/server/app/infra/sources.segments/_tree.segment.rsc +2 -2
  396. package/.next/standalone/.next/server/app/infra.html +1 -1
  397. package/.next/standalone/.next/server/app/infra.rsc +5 -5
  398. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p/infra/__PAGE__.segment.rsc +2 -2
  399. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p/infra.segment.rsc +1 -1
  400. package/.next/standalone/.next/server/app/infra.segments/!KG1haW4p.segment.rsc +2 -2
  401. package/.next/standalone/.next/server/app/infra.segments/_full.segment.rsc +5 -5
  402. package/.next/standalone/.next/server/app/infra.segments/_head.segment.rsc +1 -1
  403. package/.next/standalone/.next/server/app/infra.segments/_index.segment.rsc +3 -3
  404. package/.next/standalone/.next/server/app/infra.segments/_tree.segment.rsc +2 -2
  405. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  406. package/.next/standalone/.next/server/app/login.html +1 -1
  407. package/.next/standalone/.next/server/app/login.rsc +4 -4
  408. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +4 -4
  409. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  410. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +3 -3
  411. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  412. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  413. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  414. package/.next/standalone/.next/server/app/memory.html +1 -1
  415. package/.next/standalone/.next/server/app/memory.rsc +5 -5
  416. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory/__PAGE__.segment.rsc +2 -2
  417. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory.segment.rsc +1 -1
  418. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p.segment.rsc +2 -2
  419. package/.next/standalone/.next/server/app/memory.segments/_full.segment.rsc +5 -5
  420. package/.next/standalone/.next/server/app/memory.segments/_head.segment.rsc +1 -1
  421. package/.next/standalone/.next/server/app/memory.segments/_index.segment.rsc +3 -3
  422. package/.next/standalone/.next/server/app/memory.segments/_tree.segment.rsc +2 -2
  423. package/.next/standalone/.next/server/app/metrics.html +1 -1
  424. package/.next/standalone/.next/server/app/metrics.rsc +5 -5
  425. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics/__PAGE__.segment.rsc +2 -2
  426. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics.segment.rsc +1 -1
  427. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p.segment.rsc +2 -2
  428. package/.next/standalone/.next/server/app/metrics.segments/_full.segment.rsc +5 -5
  429. package/.next/standalone/.next/server/app/metrics.segments/_head.segment.rsc +1 -1
  430. package/.next/standalone/.next/server/app/metrics.segments/_index.segment.rsc +3 -3
  431. package/.next/standalone/.next/server/app/metrics.segments/_tree.segment.rsc +2 -2
  432. package/.next/standalone/.next/server/app/modelconfig/registry.html +1 -1
  433. package/.next/standalone/.next/server/app/modelconfig/registry.rsc +5 -5
  434. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry/__PAGE__.segment.rsc +2 -2
  435. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry.segment.rsc +1 -1
  436. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  437. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p.segment.rsc +2 -2
  438. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_full.segment.rsc +5 -5
  439. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_head.segment.rsc +1 -1
  440. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_index.segment.rsc +3 -3
  441. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_tree.segment.rsc +2 -2
  442. package/.next/standalone/.next/server/app/modelconfig/web-search.html +1 -1
  443. package/.next/standalone/.next/server/app/modelconfig/web-search.rsc +5 -5
  444. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search/__PAGE__.segment.rsc +2 -2
  445. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search.segment.rsc +1 -1
  446. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  447. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p.segment.rsc +2 -2
  448. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_full.segment.rsc +5 -5
  449. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_head.segment.rsc +1 -1
  450. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_index.segment.rsc +3 -3
  451. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_tree.segment.rsc +2 -2
  452. package/.next/standalone/.next/server/app/modelconfig.html +1 -1
  453. package/.next/standalone/.next/server/app/modelconfig.rsc +4 -4
  454. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig/__PAGE__.segment.rsc +1 -1
  455. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  456. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p.segment.rsc +2 -2
  457. package/.next/standalone/.next/server/app/modelconfig.segments/_full.segment.rsc +4 -4
  458. package/.next/standalone/.next/server/app/modelconfig.segments/_head.segment.rsc +1 -1
  459. package/.next/standalone/.next/server/app/modelconfig.segments/_index.segment.rsc +3 -3
  460. package/.next/standalone/.next/server/app/modelconfig.segments/_tree.segment.rsc +2 -2
  461. package/.next/standalone/.next/server/app/optapi.html +1 -1
  462. package/.next/standalone/.next/server/app/optapi.rsc +5 -5
  463. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi/__PAGE__.segment.rsc +2 -2
  464. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi.segment.rsc +1 -1
  465. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p.segment.rsc +2 -2
  466. package/.next/standalone/.next/server/app/optapi.segments/_full.segment.rsc +5 -5
  467. package/.next/standalone/.next/server/app/optapi.segments/_head.segment.rsc +1 -1
  468. package/.next/standalone/.next/server/app/optapi.segments/_index.segment.rsc +3 -3
  469. package/.next/standalone/.next/server/app/optapi.segments/_tree.segment.rsc +2 -2
  470. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  471. package/.next/standalone/.next/server/app/quality.html +1 -1
  472. package/.next/standalone/.next/server/app/quality.rsc +5 -5
  473. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality/__PAGE__.segment.rsc +2 -2
  474. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality.segment.rsc +1 -1
  475. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p.segment.rsc +2 -2
  476. package/.next/standalone/.next/server/app/quality.segments/_full.segment.rsc +5 -5
  477. package/.next/standalone/.next/server/app/quality.segments/_head.segment.rsc +1 -1
  478. package/.next/standalone/.next/server/app/quality.segments/_index.segment.rsc +3 -3
  479. package/.next/standalone/.next/server/app/quality.segments/_tree.segment.rsc +2 -2
  480. package/.next/standalone/.next/server/app/security.html +1 -1
  481. package/.next/standalone/.next/server/app/security.rsc +5 -5
  482. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security/__PAGE__.segment.rsc +2 -2
  483. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security.segment.rsc +1 -1
  484. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p.segment.rsc +2 -2
  485. package/.next/standalone/.next/server/app/security.segments/_full.segment.rsc +5 -5
  486. package/.next/standalone/.next/server/app/security.segments/_head.segment.rsc +1 -1
  487. package/.next/standalone/.next/server/app/security.segments/_index.segment.rsc +3 -3
  488. package/.next/standalone/.next/server/app/security.segments/_tree.segment.rsc +2 -2
  489. package/.next/standalone/.next/server/app/skill-detail/page_client-reference-manifest.js +1 -1
  490. package/.next/standalone/.next/server/app/skill-detail.html +1 -1
  491. package/.next/standalone/.next/server/app/skill-detail.rsc +4 -4
  492. package/.next/standalone/.next/server/app/skill-detail.segments/_full.segment.rsc +4 -4
  493. package/.next/standalone/.next/server/app/skill-detail.segments/_head.segment.rsc +1 -1
  494. package/.next/standalone/.next/server/app/skill-detail.segments/_index.segment.rsc +3 -3
  495. package/.next/standalone/.next/server/app/skill-detail.segments/_tree.segment.rsc +2 -2
  496. package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail/__PAGE__.segment.rsc +2 -2
  497. package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail.segment.rsc +1 -1
  498. package/.next/standalone/.next/server/app/skill-eval/grayscale.html +2 -2
  499. package/.next/standalone/.next/server/app/skill-eval/grayscale.rsc +6 -6
  500. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale/__PAGE__.segment.rsc +2 -2
  501. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale.segment.rsc +1 -1
  502. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
  503. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p.segment.rsc +2 -2
  504. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_full.segment.rsc +6 -6
  505. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_head.segment.rsc +1 -1
  506. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_index.segment.rsc +3 -3
  507. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_tree.segment.rsc +2 -2
  508. package/.next/standalone/.next/server/app/skill-eval.html +1 -1
  509. package/.next/standalone/.next/server/app/skill-eval.rsc +6 -6
  510. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval/__PAGE__.segment.rsc +2 -2
  511. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
  512. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p.segment.rsc +2 -2
  513. package/.next/standalone/.next/server/app/skill-eval.segments/_full.segment.rsc +6 -6
  514. package/.next/standalone/.next/server/app/skill-eval.segments/_head.segment.rsc +1 -1
  515. package/.next/standalone/.next/server/app/skill-eval.segments/_index.segment.rsc +3 -3
  516. package/.next/standalone/.next/server/app/skill-eval.segments/_tree.segment.rsc +2 -2
  517. package/.next/standalone/.next/server/app/skill-generator.html +1 -1
  518. package/.next/standalone/.next/server/app/skill-generator.rsc +5 -5
  519. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator/__PAGE__.segment.rsc +2 -2
  520. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator.segment.rsc +1 -1
  521. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p.segment.rsc +2 -2
  522. package/.next/standalone/.next/server/app/skill-generator.segments/_full.segment.rsc +5 -5
  523. package/.next/standalone/.next/server/app/skill-generator.segments/_head.segment.rsc +1 -1
  524. package/.next/standalone/.next/server/app/skill-generator.segments/_index.segment.rsc +3 -3
  525. package/.next/standalone/.next/server/app/skill-generator.segments/_tree.segment.rsc +2 -2
  526. package/.next/standalone/.next/server/app/skill-history.html +1 -1
  527. package/.next/standalone/.next/server/app/skill-history.rsc +6 -6
  528. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history/__PAGE__.segment.rsc +2 -2
  529. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history.segment.rsc +1 -1
  530. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p.segment.rsc +2 -2
  531. package/.next/standalone/.next/server/app/skill-history.segments/_full.segment.rsc +6 -6
  532. package/.next/standalone/.next/server/app/skill-history.segments/_head.segment.rsc +1 -1
  533. package/.next/standalone/.next/server/app/skill-history.segments/_index.segment.rsc +3 -3
  534. package/.next/standalone/.next/server/app/skill-history.segments/_tree.segment.rsc +2 -2
  535. package/.next/standalone/.next/server/app/skill-opt.html +1 -1
  536. package/.next/standalone/.next/server/app/skill-opt.rsc +5 -5
  537. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt/__PAGE__.segment.rsc +2 -2
  538. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt.segment.rsc +1 -1
  539. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p.segment.rsc +2 -2
  540. package/.next/standalone/.next/server/app/skill-opt.segments/_full.segment.rsc +5 -5
  541. package/.next/standalone/.next/server/app/skill-opt.segments/_head.segment.rsc +1 -1
  542. package/.next/standalone/.next/server/app/skill-opt.segments/_index.segment.rsc +3 -3
  543. package/.next/standalone/.next/server/app/skill-opt.segments/_tree.segment.rsc +2 -2
  544. package/.next/standalone/.next/server/app/skill-release.html +1 -1
  545. package/.next/standalone/.next/server/app/skill-release.rsc +5 -5
  546. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release/__PAGE__.segment.rsc +2 -2
  547. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release.segment.rsc +1 -1
  548. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p.segment.rsc +2 -2
  549. package/.next/standalone/.next/server/app/skill-release.segments/_full.segment.rsc +5 -5
  550. package/.next/standalone/.next/server/app/skill-release.segments/_head.segment.rsc +1 -1
  551. package/.next/standalone/.next/server/app/skill-release.segments/_index.segment.rsc +3 -3
  552. package/.next/standalone/.next/server/app/skill-release.segments/_tree.segment.rsc +2 -2
  553. package/.next/standalone/.next/server/app/skills.html +1 -1
  554. package/.next/standalone/.next/server/app/skills.rsc +5 -5
  555. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills/__PAGE__.segment.rsc +2 -2
  556. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills.segment.rsc +1 -1
  557. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p.segment.rsc +2 -2
  558. package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +5 -5
  559. package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  560. package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +3 -3
  561. package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
  562. package/.next/standalone/.next/server/app/trace.html +1 -1
  563. package/.next/standalone/.next/server/app/trace.rsc +7 -7
  564. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace/__PAGE__.segment.rsc +2 -2
  565. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace.segment.rsc +1 -1
  566. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p.segment.rsc +2 -2
  567. package/.next/standalone/.next/server/app/trace.segments/_full.segment.rsc +7 -7
  568. package/.next/standalone/.next/server/app/trace.segments/_head.segment.rsc +1 -1
  569. package/.next/standalone/.next/server/app/trace.segments/_index.segment.rsc +3 -3
  570. package/.next/standalone/.next/server/app/trace.segments/_tree.segment.rsc +2 -2
  571. package/.next/standalone/.next/server/app/version-analysis.html +1 -0
  572. package/.next/standalone/.next/server/app/version-analysis.meta +16 -0
  573. package/.next/standalone/.next/server/app/version-analysis.rsc +23 -0
  574. package/.next/standalone/.next/server/app/version-analysis.segments/!KG1haW4p/version-analysis/__PAGE__.segment.rsc +9 -0
  575. package/.next/standalone/.next/server/app/version-analysis.segments/!KG1haW4p/version-analysis.segment.rsc +4 -0
  576. package/.next/standalone/.next/server/app/version-analysis.segments/!KG1haW4p.segment.rsc +7 -0
  577. package/.next/standalone/.next/server/app/version-analysis.segments/_full.segment.rsc +23 -0
  578. package/.next/standalone/.next/server/app/version-analysis.segments/_head.segment.rsc +6 -0
  579. package/.next/standalone/.next/server/app/version-analysis.segments/_index.segment.rsc +6 -0
  580. package/.next/standalone/.next/server/app/version-analysis.segments/_tree.segment.rsc +2 -0
  581. package/.next/standalone/.next/server/app/version-management.html +1 -0
  582. package/.next/standalone/.next/server/app/version-management.meta +16 -0
  583. package/.next/standalone/.next/server/app/version-management.rsc +22 -0
  584. package/.next/standalone/.next/server/app/version-management.segments/!KG1haW4p/version-management/__PAGE__.segment.rsc +9 -0
  585. package/.next/standalone/.next/server/app/version-management.segments/!KG1haW4p/version-management.segment.rsc +4 -0
  586. package/.next/standalone/.next/server/app/version-management.segments/!KG1haW4p.segment.rsc +7 -0
  587. package/.next/standalone/.next/server/app/version-management.segments/_full.segment.rsc +22 -0
  588. package/.next/standalone/.next/server/app/version-management.segments/_head.segment.rsc +6 -0
  589. package/.next/standalone/.next/server/app/version-management.segments/_index.segment.rsc +6 -0
  590. package/.next/standalone/.next/server/app/version-management.segments/_tree.segment.rsc +2 -0
  591. package/.next/standalone/.next/server/app-paths-manifest.json +9 -0
  592. package/.next/standalone/.next/server/chunks/[root-of-the-server]__096d00c3._.js +3 -0
  593. package/.next/standalone/.next/server/chunks/[root-of-the-server]__28078c4e._.js +1 -1
  594. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4509f30c._.js +1 -1
  595. package/.next/standalone/.next/server/chunks/[root-of-the-server]__51f686fd._.js +22 -0
  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]__8b872712._.js +22 -0
  601. package/.next/standalone/.next/server/chunks/[root-of-the-server]__98ce63c7._.js +1 -1
  602. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9f6a4627._.js +1 -1
  603. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c875b500._.js +3 -0
  604. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c8b9af98._.js +1 -1
  605. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cfcf074d._.js +3 -0
  606. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d754b2c2._.js +3 -0
  607. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e60b9568._.js +22 -0
  608. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e8b9c639._.js +22 -0
  609. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f30eea21._.js +3 -0
  610. package/.next/standalone/.next/server/chunks/_05c80664._.js +1 -1
  611. package/.next/standalone/.next/server/chunks/_1c2f3589._.js +1 -1
  612. package/.next/standalone/.next/server/chunks/{_1a32fa23._.js → _5090183e._.js} +2 -2
  613. package/.next/standalone/.next/server/chunks/{_e84c3e5f._.js → _6a203624._.js} +1 -1
  614. package/.next/standalone/.next/server/chunks/{_a0074544._.js → _70b9b972._.js} +1 -1
  615. package/.next/standalone/.next/server/chunks/_78c6471e._.js +1 -1
  616. package/.next/standalone/.next/server/chunks/{_547fcde4._.js → _d02fac80._.js} +2 -2
  617. package/.next/standalone/.next/server/chunks/_d043f698._.js +1 -1
  618. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_fleet_agent_route_actions_b98e2c99.js +3 -0
  619. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_modelconfig_pricing_route_actions_bca6856d.js +3 -0
  620. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_tags_[id]_route_actions_a6f8b324.js +3 -0
  621. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_tags_route_actions_caf13f5f.js +3 -0
  622. package/.next/standalone/.next/server/chunks/bec2d_app_api_observe_version-analysis_tags_[tagId]_traces_route_actions_ff37f2d3.js +3 -0
  623. package/.next/standalone/.next/server/chunks/ce889_server_app_api_observe_executions_[executionId]_tags_route_actions_08aa41a4.js +3 -0
  624. package/.next/standalone/.next/server/chunks/ce889_server_app_api_observe_version-analysis_compare_route_actions_b48ab573.js +3 -0
  625. package/.next/standalone/.next/server/chunks/src_lib_266d6cf4._.js +51 -0
  626. package/.next/standalone/.next/server/chunks/src_lib_5d95b500._.js +3 -0
  627. package/.next/standalone/.next/server/chunks/src_lib_67530201._.js +51 -0
  628. package/.next/standalone/.next/server/chunks/src_lib_9513f84d._.js +48 -0
  629. package/.next/standalone/.next/server/chunks/src_lib_9d09752c._.js +1 -1
  630. package/.next/standalone/.next/server/chunks/src_lib_a03a423b._.js +48 -0
  631. package/.next/standalone/.next/server/chunks/src_lib_a2a34aa6._.js +1 -1
  632. package/.next/standalone/.next/server/chunks/{src_lib_4751db31._.js → src_lib_dc72b90b._.js} +1 -1
  633. package/.next/standalone/.next/server/chunks/src_lib_ea85a447._.js +1 -1
  634. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0eb5d21d._.js +3 -0
  635. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__143c2f65._.js +3 -0
  636. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__85e7edfe._.js +3 -0
  637. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__c9cf8076._.js → [root-of-the-server]__90686664._.js} +2 -2
  638. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__96628a39._.js +3 -0
  639. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__c69baa4a._.js +3 -0
  640. package/.next/standalone/.next/server/chunks/ssr/_051b1443._.js +3 -0
  641. package/.next/standalone/.next/server/chunks/ssr/_0ae78458._.js +3 -0
  642. package/.next/standalone/.next/server/chunks/ssr/{_400d0da3._.js → _1278164d._.js} +2 -2
  643. package/.next/standalone/.next/server/chunks/ssr/_15e714f2._.js +3 -0
  644. package/.next/standalone/.next/server/chunks/ssr/_2f20fbfc._.js +3 -0
  645. package/.next/standalone/.next/server/chunks/ssr/_4e720925._.js +3 -0
  646. package/.next/standalone/.next/server/chunks/ssr/_5aa55aa6._.js +3 -0
  647. package/.next/standalone/.next/server/chunks/ssr/_8b68f69f._.js +3 -0
  648. package/.next/standalone/.next/server/chunks/ssr/_8d4b753e._.js +3 -0
  649. package/.next/standalone/.next/server/chunks/ssr/_976dfbab._.js +4 -0
  650. package/.next/standalone/.next/server/chunks/ssr/_aab048d0._.js +1 -1
  651. package/.next/standalone/.next/server/chunks/ssr/_be1ffbbf._.js +12 -0
  652. package/.next/standalone/.next/server/chunks/ssr/_c815e0e7._.js +4 -0
  653. package/.next/standalone/.next/server/chunks/ssr/_e4c81263._.js +3 -0
  654. package/.next/standalone/.next/server/chunks/ssr/{_a3d5f9bc._.js → _e5ee8977._.js} +2 -2
  655. package/.next/standalone/.next/server/chunks/ssr/_f634ea15._.js +12 -0
  656. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_(main)_version-analysis_page_actions_479d49a7.js +3 -0
  657. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_(main)_version-management_page_actions_aea5ae93.js +3 -0
  658. package/.next/standalone/.next/server/chunks/ssr/{node_modules_a443e166._.js → node_modules_3b1fd8eb._.js} +2 -2
  659. package/.next/standalone/.next/server/chunks/ssr/node_modules_7680a21d._.js +3 -0
  660. package/.next/standalone/.next/server/chunks/ssr/node_modules_bda25b86._.js +3 -0
  661. package/.next/standalone/.next/server/chunks/ssr/node_modules_bfffaa78._.js +3 -0
  662. package/.next/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_2e7afafc._.js +3 -0
  663. package/.next/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_cd0b182b._.js +3 -0
  664. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_accessconfig_install_page_tsx_6f4ef3fc._.js +3 -3
  665. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_dashboard_page_tsx_7eac7774._.js +1 -1
  666. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_modelconfig_registry_page_tsx_1ead2fd4._.js +1 -1
  667. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_quality_page_tsx_26bb8e80._.js +1 -1
  668. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_trace_page_tsx_41e7865d._.js +1 -1
  669. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_version-analysis_page_tsx_63ae8791._.js +3 -0
  670. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_version-management_page_tsx_87fe0372._.js +3 -0
  671. package/.next/standalone/.next/server/chunks/ssr/src_components_ui_select_tsx_4c0f64d8._.js +1 -1
  672. package/.next/standalone/.next/server/chunks/ssr/src_lib_client_locale-context_tsx_7184d9aa._.js +1 -1
  673. package/.next/standalone/.next/server/pages/404.html +1 -1
  674. package/.next/standalone/.next/server/pages/500.html +2 -2
  675. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  676. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  677. package/.next/standalone/.next/static/chunks/0257c68e82e9f2b0.js +1 -0
  678. package/.next/standalone/.next/static/chunks/{8754e0cf40813330.js → 06ac4297aa02f40a.js} +1 -1
  679. package/.next/standalone/.next/static/chunks/0fe047909a490ef0.js +1 -0
  680. package/.next/standalone/.next/static/chunks/151b95e65092aa16.js +1 -0
  681. package/.next/standalone/.next/static/chunks/1624a1adcb73d784.js +1 -0
  682. package/.next/standalone/.next/static/chunks/1cb2cee6b2f89fb7.js +1 -0
  683. package/.next/standalone/.next/static/chunks/1f173de64ad85757.js +10 -0
  684. package/.next/standalone/.next/static/chunks/{4dcd21eef469e66b.js → 2064add303799ffc.js} +1 -1
  685. package/.next/standalone/.next/static/chunks/25a9b2907e03a172.css +1 -0
  686. package/.next/standalone/.next/static/chunks/2fb55cc737806639.js +1 -0
  687. package/.next/standalone/.next/static/chunks/30a686796d86273c.js +1 -0
  688. package/.next/standalone/.next/static/chunks/3184105f3d2b47a1.js +10 -0
  689. package/.next/standalone/.next/static/chunks/379315313d164a57.js +1 -0
  690. package/.next/standalone/.next/static/chunks/39157b51ed6489eb.js +1 -0
  691. package/.next/standalone/.next/static/chunks/{dc22f906bd43e9a3.js → 46308ae9f83ac112.js} +3 -3
  692. package/.next/standalone/.next/static/chunks/4b72abe72a9b6cd9.js +6 -0
  693. package/.next/standalone/.next/static/chunks/54538e1a80e53392.js +1 -0
  694. package/.next/standalone/.next/static/chunks/599fdc4cf6eb9e95.js +1 -0
  695. package/.next/standalone/.next/static/chunks/63220d0acc5073cc.js +1 -0
  696. package/.next/standalone/.next/static/chunks/6da1d3424f804755.js +1 -0
  697. package/.next/standalone/.next/static/chunks/6e6f2418240877c6.js +1 -0
  698. package/.next/standalone/.next/static/chunks/8668d6f4c34d1e67.js +3 -0
  699. package/.next/standalone/.next/static/chunks/946d260668afc16b.js +1 -0
  700. package/.next/standalone/.next/static/chunks/97822ca2c186f93d.js +1 -0
  701. package/.next/{static/chunks/96c7e2e47438553a.js → standalone/.next/static/chunks/98588c35b1e00bea.js} +1 -1
  702. package/.next/standalone/.next/static/chunks/a99fb4f44f9a41f3.js +1 -0
  703. package/.next/standalone/.next/static/chunks/b223106f6c610a67.js +1 -0
  704. package/.next/standalone/.next/static/chunks/b5e671771efd9e7d.js +1 -0
  705. package/.next/standalone/.next/static/chunks/cc9a7b6a8edabe81.js +1 -0
  706. package/.next/standalone/.next/static/chunks/cfb3924a60d22c64.js +1 -0
  707. package/.next/standalone/.next/static/chunks/d15d7f6146b85000.js +1 -0
  708. package/.next/standalone/.next/static/chunks/dee90c3e29cd39bb.js +1 -0
  709. package/.next/standalone/.next/static/chunks/{bf909bd0ff1898e4.js → f6954ae67d81050e.js} +1 -1
  710. package/.next/standalone/.next/static/chunks/fc7f5db841a7032a.js +1 -0
  711. package/.next/standalone/node_modules/.prisma/client/edge.js +26 -3
  712. package/.next/standalone/node_modules/.prisma/client/index-browser.js +23 -0
  713. package/.next/standalone/node_modules/.prisma/client/index.js +26 -3
  714. package/.next/standalone/node_modules/.prisma/client/package.json +1 -1
  715. package/.next/standalone/node_modules/.prisma/client/schema.prisma +39 -0
  716. package/.next/standalone/node_modules/.prisma/client/wasm.js +23 -0
  717. package/.next/standalone/package.json +1 -1
  718. package/.next/standalone/prisma/schema.prisma +38 -0
  719. package/.next/static/chunks/0257c68e82e9f2b0.js +1 -0
  720. package/.next/static/chunks/{8754e0cf40813330.js → 06ac4297aa02f40a.js} +1 -1
  721. package/.next/static/chunks/0fe047909a490ef0.js +1 -0
  722. package/.next/static/chunks/151b95e65092aa16.js +1 -0
  723. package/.next/static/chunks/1624a1adcb73d784.js +1 -0
  724. package/.next/static/chunks/1cb2cee6b2f89fb7.js +1 -0
  725. package/.next/static/chunks/1f173de64ad85757.js +10 -0
  726. package/.next/static/chunks/{4dcd21eef469e66b.js → 2064add303799ffc.js} +1 -1
  727. package/.next/static/chunks/25a9b2907e03a172.css +1 -0
  728. package/.next/static/chunks/2fb55cc737806639.js +1 -0
  729. package/.next/static/chunks/30a686796d86273c.js +1 -0
  730. package/.next/static/chunks/3184105f3d2b47a1.js +10 -0
  731. package/.next/static/chunks/379315313d164a57.js +1 -0
  732. package/.next/static/chunks/39157b51ed6489eb.js +1 -0
  733. package/.next/static/chunks/{dc22f906bd43e9a3.js → 46308ae9f83ac112.js} +3 -3
  734. package/.next/static/chunks/4b72abe72a9b6cd9.js +6 -0
  735. package/.next/static/chunks/54538e1a80e53392.js +1 -0
  736. package/.next/static/chunks/599fdc4cf6eb9e95.js +1 -0
  737. package/.next/static/chunks/63220d0acc5073cc.js +1 -0
  738. package/.next/static/chunks/6da1d3424f804755.js +1 -0
  739. package/.next/static/chunks/6e6f2418240877c6.js +1 -0
  740. package/.next/static/chunks/8668d6f4c34d1e67.js +3 -0
  741. package/.next/static/chunks/946d260668afc16b.js +1 -0
  742. package/.next/static/chunks/97822ca2c186f93d.js +1 -0
  743. package/.next/{standalone/.next/static/chunks/96c7e2e47438553a.js → static/chunks/98588c35b1e00bea.js} +1 -1
  744. package/.next/static/chunks/a99fb4f44f9a41f3.js +1 -0
  745. package/.next/static/chunks/b223106f6c610a67.js +1 -0
  746. package/.next/static/chunks/b5e671771efd9e7d.js +1 -0
  747. package/.next/static/chunks/cc9a7b6a8edabe81.js +1 -0
  748. package/.next/static/chunks/cfb3924a60d22c64.js +1 -0
  749. package/.next/static/chunks/d15d7f6146b85000.js +1 -0
  750. package/.next/static/chunks/dee90c3e29cd39bb.js +1 -0
  751. package/.next/static/chunks/{bf909bd0ff1898e4.js → f6954ae67d81050e.js} +1 -1
  752. package/.next/static/chunks/fc7f5db841a7032a.js +1 -0
  753. package/package.json +1 -1
  754. package/prisma/schema.prisma +38 -0
  755. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2574e6ed._.js +0 -3
  756. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2710fb53._.js +0 -3
  757. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8cc92af1._.js +0 -3
  758. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9d2e5f60._.js +0 -3
  759. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bd3dc3ab._.js +0 -3
  760. package/.next/standalone/.next/server/chunks/src_lib_6cb48964._.js +0 -32
  761. package/.next/standalone/.next/server/chunks/src_lib_a3155704._.js +0 -3
  762. package/.next/standalone/.next/server/chunks/src_lib_baaf83ef._.js +0 -29
  763. package/.next/standalone/.next/server/chunks/src_lib_bf0ee699._.js +0 -32
  764. package/.next/standalone/.next/server/chunks/src_lib_dbf3c792._.js +0 -29
  765. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__2ec2bb09._.js +0 -3
  766. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__3cb83dc3._.js +0 -3
  767. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__fc94ba06._.js +0 -3
  768. package/.next/standalone/.next/server/chunks/ssr/_0141e5c7._.js +0 -3
  769. package/.next/standalone/.next/server/chunks/ssr/_0acdaaae._.js +0 -3
  770. package/.next/standalone/.next/server/chunks/ssr/_231821bd._.js +0 -3
  771. package/.next/standalone/.next/server/chunks/ssr/_5d1f8671._.js +0 -12
  772. package/.next/standalone/.next/server/chunks/ssr/_8bba8b8d._.js +0 -3
  773. package/.next/standalone/.next/server/chunks/ssr/_96725836._.js +0 -12
  774. package/.next/standalone/.next/server/chunks/ssr/_b08dc931._.js +0 -3
  775. package/.next/standalone/.next/server/chunks/ssr/_c4db9cec._.js +0 -3
  776. package/.next/standalone/.next/server/chunks/ssr/node_modules_8bfa35b3._.js +0 -3
  777. package/.next/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_30858f09._.js +0 -3
  778. package/.next/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_f1e06ad8._.js +0 -3
  779. package/.next/standalone/.next/static/chunks/0b6bd84bf10579a4.js +0 -10
  780. package/.next/standalone/.next/static/chunks/0bca64d67dceae3f.js +0 -1
  781. package/.next/standalone/.next/static/chunks/16047b19dda5c90d.js +0 -10
  782. package/.next/standalone/.next/static/chunks/3a0f454536f3ebc8.js +0 -1
  783. package/.next/standalone/.next/static/chunks/3d19f62114122bd3.js +0 -1
  784. package/.next/standalone/.next/static/chunks/3d6127f72467176d.js +0 -1
  785. package/.next/standalone/.next/static/chunks/44545e70bb7a33b8.js +0 -1
  786. package/.next/standalone/.next/static/chunks/4e52a5c5e332595a.js +0 -1
  787. package/.next/standalone/.next/static/chunks/6238734a2f04b1f9.js +0 -1
  788. package/.next/standalone/.next/static/chunks/66b23011cd8544ad.js +0 -1
  789. package/.next/standalone/.next/static/chunks/7a758615e3d35d6d.js +0 -1
  790. package/.next/standalone/.next/static/chunks/7a7dc24eed0484dc.js +0 -1
  791. package/.next/standalone/.next/static/chunks/7d4fa817c5229801.js +0 -1
  792. package/.next/standalone/.next/static/chunks/8f18a711543d804a.js +0 -1
  793. package/.next/standalone/.next/static/chunks/9155a6c07dc0502d.js +0 -6
  794. package/.next/standalone/.next/static/chunks/94fdb955b1dc512a.js +0 -1
  795. package/.next/standalone/.next/static/chunks/97b8d7ea5d04e2a2.js +0 -1
  796. package/.next/standalone/.next/static/chunks/a31bf4e176b5e90c.js +0 -3
  797. package/.next/standalone/.next/static/chunks/b9597989b5b0abd3.js +0 -1
  798. package/.next/standalone/.next/static/chunks/d170174df1128338.js +0 -1
  799. package/.next/standalone/.next/static/chunks/d91c2c0bbe0b59ab.js +0 -1
  800. package/.next/standalone/.next/static/chunks/e159d293fc72e91b.css +0 -1
  801. package/.next/standalone/.next/static/chunks/e45a4e085c7ce03c.js +0 -1
  802. package/.next/standalone/.next/static/chunks/ffd21617593aaafd.js +0 -1
  803. package/.next/static/chunks/0b6bd84bf10579a4.js +0 -10
  804. package/.next/static/chunks/0bca64d67dceae3f.js +0 -1
  805. package/.next/static/chunks/16047b19dda5c90d.js +0 -10
  806. package/.next/static/chunks/3a0f454536f3ebc8.js +0 -1
  807. package/.next/static/chunks/3d19f62114122bd3.js +0 -1
  808. package/.next/static/chunks/3d6127f72467176d.js +0 -1
  809. package/.next/static/chunks/44545e70bb7a33b8.js +0 -1
  810. package/.next/static/chunks/4e52a5c5e332595a.js +0 -1
  811. package/.next/static/chunks/6238734a2f04b1f9.js +0 -1
  812. package/.next/static/chunks/66b23011cd8544ad.js +0 -1
  813. package/.next/static/chunks/7a758615e3d35d6d.js +0 -1
  814. package/.next/static/chunks/7a7dc24eed0484dc.js +0 -1
  815. package/.next/static/chunks/7d4fa817c5229801.js +0 -1
  816. package/.next/static/chunks/8f18a711543d804a.js +0 -1
  817. package/.next/static/chunks/9155a6c07dc0502d.js +0 -6
  818. package/.next/static/chunks/94fdb955b1dc512a.js +0 -1
  819. package/.next/static/chunks/97b8d7ea5d04e2a2.js +0 -1
  820. package/.next/static/chunks/a31bf4e176b5e90c.js +0 -3
  821. package/.next/static/chunks/b9597989b5b0abd3.js +0 -1
  822. package/.next/static/chunks/d170174df1128338.js +0 -1
  823. package/.next/static/chunks/d91c2c0bbe0b59ab.js +0 -1
  824. package/.next/static/chunks/e159d293fc72e91b.css +0 -1
  825. package/.next/static/chunks/e45a4e085c7ce03c.js +0 -1
  826. package/.next/static/chunks/ffd21617593aaafd.js +0 -1
  827. /package/.next/standalone/.next/static/{iE8084jR9Kgb7Bhs3Xokh → VeFGnFbPjqrwSXp9h5AgX}/_buildManifest.js +0 -0
  828. /package/.next/standalone/.next/static/{iE8084jR9Kgb7Bhs3Xokh → VeFGnFbPjqrwSXp9h5AgX}/_clientMiddlewareManifest.json +0 -0
  829. /package/.next/standalone/.next/static/{iE8084jR9Kgb7Bhs3Xokh → VeFGnFbPjqrwSXp9h5AgX}/_ssgManifest.js +0 -0
  830. /package/.next/static/{iE8084jR9Kgb7Bhs3Xokh → VeFGnFbPjqrwSXp9h5AgX}/_buildManifest.js +0 -0
  831. /package/.next/static/{iE8084jR9Kgb7Bhs3Xokh → VeFGnFbPjqrwSXp9h5AgX}/_clientMiddlewareManifest.json +0 -0
  832. /package/.next/static/{iE8084jR9Kgb7Bhs3Xokh → VeFGnFbPjqrwSXp9h5AgX}/_ssgManifest.js +0 -0
@@ -197,6 +197,27 @@ exports.Prisma.ExecutionSkillScalarFieldEnum = {
197
197
  createdAt: 'createdAt'
198
198
  };
199
199
 
200
+ exports.Prisma.TagScalarFieldEnum = {
201
+ id: 'id',
202
+ name: 'name',
203
+ description: 'description',
204
+ kind: 'kind',
205
+ color: 'color',
206
+ createdBy: 'createdBy',
207
+ user: 'user',
208
+ createdAt: 'createdAt',
209
+ updatedAt: 'updatedAt'
210
+ };
211
+
212
+ exports.Prisma.ExecutionTagScalarFieldEnum = {
213
+ id: 'id',
214
+ executionId: 'executionId',
215
+ tagId: 'tagId',
216
+ user: 'user',
217
+ createdBy: 'createdBy',
218
+ createdAt: 'createdAt'
219
+ };
220
+
200
221
  exports.Prisma.EvaluationScalarFieldEnum = {
201
222
  id: 'id',
202
223
  type: 'type',
@@ -631,6 +652,8 @@ exports.Prisma.ModelName = {
631
652
  Execution: 'Execution',
632
653
  TraceEvaluation: 'TraceEvaluation',
633
654
  ExecutionSkill: 'ExecutionSkill',
655
+ Tag: 'Tag',
656
+ ExecutionTag: 'ExecutionTag',
634
657
  Evaluation: 'Evaluation',
635
658
  SkillIssue: 'SkillIssue',
636
659
  Config: 'Config',
@@ -711,13 +734,13 @@ const config = {
711
734
  }
712
735
  }
713
736
  },
714
- "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../node_modules/.prisma/client\"\n}\n\ndatasource db {\n provider = \"sqlite\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel Skill {\n id String @id @default(cuid())\n name String\n category String @default(\"Other\")\n description String?\n tags String? // JSON string\n visibility String @default(\"private\") // public, team, private\n author String?\n user String? // Added for user isolation\n\n // Relations\n versions SkillVersion[]\n evaluations Evaluation[]\n issues SkillIssue[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n activeVersion Int? @default(0)\n isUploaded Boolean @default(false)\n\n @@unique([name, user]) // Skill names are unique per user\n}\n\nmodel SkillVersion {\n id String @id @default(cuid())\n skillId String\n version Int\n semanticVersion String? // 语义化版本号,用于企业同步\n enterpriseSkillId Int? // 企业skill的id,用于删除同步\n content String\n assetPath String?\n files String?\n changeLog String?\n createdAt DateTime @default(now())\n Skill Skill @relation(fields: [skillId], references: [id], onDelete: Cascade)\n\n @@unique([skillId, version])\n}\n\nmodel User {\n id String @id @default(cuid())\n username String @unique\n apiKey String @unique\n createdAt DateTime @default(now())\n}\n\nmodel Execution {\n id String @id @default(cuid()) // upload_id\n taskId String?\n query String?\n framework String?\n tokens Int?\n cost Float?\n latency Float?\n toolCallCount Int?\n llmCallCount Int?\n inputTokens Int?\n outputTokens Int?\n toolCallErrorCount Int?\n cacheReadInputTokens Int?\n cacheCreationInputTokens Int?\n maxSingleCallTokens Int?\n reasoningTokens Int?\n timestamp DateTime @default(now())\n model String?\n // 真实推理源 URL(scheme://host:port),用作 session↔infra 关联键。\n endpoint String?\n agentName String?\n agentId String?\n finalResult String?\n skill String?\n skills String? // JSON array of strings (skill names)\n invokedSkills String? // JSON array of {name: string, version: number | null}\n isSkillCorrect Boolean? @default(false)\n isAnswerCorrect Boolean? @default(false)\n answerScore Float?\n skillScore Float?\n judgmentReason String?\n failures String? // JSON array of failures objects\n skillIssues String? // JSON array of skill issue analysis\n skillVersion Int?\n label String?\n user String?\n // Execution-level trigger-accuracy metric: correct_invoked_skills / expected_skills (per execution).\n skillTriggerRate Float?\n // 写入时从 trace interactions 预解析的 agent 名列表(JSON string[],来自 extractObservedAgentNames)。\n // 让轻量列表(fields=light)无需加载/解析 session interactions 即可拿到完整 agents,根治堆 OOM 又不丢数据。\n observedAgents String?\n\n // --- 多 Agent 拆分字段 ---\n // 一次主 agent 的 trace 会被拆成 1 条 root execution + N 条 sub-agent execution,\n // 父子靠 parentExecutionId 串,整棵树共享 rootExecutionId。\n // 列表/聚合默认按 isSubagent=false 过滤 root;详情页可下钻到任意 sub-agent。\n parentExecutionId String? // null 表示 root;否则指向上一级 Execution.id\n rootExecutionId String? // 整棵树的根(root 自身可为 null 或自指)\n agentSessionId String? // 对应 framework 给的 sessionID(root 或 sub-agent 各自的)\n subagentType String? // 'kuafu' / 'general' / null(root)\n subagentName String? // 完整显示名(如 \"Kuafu (General Diagnostic Executor)\")\n isSubagent Boolean @default(false)\n\n // 反向关系:被多少次 Evaluation 评估过(dynamic 类型,重评懒删除)\n evaluations Evaluation[]\n traceEvaluations TraceEvaluation[]\n\n // 反向关系:这条 Execution(= 某一层 agent)本层实际调用的 skill(按 agent 作用域,不含子 agent)。\n // 可索引的多对多,替代 skills/invokedSkills JSON blob 做\"按 skill+version 反查 trace\"与统一筛选。\n executionSkills ExecutionSkill[]\n\n @@index([parentExecutionId])\n @@index([rootExecutionId])\n @@index([isSubagent, timestamp])\n @@index([agentSessionId])\n // 主列表查询(链路追踪/概览)是 WHERE user=? AND isSubagent=false ORDER BY timestamp DESC。\n // 缺 user 维度时每个并发请求都要全表扫+排序;该复合索引让规划器按 (user,isSubagent) 定位后\n // 直接按 timestamp 倒序读,把高并发下的列表查询降为索引范围扫描。\n @@index([user, isSubagent, timestamp])\n}\n\n/// Trace 级通用评测明细:一行 = 一个 execution 的一个指标。\nmodel TraceEvaluation {\n id String @id @default(cuid())\n executionId String\n execution Execution @relation(fields: [executionId], references: [id], onDelete: Cascade)\n evaluatorId String\n evaluatorVersion String\n dimension String\n metricKey String\n status String @default(\"pending\") // pending | running | done | failed\n score Float? // 0–100;null = N/A\n method String\n confidence Float @default(0)\n evidenceJson String?\n note String?\n interactionsHash String\n errorMessage String?\n ranAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([executionId, evaluatorId, metricKey])\n @@index([executionId, status])\n}\n\n// Trace(= 单层 agent 的 Execution)↔ skill 的可索引绑定。\n//\n// 设计要点(见相关讨论):\n// - 作用域:每条 Execution 只绑定**该层 agent 自己显式调用**(skill/load_skill)的 skill;\n// 子 agent 的 skill 绑在子 agent 自己的 Execution 行上,不向上冒泡到父/root。\n// - 版本:skillVersion 在写入时定格(显式带版本则用之;否则取当时 Skill.activeVersion 快照),\n// 不随\"当前活跃版本\"漂移。null 表示无法解析出版本。\n// - 快照存名:不硬 FK 到 Skill/SkillVersion(它们 onDelete: Cascade),避免删 skill 抹掉历史 trace 绑定。\n// - 写入侧每次 save 先按 executionId 清空再重建,保证幂等(不依赖 NULL 版本的唯一约束语义)。\nmodel ExecutionSkill {\n id String @id @default(cuid())\n executionId String\n execution Execution @relation(fields: [executionId], references: [id], onDelete: Cascade)\n skillName String\n skillVersion Int? // 写入时定格的版本;null = 未解析出\n isPrimary Boolean @default(false) // 是否为该 Execution 的\"主/被评测 skill\"(对齐 Execution.skill)\n user String? // 跟随 trace,便于直接按 user 维度查\n createdAt DateTime @default(now())\n\n @@index([skillName, skillVersion]) // 按 skill@version 反查所有 trace(核心诉求)\n @@index([skillName]) // 按 skill 任意版本反查\n @@index([executionId])\n}\n\n/// 一次评估事件——静态评估和动态评估统一到这张表,按 type 区分。\n/// 详细设计见 docs/plans/2026-05-08-skill-opt-issues-api-design.md\nmodel Evaluation {\n id String @id @default(cuid())\n type String // 'static' | 'dynamic' | 'trigger'\n\n // 评估目标\n skillId String\n version Int\n user String?\n\n // dynamic 专用:指向被评估的 trace。同一条 trace 可被多个 evaluation 引用\n // (重评懒删除:旧 evaluation 不删,多个评估器并存)\n executionId String?\n Execution Execution? @relation(fields: [executionId], references: [id])\n\n // static 专用:内容 hash,作\"快速查最近一次同 content 的评估\"的索引线索\n // 不是 unique 约束——同 SkillVersion 允许多次重评(评估器自行决定 skip)\n contentHash String?\n l2ScoresJson String? // {Role:1-5, Structure:1-5, ...}(V2 接 LLM 5D 时填)\n\n // 通用元数据\n ranAt DateTime @default(now())\n status String @default(\"ok\") // 'ok' | 'partial' | 'failed'\n errorMessage String?\n durationMs Int?\n generator String? // 'static-linter@0.1' / 'judge.ts@1.2' 等\n\n // dynamic 评估批次(trajectory-evaluator 的 evaluatorRunId);用于过滤\"某轮评测产出的 issue\"\n runId String?\n\n Skill Skill @relation(fields: [skillId], references: [id], onDelete: Cascade)\n issues SkillIssue[]\n\n @@index([skillId, version])\n @@index([type, ranAt])\n @@index([skillId, version, type, contentHash]) // 评估器查\"最近一次同 content 评估\"用;非 unique\n @@index([executionId])\n @@index([runId])\n}\n\n/// 单个优化点。每行 = 一个独立 issue。\n/// FK 指向产生它的 Evaluation;source 字段从 Evaluation.type denormalize 过来便于热路径查询。\nmodel SkillIssue {\n id String @id @default(cuid())\n evaluationId String\n Evaluation Evaluation @relation(fields: [evaluationId], references: [id], onDelete: Cascade)\n\n // denormalized:避免热路径 join Evaluation\n source String // 'static' | 'dynamic' | 'feedback' | 'trigger'\n skillId String\n version Int\n user String?\n\n // 内容识别:跨 evaluation 聚合\"同一 issue\"的语义键\n // - static: ruleId(如 \"frontmatter_missing_name\")\n // - dynamic: hash6(content + explanation)\n dedupKey String\n\n // 内容字段(前端直接消费)\n severity String // 'high' | 'medium' | 'low'\n summary String\n evidence String?\n reasoning String?\n suggestedFix String?\n\n // 静态专用元数据(前端可忽略)\n ruleId String?\n dimension String? // L2 评估维度,纯审计\n\n // 业务分类(前端展示用):'轨迹偏差' | '关键观点遗漏' | '工具误用' | '静态扫描' | '其它'\n category String?\n\n // 解决标记:skill-opt 完成一轮优化后调 PATCH /resolve 把对应 id 置位;列表默认过滤\n resolvedAt DateTime?\n resolvedRunId String? // 哪轮 skill-opt(threadId)把它解掉的\n\n createdAt DateTime @default(now())\n\n Skill Skill @relation(fields: [skillId], references: [id], onDelete: Cascade)\n\n @@index([skillId, version, dedupKey]) // 跨 eval prevalence 聚合用\n @@index([evaluationId])\n @@index([source, severity]) // 前端按来源/严重度筛选\n @@index([skillId, version, resolvedAt]) // 列表默认过滤 resolvedAt = null\n}\n\nmodel Config {\n id String @id @default(cuid())\n query String?\n skill String @default(\"\") // Ground truth skill name (Legacy - use expectedSkills instead)\n skillVersion Int? // Expected skill version (Legacy - use expectedSkills instead)\n datasetType String @default(\"combined\") // combined | routing | outcome\n routingIntent String?\n routingAnchors String? // JSON array of semantic anchor phrases\n expectedSkills String? // JSON array of {skill: string, version: number | null}\n standardAnswer String\n rootCauses String? // JSON array\n keyActions String? // JSON array\n extractedKeyActions String? // JSON array of ExtractedKeyAction (auto-extracted from Skill)\n user String? // Added for user isolation\n parseStatus String @default(\"completed\") // parsing | completed | failed\n\n @@unique([query, user, datasetType]) // Allow routing and outcome datasets to coexist for one query\n}\n\nmodel Session {\n id String @id @default(cuid())\n taskId String @unique\n label String?\n query String?\n startTime DateTime @default(now())\n endTime DateTime?\n interactions String? // JSON array of interactions\n user String?\n model String?\n}\n\nmodel UserSettings {\n id String @id @default(cuid())\n user String @unique\n settingsJson String // Store ServerSettingsV2 as JSON string\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel ParsedFlow {\n id String @id @default(cuid())\n skillId String\n version Int\n user String?\n\n flowJson String? // JSON: { steps, branches }\n mermaidCode String? // Generated Mermaid code\n\n parsedAt DateTime @default(now())\n\n @@unique([skillId, version, user])\n}\n\nmodel ExecutionMatch {\n id String @id @default(cuid())\n executionId String @unique\n skillId String?\n skillVersion Int?\n user String?\n\n mode String @default(\"compare\") // \"compare\" or \"dynamic\"\n matchJson String? // JSON: { matches, summary }\n staticMermaid String? // Static flow Mermaid code\n dynamicMermaid String? // Dynamic flow Mermaid code\n analysisText String? // LLM analysis text\n extractedSteps String? // JSON: extracted steps from interactions\n\n interactionCount Int // Number of interactions at analysis time\n\n matchedAt DateTime @default(now())\n}\n\nmodel UserGuideState {\n id String @id @default(cuid())\n user String @unique\n guideDisabled Boolean @default(false)\n currentStep Int @default(0)\n completedSteps String @default(\"[]\")\n skippedSteps String @default(\"[]\")\n lastShownAt DateTime?\n dismissedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel SkillGeneratorSession {\n id String @id @default(cuid())\n title String @default(\"New Chat\")\n user String? // Link to user username\n files String @default(\"{}\") // Store FilesState as JSON string\n // 绑定到 opencode 后端的 sessionID;多轮对话时复用 opencode 内的对话上下文。\n // opencode server 重启会让此 ID 失效,bridge 检测到后自动起新 session(磁盘文件仍保留,agent 内对话历史会丢)。\n opencodeSessionId String?\n // 内部 agent tag 持久化:bridge 跑 runGeneralAgent 时会用 internal-agent-tag.ts 在内存里\n // 登记 opencodeSessionId → agentName/skill 映射,让 upload 路由把 plugin 默认填的字段\n // 覆写成正确的系统 agent 归属。但内存映射在 dev server 重启时会清空——重启前生成 session、\n // 重启后才被 uploader 上报的话,trace 里 agentName 就空了。这里把同一份信息冗余到 DB,\n // upload 路由内存查不到时回退读这里。\n agentName String?\n // SYSTEM_AGENTS 里该 agent 的 traceSkill 字段,缓存一份避免上报路径再 join 一次。\n agentTraceSkill String?\n messages SkillGeneratorMessage[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // 表名保留 PlaygroundSession,避免 DB 迁移;只把 Prisma model 层重命名以跟路由统一。\n @@map(\"PlaygroundSession\")\n}\n\nmodel SkillGeneratorMessage {\n id String @id @default(cuid())\n sessionId String\n session SkillGeneratorSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)\n role String // \"user\" | \"agent\"\n content String // Markdown content (text-only fallback for legacy clients)\n blocks String @default(\"[]\") // JSON-encoded Block[] — restores thinking/tool/download UI on reload\n createdAt DateTime @default(now())\n\n @@map(\"PlaygroundMessage\")\n}\n\n/// skill-opt 优化页的会话。结构镜像 PlaygroundSession,多两个业务字段(skillName/baseVersion)\n/// 标识\"哪个 skill 哪个 base 版本起的优化\"。详见 docs/plans/2026-05-09-skill-opt-history-design.md。\nmodel SkillOptSession {\n id String @id @default(cuid())\n user String? // username(与其它表对齐)\n skillName String\n baseVersion Int\n title String @default(\"新对话\")\n files String @default(\"{}\") // 最新 vfs 的全量文件 JSON\n // opencode 多轮上下文复用;server 重启失效时 bridge 自动起新 session\n opencodeSessionId String?\n // 同 PlaygroundSession:trace 归属冗余字段,dev server 重启后内存 tag 失效时回退用\n agentName String?\n agentTraceSkill String?\n messages SkillOptMessage[]\n iterations SkillOptIteration[]\n plan SkillOptPlan?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // 列表页核心查询:按 user + skill + baseVersion 列出最近会话\n @@index([user, skillName, baseVersion, updatedAt])\n}\n\n/// 一轮优化会话入口处由归并算子产出的统一优化计划。\n/// SkillIssue 是不可变的原始发现台账(跨 eval 累积);plan 是它的归并视图,\n/// 生命周期 = 一轮会话 + 一个 baseVersion,不回写台账。\n/// 设计:docs/plans/2026-06-10-skill-issue-merge-conflict-plan-design.md\nmodel SkillOptPlan {\n id String @id @default(cuid())\n sessionId String @unique // 一轮会话至多一份 plan\n session SkillOptSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)\n skillId String\n baseVersion Int\n status String @default(\"draft\") // draft | confirmed | applied | abandoned\n operatorMeta String @default(\"{}\") // JSON:批数/层数/模型/耗时,纯审计\n createdAt DateTime @default(now())\n items SkillOptPlanItem[]\n\n @@index([skillId, baseVersion])\n}\n\nmodel SkillOptPlanItem {\n id String @id @default(cuid())\n planId String\n plan SkillOptPlan @relation(fields: [planId], references: [id], onDelete: Cascade)\n rank Int // 展示与应用顺序(prevalence×severity 降序)\n route String // 'core' | 'reference' | 'backlog'\n status String @default(\"pending\") // pending | conflict | applied | deferred | dismissed\n title String\n rationale String // 归并理由:为什么这些 issue 是一件事 + 综合后的修改方向\n severity String @default(\"medium\") // 'high' | 'medium' | 'low'(归并后的代表严重度)\n targetFile String? // 锚点:相对 baseVersion 快照的文件路径\n anchorText String? // 锚点:目标位置原文片段 / section 标题\n proposedEdit String? // 建议修改(diff 或指令式描述)\n conflictNote String? // status='conflict' 时的矛盾说明,给用户仲裁\n sourceIssueIds String @default(\"[]\") // JSON string[]:归并自哪些 SkillIssue.id\n sourcesBreakdown String @default(\"{}\") // JSON:{\"static\":n,\"dynamic\":m,\"trigger\":k}\n prevalence Int @default(1) // Σ 源 issues 的 prevalenceCount\n createdAt DateTime @default(now())\n\n @@index([planId, rank])\n}\n\nmodel SkillOptMessage {\n id String @id @default(cuid())\n sessionId String\n session SkillOptSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)\n role String // \"user\" | \"agent\"\n content String // markdown 兜底\n blocks String @default(\"[]\") // JSON Block[],复用 playground Block 协议\n createdAt DateTime @default(now())\n\n @@index([sessionId, createdAt])\n}\n\n/// 一次 agent turn 跑完后产生的\"草稿\"快照——files 全量 + agent 修改总结 + 这次处理了哪些 issue。\n/// 用户点开历史会话时,diff viewer 用它还原\"v{N} → 草稿 #M\"的对比和优化报告。\nmodel SkillOptIteration {\n id String @id @default(cuid())\n sessionId String\n session SkillOptSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)\n /// session 内的草稿编号(递增;UI 显示为 \"草稿 #N\")\n draftNumber Int\n /// agent 输出的\"## 修改总结\" markdown 主体,作为优化报告正文\n summary String\n /// 全量文件快照 JSON:{ relPath: content }\n files String\n /// 这次处理的 issue id 列表 JSON。reload 后 UI 上\"已优化\"标记基于它重建\n resolvedIssueIds String @default(\"[]\")\n createdAt DateTime @default(now())\n\n @@unique([sessionId, draftNumber])\n @@index([sessionId, createdAt])\n}\n\n/// 用户自建评估器列表(整段 JSON);预置评估器不入库。\nmodel CustomEvaluatorList {\n user String @id // username,与其它表的 user 一致\n itemsJson String @default(\"[]\")\n updatedAt DateTime @updatedAt\n}\n\n/// 评测集定义与数据项(cases 存 JSON)\nmodel AgentEvalDataset {\n id String @id\n user String\n name String\n description String @default(\"\")\n targetAgent String @default(\"\")\n /// 服务于哪个 skill;为空表示通用 agent eval(不绑定 skill)。skill 生成时\n /// 自动起草的行为评测集会填这个字段(用 Skill.name)。\n targetSkill String @default(\"\")\n tagsJson String @default(\"[]\")\n casesJson String @default(\"[]\")\n datasetKind String @default(\"ideal_output\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([user])\n @@index([user, targetSkill])\n}\n\nmodel DebugHistory {\n id String @id @default(cuid())\n user String\n skillId String\n skillName String\n versionA String\n versionB String\n query String\n temperature String\n resultsJson String // Store results as JSON string\n createdAt DateTime @default(now())\n\n @@index([user])\n}\n\nmodel BatchEvalTask {\n id String @id @default(cuid())\n user String\n taskName String\n configJson String @default(\"{}\") // { datasetIds, skillId, versionId, sourceMode, evaluatorId, traceSkillId, ... }\n caseStatesJson String @default(\"{}\") // { [caseId]: CaseState }\n traceEvalStatesJson String @default(\"{}\") // { [key]: TraceEvalStateInfo } — trace-mode eval states\n createdAt DateTime @default(now())\n\n @@index([user])\n}\n\nmodel GrayscaleTask {\n id String @id @default(cuid())\n user String\n skillId String\n skillName String\n skillVersion Int\n skillVersionId String\n taskName String\n configJson String @default(\"{}\") // { datasetIds, skillId, versionAId, versionBId };skillId/versionBId 必须等于任务绑定 skill + B 版本\n caseStatesJson String @default(\"{}\") // { [caseId]: { a: PerVersionState, b: PerVersionState } }\n createdAt DateTime @default(now())\n\n // 任务名作为身份的一部分:同一 (user, skill, 版本) 下允许多个不同名的 A/B 任务。\n // 之前是 @@unique([user, skillName, skillVersion])(每个版本仅一个),拓宽后:\n // - 新名字 → 建新任务;同名+同版本 → 命中已有(创建路由按这四元组判重)。\n // - 改名是原地 PATCH(甲语义),只在改成\"同版本已存在的别的名字\"时才会撞键。\n @@unique([user, skillName, skillVersion, taskName])\n @@index([user])\n @@index([user, skillId])\n @@index([user, skillId, skillVersion])\n}\n\n/// Persisted debug job results — survives server restarts\nmodel DebugJobResult {\n id String @id // jobId\n user String\n status String // \"completed\" | \"failed\"\n output String?\n timeCost String?\n tokenUsage Int?\n sessionId String? // opencode session id — used for Trace link and trajectory eval\n error String?\n createdAt DateTime @default(now())\n\n @@index([user])\n}\n\n/// 轨迹评估器单次评测结果(one row = one case × one execution trace)\n/// 由 trajectory-evaluator(deepagents)产出。同一 (datasetId, caseId, executionId)\n/// 可重跑多次 → 多行历史,按 evaluatorRunId 分组。\n/// 对接 EvaluatorsCenter 中预置评估器 preset-agent-trace-quality 的执行链路。\nmodel TrajectoryEvalResult {\n id String @id @default(cuid())\n user String\n evaluatorRunId String\n datasetId String\n caseId String\n executionId String?\n taskId String?\n status String @default(\"pending\") // pending | running | done | failed\n errorMessage String?\n\n trajectoryScore Float?\n /// JSON: { completeness, toolChoice, redundancy, attribution }\n dimensionScoresJson String?\n /// JSON: 偏离步骤列表 [{ stepIndex, kind, name, deviation, severity }]\n deviationStepsJson String?\n rootCauseStep String?\n reasonText String?\n /// 评估器原始输出(含 subagent 中间结果)\n rawAnalysisJson String?\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([user])\n @@index([datasetId])\n @@index([executionId])\n @@index([evaluatorRunId])\n}\n\nmodel RegisteredAgent {\n id String @id @default(cuid())\n platform String\n name String\n description String?\n user String?\n agentType String @default(\"main\")\n agentOwnership String @default(\"user\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([platform, name, user])\n}\n\nmodel FaultDiagnosisSession {\n id String @id @default(cuid())\n executionId String @unique\n user String?\n opencodeSessionId String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n messages FaultDiagnosisMessage[]\n}\n\nmodel FaultDiagnosisMessage {\n id String @id @default(cuid())\n sessionId String\n session FaultDiagnosisSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)\n role String\n content String\n createdAt DateTime @default(now())\n}\n\nmodel AgentDebugReport {\n id String @id @default(cuid())\n executionId String @unique\n user String?\n interactionsHash String\n status String @default(\"pending\") // pending | running | done | failed\n errorMessage String?\n\n reportJson String?\n stepCount Int @default(0)\n issueCount Int @default(0)\n llmCallCount Int @default(0)\n durationMs Int?\n generator String @default(\"agent-debug-diagnosis-skill@0.1\")\n\n ranAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([user, ranAt])\n @@index([status])\n}\n\nmodel AgentDebugSkillsAnalysis {\n id String @id @default(cuid())\n executionId String @unique\n user String?\n interactionsHash String\n status String @default(\"pending\") // pending | running | done | failed\n errorMessage String?\n\n analysisJson String?\n keyActionCount Int @default(0)\n\n ranAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([user, ranAt])\n @@index([status])\n}\n\n// 注:旧 `SkillOptimizationPoint` 单表方案已废弃,统一收敛到 `Evaluation` + `SkillIssue`\n// 两表设计(详见 docs/plans/2026-05-08-skill-opt-issues-api-design.md)。\n// `SkillIssue.category` / `resolvedAt` / `resolvedRunId` + `Evaluation.runId` 把原表能力\n// 全部覆盖;frequency 合并由读取时的 prevalenceCount 派生(重评懒删除模型)。\n\n// =========================================================================\n// Skill 触发评价集(TriggerTestSet)—— 给 skill 分析页\"触发分析\"卡用\n// 详见 docs/designs/agents/skill-eval-datasets/design.md\n// =========================================================================\n\nmodel SkillTriggerEvalSet {\n id String @id @default(cuid())\n user String\n /// (user, skillName) 下的一个**版本快照**——一行 = 一个数据集版本\n skillName String\n /// 同 (user, skillName) 下递增;最大版本即「latest / 当前可编辑版本」\n version Int @default(1)\n /// 该版本怎么来:'llm-draft' | 'user-upload' | 'manual'\n versionSource String @default(\"manual\")\n /// 可选备注:上传时落文件名,AI 起草时落模型名等\n versionNote String?\n description String @default(\"\")\n /// JSON array of { id, query, shouldTrigger, rationale?, source }\n /// source: 'llm-draft' | 'user-added' | 'user-edited' | 'trace-mined'\n itemsJson String @default(\"[]\")\n /// 起草时基于的 SKILL.md 内容 hash(sha256 前 16 位即可)\n /// 用于后续判断 SKILL.md 改了之后要不要建议\"重新起草\"\n draftedFromSkillHash String?\n /// 起草状态:'drafting' | 'ready'(生成 pipeline 异步起草时 drafting,完成后 ready)\n status String @default(\"ready\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([user, skillName, version])\n @@index([user, skillName])\n}\n\nmodel SkillTriggerEvalRun {\n id String @id @default(cuid())\n user String\n skillName String\n skillVersion Int\n /// FK 到 SkillTriggerEvalSet(按 user+skillName 唯一,不用 id 关联也行;这里冗余 id 方便排障)\n triggerSetId String\n /// JSON array of { itemId, query, shouldTrigger, runsTriggered, runsTotal, triggerRate, pass, latencyMsAvg, competingSkill? }\n /// competingSkill: 命中的不是本 skill 而是别的 skill(兄弟竞争诊断)\n resultsJson String @default(\"[]\")\n passRate Float @default(0)\n truePositiveRate Float @default(0)\n falsePositiveRate Float @default(0)\n runsPerQuery Int @default(1)\n triggerThreshold Float @default(0.5)\n timeoutMs Int @default(30000)\n durationMs Int?\n modelId String?\n /// opencode 看到的项目根目录(worktree path),便于排障\n workspaceRoot String?\n /// 'running' | 'done' | 'failed'\n status String @default(\"running\")\n errorMessage String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([user, skillName, skillVersion, createdAt])\n}\n\n// 会话级 infra 关联的人工覆盖:按整棵 trace 树(rootExecutionId)存一组关联。\n// 存在行 = 人工权威集合(覆盖按 endpoint 的自动推断);无行 = 走自动推断。\nmodel SessionInfraLink {\n id String @id @default(cuid())\n rootExecutionId String\n sourceId String\n model String?\n createdAt DateTime @default(now())\n\n @@unique([rootExecutionId, sourceId, model])\n @@index([rootExecutionId])\n}\n\n// 已注册的「AI 推理 infra 源」(任意暴露 Prometheus /metrics 的 vLLM/OpenAI 兼容服务)。\n// endpoint = scheme://host:port,既是展示身份也是 session↔infra 的关联键。\nmodel InfraSource {\n id String @id @default(cuid())\n endpoint String @unique\n scrapeUrl String\n kind String @default(\"pull\") // pull | push\n model String?\n hardwareName String?\n memBandwidthGBs Float?\n scrapeIntervalMs Int @default(1000)\n enabled Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n samples InfraMetricSample[]\n\n @@index([endpoint])\n}\n\n// 一次采样 = 某源在 T 时刻的状态。counters 存累计值(查询时算 rate),histogram 存 buckets/sum/count。\n// gauges/counters/histograms/waitingByReason 都以 JSON 字符串落库(SQLite 无 JSON 列)。\nmodel InfraMetricSample {\n id String @id @default(cuid())\n sourceId String\n source InfraSource @relation(fields: [sourceId], references: [id], onDelete: Cascade)\n tsMs Float\n via String?\n model String?\n gauges String\n counters String\n histograms String\n waitingByReason String?\n createdAt DateTime @default(now())\n\n @@index([sourceId, tsMs])\n}\n",
715
- "inlineSchemaHash": "73dfac1b531a654ae34e25bf669e2b32ab1205c2b9757d45f496b0b8cce0c4e7",
737
+ "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../node_modules/.prisma/client\"\n}\n\ndatasource db {\n provider = \"sqlite\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel Skill {\n id String @id @default(cuid())\n name String\n category String @default(\"Other\")\n description String?\n tags String? // JSON string\n visibility String @default(\"private\") // public, team, private\n author String?\n user String? // Added for user isolation\n\n // Relations\n versions SkillVersion[]\n evaluations Evaluation[]\n issues SkillIssue[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n activeVersion Int? @default(0)\n isUploaded Boolean @default(false)\n\n @@unique([name, user]) // Skill names are unique per user\n}\n\nmodel SkillVersion {\n id String @id @default(cuid())\n skillId String\n version Int\n semanticVersion String? // 语义化版本号,用于企业同步\n enterpriseSkillId Int? // 企业skill的id,用于删除同步\n content String\n assetPath String?\n files String?\n changeLog String?\n createdAt DateTime @default(now())\n Skill Skill @relation(fields: [skillId], references: [id], onDelete: Cascade)\n\n @@unique([skillId, version])\n}\n\nmodel User {\n id String @id @default(cuid())\n username String @unique\n apiKey String @unique\n createdAt DateTime @default(now())\n}\n\nmodel Execution {\n id String @id @default(cuid()) // upload_id\n taskId String?\n query String?\n framework String?\n tokens Int?\n cost Float?\n latency Float?\n toolCallCount Int?\n llmCallCount Int?\n inputTokens Int?\n outputTokens Int?\n toolCallErrorCount Int?\n cacheReadInputTokens Int?\n cacheCreationInputTokens Int?\n maxSingleCallTokens Int?\n reasoningTokens Int?\n timestamp DateTime @default(now())\n model String?\n // 真实推理源 URL(scheme://host:port),用作 session↔infra 关联键。\n endpoint String?\n agentName String?\n agentId String?\n finalResult String?\n skill String?\n skills String? // JSON array of strings (skill names)\n invokedSkills String? // JSON array of {name: string, version: number | null}\n isSkillCorrect Boolean? @default(false)\n isAnswerCorrect Boolean? @default(false)\n answerScore Float?\n skillScore Float?\n judgmentReason String?\n failures String? // JSON array of failures objects\n skillIssues String? // JSON array of skill issue analysis\n skillVersion Int?\n label String?\n user String?\n // Execution-level trigger-accuracy metric: correct_invoked_skills / expected_skills (per execution).\n skillTriggerRate Float?\n // 写入时从 trace interactions 预解析的 agent 名列表(JSON string[],来自 extractObservedAgentNames)。\n // 让轻量列表(fields=light)无需加载/解析 session interactions 即可拿到完整 agents,根治堆 OOM 又不丢数据。\n observedAgents String?\n\n // --- 多 Agent 拆分字段 ---\n // 一次主 agent 的 trace 会被拆成 1 条 root execution + N 条 sub-agent execution,\n // 父子靠 parentExecutionId 串,整棵树共享 rootExecutionId。\n // 列表/聚合默认按 isSubagent=false 过滤 root;详情页可下钻到任意 sub-agent。\n parentExecutionId String? // null 表示 root;否则指向上一级 Execution.id\n rootExecutionId String? // 整棵树的根(root 自身可为 null 或自指)\n agentSessionId String? // 对应 framework 给的 sessionID(root 或 sub-agent 各自的)\n subagentType String? // 'kuafu' / 'general' / null(root)\n subagentName String? // 完整显示名(如 \"Kuafu (General Diagnostic Executor)\")\n isSubagent Boolean @default(false)\n\n // 反向关系:被多少次 Evaluation 评估过(dynamic 类型,重评懒删除)\n evaluations Evaluation[]\n traceEvaluations TraceEvaluation[]\n\n // 反向关系:这条 Execution(= 某一层 agent)本层实际调用的 skill(按 agent 作用域,不含子 agent)。\n // 可索引的多对多,替代 skills/invokedSkills JSON blob 做\"按 skill+version 反查 trace\"与统一筛选。\n executionSkills ExecutionSkill[]\n\n // Trace ↔ 用户标签的可索引绑定。系统标签不入库,由读路径派生。\n executionTags ExecutionTag[]\n\n @@index([parentExecutionId])\n @@index([rootExecutionId])\n @@index([isSubagent, timestamp])\n @@index([agentSessionId])\n // 主列表查询(链路追踪/概览)是 WHERE user=? AND isSubagent=false ORDER BY timestamp DESC。\n // 缺 user 维度时每个并发请求都要全表扫+排序;该复合索引让规划器按 (user,isSubagent) 定位后\n // 直接按 timestamp 倒序读,把高并发下的列表查询降为索引范围扫描。\n @@index([user, isSubagent, timestamp])\n}\n\n/// Trace 级通用评测明细:一行 = 一个 execution 的一个指标。\nmodel TraceEvaluation {\n id String @id @default(cuid())\n executionId String\n execution Execution @relation(fields: [executionId], references: [id], onDelete: Cascade)\n evaluatorId String\n evaluatorVersion String\n dimension String\n metricKey String\n status String @default(\"pending\") // pending | running | done | failed\n score Float? // 0–100;null = N/A\n method String\n confidence Float @default(0)\n evidenceJson String?\n note String?\n interactionsHash String\n errorMessage String?\n ranAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([executionId, evaluatorId, metricKey])\n @@index([executionId, status])\n}\n\n// Trace(= 单层 agent 的 Execution)↔ skill 的可索引绑定。\n//\n// 设计要点(见相关讨论):\n// - 作用域:每条 Execution 只绑定**该层 agent 自己显式调用**(skill/load_skill)的 skill;\n// 子 agent 的 skill 绑在子 agent 自己的 Execution 行上,不向上冒泡到父/root。\n// - 版本:skillVersion 在写入时定格(显式带版本则用之;否则取当时 Skill.activeVersion 快照),\n// 不随\"当前活跃版本\"漂移。null 表示无法解析出版本。\n// - 快照存名:不硬 FK 到 Skill/SkillVersion(它们 onDelete: Cascade),避免删 skill 抹掉历史 trace 绑定。\n// - 写入侧每次 save 先按 executionId 清空再重建,保证幂等(不依赖 NULL 版本的唯一约束语义)。\nmodel ExecutionSkill {\n id String @id @default(cuid())\n executionId String\n execution Execution @relation(fields: [executionId], references: [id], onDelete: Cascade)\n skillName String\n skillVersion Int? // 写入时定格的版本;null = 未解析出\n isPrimary Boolean @default(false) // 是否为该 Execution 的\"主/被评测 skill\"(对齐 Execution.skill)\n user String? // 跟随 trace,便于直接按 user 维度查\n createdAt DateTime @default(now())\n\n @@index([skillName, skillVersion]) // 按 skill@version 反查所有 trace(核心诉求)\n @@index([skillName]) // 按 skill 任意版本反查\n @@index([executionId])\n}\n\n// 用户可维护的 Trace 标签定义。kind = version | business。\n// 系统标签不存这里,避免用户编辑派生事实。\nmodel Tag {\n id String @id @default(cuid())\n name String\n description String?\n kind String\n color String\n createdBy String?\n user String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n executionTags ExecutionTag[]\n\n @@unique([user, kind, name])\n @@index([user, kind, createdAt])\n}\n\n// Trace ↔ 用户标签多对多绑定。硬删除 Tag 时级联清理绑定,Trace 本体保留。\nmodel ExecutionTag {\n id String @id @default(cuid())\n executionId String\n execution Execution @relation(fields: [executionId], references: [id], onDelete: Cascade)\n tagId String\n tag Tag @relation(fields: [tagId], references: [id], onDelete: Cascade)\n user String?\n createdBy String?\n createdAt DateTime @default(now())\n\n @@unique([executionId, tagId])\n @@index([tagId, createdAt])\n @@index([executionId])\n @@index([user, tagId])\n}\n\n/// 一次评估事件——静态评估和动态评估统一到这张表,按 type 区分。\n/// 详细设计见 docs/plans/2026-05-08-skill-opt-issues-api-design.md\nmodel Evaluation {\n id String @id @default(cuid())\n type String // 'static' | 'dynamic' | 'trigger'\n\n // 评估目标\n skillId String\n version Int\n user String?\n\n // dynamic 专用:指向被评估的 trace。同一条 trace 可被多个 evaluation 引用\n // (重评懒删除:旧 evaluation 不删,多个评估器并存)\n executionId String?\n Execution Execution? @relation(fields: [executionId], references: [id])\n\n // static 专用:内容 hash,作\"快速查最近一次同 content 的评估\"的索引线索\n // 不是 unique 约束——同 SkillVersion 允许多次重评(评估器自行决定 skip)\n contentHash String?\n l2ScoresJson String? // {Role:1-5, Structure:1-5, ...}(V2 接 LLM 5D 时填)\n\n // 通用元数据\n ranAt DateTime @default(now())\n status String @default(\"ok\") // 'ok' | 'partial' | 'failed'\n errorMessage String?\n durationMs Int?\n generator String? // 'static-linter@0.1' / 'judge.ts@1.2' 等\n\n // dynamic 评估批次(trajectory-evaluator 的 evaluatorRunId);用于过滤\"某轮评测产出的 issue\"\n runId String?\n\n Skill Skill @relation(fields: [skillId], references: [id], onDelete: Cascade)\n issues SkillIssue[]\n\n @@index([skillId, version])\n @@index([type, ranAt])\n @@index([skillId, version, type, contentHash]) // 评估器查\"最近一次同 content 评估\"用;非 unique\n @@index([executionId])\n @@index([runId])\n}\n\n/// 单个优化点。每行 = 一个独立 issue。\n/// FK 指向产生它的 Evaluation;source 字段从 Evaluation.type denormalize 过来便于热路径查询。\nmodel SkillIssue {\n id String @id @default(cuid())\n evaluationId String\n Evaluation Evaluation @relation(fields: [evaluationId], references: [id], onDelete: Cascade)\n\n // denormalized:避免热路径 join Evaluation\n source String // 'static' | 'dynamic' | 'feedback' | 'trigger'\n skillId String\n version Int\n user String?\n\n // 内容识别:跨 evaluation 聚合\"同一 issue\"的语义键\n // - static: ruleId(如 \"frontmatter_missing_name\")\n // - dynamic: hash6(content + explanation)\n dedupKey String\n\n // 内容字段(前端直接消费)\n severity String // 'high' | 'medium' | 'low'\n summary String\n evidence String?\n reasoning String?\n suggestedFix String?\n\n // 静态专用元数据(前端可忽略)\n ruleId String?\n dimension String? // L2 评估维度,纯审计\n\n // 业务分类(前端展示用):'轨迹偏差' | '关键观点遗漏' | '工具误用' | '静态扫描' | '其它'\n category String?\n\n // 解决标记:skill-opt 完成一轮优化后调 PATCH /resolve 把对应 id 置位;列表默认过滤\n resolvedAt DateTime?\n resolvedRunId String? // 哪轮 skill-opt(threadId)把它解掉的\n\n createdAt DateTime @default(now())\n\n Skill Skill @relation(fields: [skillId], references: [id], onDelete: Cascade)\n\n @@index([skillId, version, dedupKey]) // 跨 eval prevalence 聚合用\n @@index([evaluationId])\n @@index([source, severity]) // 前端按来源/严重度筛选\n @@index([skillId, version, resolvedAt]) // 列表默认过滤 resolvedAt = null\n}\n\nmodel Config {\n id String @id @default(cuid())\n query String?\n skill String @default(\"\") // Ground truth skill name (Legacy - use expectedSkills instead)\n skillVersion Int? // Expected skill version (Legacy - use expectedSkills instead)\n datasetType String @default(\"combined\") // combined | routing | outcome\n routingIntent String?\n routingAnchors String? // JSON array of semantic anchor phrases\n expectedSkills String? // JSON array of {skill: string, version: number | null}\n standardAnswer String\n rootCauses String? // JSON array\n keyActions String? // JSON array\n extractedKeyActions String? // JSON array of ExtractedKeyAction (auto-extracted from Skill)\n user String? // Added for user isolation\n parseStatus String @default(\"completed\") // parsing | completed | failed\n\n @@unique([query, user, datasetType]) // Allow routing and outcome datasets to coexist for one query\n}\n\nmodel Session {\n id String @id @default(cuid())\n taskId String @unique\n label String?\n query String?\n startTime DateTime @default(now())\n endTime DateTime?\n interactions String? // JSON array of interactions\n user String?\n model String?\n}\n\nmodel UserSettings {\n id String @id @default(cuid())\n user String @unique\n settingsJson String // Store ServerSettingsV2 as JSON string\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel ParsedFlow {\n id String @id @default(cuid())\n skillId String\n version Int\n user String?\n\n flowJson String? // JSON: { steps, branches }\n mermaidCode String? // Generated Mermaid code\n\n parsedAt DateTime @default(now())\n\n @@unique([skillId, version, user])\n}\n\nmodel ExecutionMatch {\n id String @id @default(cuid())\n executionId String @unique\n skillId String?\n skillVersion Int?\n user String?\n\n mode String @default(\"compare\") // \"compare\" or \"dynamic\"\n matchJson String? // JSON: { matches, summary }\n staticMermaid String? // Static flow Mermaid code\n dynamicMermaid String? // Dynamic flow Mermaid code\n analysisText String? // LLM analysis text\n extractedSteps String? // JSON: extracted steps from interactions\n\n interactionCount Int // Number of interactions at analysis time\n\n matchedAt DateTime @default(now())\n}\n\nmodel UserGuideState {\n id String @id @default(cuid())\n user String @unique\n guideDisabled Boolean @default(false)\n currentStep Int @default(0)\n completedSteps String @default(\"[]\")\n skippedSteps String @default(\"[]\")\n lastShownAt DateTime?\n dismissedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel SkillGeneratorSession {\n id String @id @default(cuid())\n title String @default(\"New Chat\")\n user String? // Link to user username\n files String @default(\"{}\") // Store FilesState as JSON string\n // 绑定到 opencode 后端的 sessionID;多轮对话时复用 opencode 内的对话上下文。\n // opencode server 重启会让此 ID 失效,bridge 检测到后自动起新 session(磁盘文件仍保留,agent 内对话历史会丢)。\n opencodeSessionId String?\n // 内部 agent tag 持久化:bridge 跑 runGeneralAgent 时会用 internal-agent-tag.ts 在内存里\n // 登记 opencodeSessionId → agentName/skill 映射,让 upload 路由把 plugin 默认填的字段\n // 覆写成正确的系统 agent 归属。但内存映射在 dev server 重启时会清空——重启前生成 session、\n // 重启后才被 uploader 上报的话,trace 里 agentName 就空了。这里把同一份信息冗余到 DB,\n // upload 路由内存查不到时回退读这里。\n agentName String?\n // SYSTEM_AGENTS 里该 agent 的 traceSkill 字段,缓存一份避免上报路径再 join 一次。\n agentTraceSkill String?\n messages SkillGeneratorMessage[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // 表名保留 PlaygroundSession,避免 DB 迁移;只把 Prisma model 层重命名以跟路由统一。\n @@map(\"PlaygroundSession\")\n}\n\nmodel SkillGeneratorMessage {\n id String @id @default(cuid())\n sessionId String\n session SkillGeneratorSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)\n role String // \"user\" | \"agent\"\n content String // Markdown content (text-only fallback for legacy clients)\n blocks String @default(\"[]\") // JSON-encoded Block[] — restores thinking/tool/download UI on reload\n createdAt DateTime @default(now())\n\n @@map(\"PlaygroundMessage\")\n}\n\n/// skill-opt 优化页的会话。结构镜像 PlaygroundSession,多两个业务字段(skillName/baseVersion)\n/// 标识\"哪个 skill 哪个 base 版本起的优化\"。详见 docs/plans/2026-05-09-skill-opt-history-design.md。\nmodel SkillOptSession {\n id String @id @default(cuid())\n user String? // username(与其它表对齐)\n skillName String\n baseVersion Int\n title String @default(\"新对话\")\n files String @default(\"{}\") // 最新 vfs 的全量文件 JSON\n // opencode 多轮上下文复用;server 重启失效时 bridge 自动起新 session\n opencodeSessionId String?\n // 同 PlaygroundSession:trace 归属冗余字段,dev server 重启后内存 tag 失效时回退用\n agentName String?\n agentTraceSkill String?\n messages SkillOptMessage[]\n iterations SkillOptIteration[]\n plan SkillOptPlan?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // 列表页核心查询:按 user + skill + baseVersion 列出最近会话\n @@index([user, skillName, baseVersion, updatedAt])\n}\n\n/// 一轮优化会话入口处由归并算子产出的统一优化计划。\n/// SkillIssue 是不可变的原始发现台账(跨 eval 累积);plan 是它的归并视图,\n/// 生命周期 = 一轮会话 + 一个 baseVersion,不回写台账。\n/// 设计:docs/plans/2026-06-10-skill-issue-merge-conflict-plan-design.md\nmodel SkillOptPlan {\n id String @id @default(cuid())\n sessionId String @unique // 一轮会话至多一份 plan\n session SkillOptSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)\n skillId String\n baseVersion Int\n status String @default(\"draft\") // draft | confirmed | applied | abandoned\n operatorMeta String @default(\"{}\") // JSON:批数/层数/模型/耗时,纯审计\n createdAt DateTime @default(now())\n items SkillOptPlanItem[]\n\n @@index([skillId, baseVersion])\n}\n\nmodel SkillOptPlanItem {\n id String @id @default(cuid())\n planId String\n plan SkillOptPlan @relation(fields: [planId], references: [id], onDelete: Cascade)\n rank Int // 展示与应用顺序(prevalence×severity 降序)\n route String // 'core' | 'reference' | 'backlog'\n status String @default(\"pending\") // pending | conflict | applied | deferred | dismissed\n title String\n rationale String // 归并理由:为什么这些 issue 是一件事 + 综合后的修改方向\n severity String @default(\"medium\") // 'high' | 'medium' | 'low'(归并后的代表严重度)\n targetFile String? // 锚点:相对 baseVersion 快照的文件路径\n anchorText String? // 锚点:目标位置原文片段 / section 标题\n proposedEdit String? // 建议修改(diff 或指令式描述)\n conflictNote String? // status='conflict' 时的矛盾说明,给用户仲裁\n sourceIssueIds String @default(\"[]\") // JSON string[]:归并自哪些 SkillIssue.id\n sourcesBreakdown String @default(\"{}\") // JSON:{\"static\":n,\"dynamic\":m,\"trigger\":k}\n prevalence Int @default(1) // Σ 源 issues 的 prevalenceCount\n createdAt DateTime @default(now())\n\n @@index([planId, rank])\n}\n\nmodel SkillOptMessage {\n id String @id @default(cuid())\n sessionId String\n session SkillOptSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)\n role String // \"user\" | \"agent\"\n content String // markdown 兜底\n blocks String @default(\"[]\") // JSON Block[],复用 playground Block 协议\n createdAt DateTime @default(now())\n\n @@index([sessionId, createdAt])\n}\n\n/// 一次 agent turn 跑完后产生的\"草稿\"快照——files 全量 + agent 修改总结 + 这次处理了哪些 issue。\n/// 用户点开历史会话时,diff viewer 用它还原\"v{N} → 草稿 #M\"的对比和优化报告。\nmodel SkillOptIteration {\n id String @id @default(cuid())\n sessionId String\n session SkillOptSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)\n /// session 内的草稿编号(递增;UI 显示为 \"草稿 #N\")\n draftNumber Int\n /// agent 输出的\"## 修改总结\" markdown 主体,作为优化报告正文\n summary String\n /// 全量文件快照 JSON:{ relPath: content }\n files String\n /// 这次处理的 issue id 列表 JSON。reload 后 UI 上\"已优化\"标记基于它重建\n resolvedIssueIds String @default(\"[]\")\n createdAt DateTime @default(now())\n\n @@unique([sessionId, draftNumber])\n @@index([sessionId, createdAt])\n}\n\n/// 用户自建评估器列表(整段 JSON);预置评估器不入库。\nmodel CustomEvaluatorList {\n user String @id // username,与其它表的 user 一致\n itemsJson String @default(\"[]\")\n updatedAt DateTime @updatedAt\n}\n\n/// 评测集定义与数据项(cases 存 JSON)\nmodel AgentEvalDataset {\n id String @id\n user String\n name String\n description String @default(\"\")\n targetAgent String @default(\"\")\n /// 服务于哪个 skill;为空表示通用 agent eval(不绑定 skill)。skill 生成时\n /// 自动起草的行为评测集会填这个字段(用 Skill.name)。\n targetSkill String @default(\"\")\n tagsJson String @default(\"[]\")\n casesJson String @default(\"[]\")\n datasetKind String @default(\"ideal_output\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([user])\n @@index([user, targetSkill])\n}\n\nmodel DebugHistory {\n id String @id @default(cuid())\n user String\n skillId String\n skillName String\n versionA String\n versionB String\n query String\n temperature String\n resultsJson String // Store results as JSON string\n createdAt DateTime @default(now())\n\n @@index([user])\n}\n\nmodel BatchEvalTask {\n id String @id @default(cuid())\n user String\n taskName String\n configJson String @default(\"{}\") // { datasetIds, skillId, versionId, sourceMode, evaluatorId, traceSkillId, ... }\n caseStatesJson String @default(\"{}\") // { [caseId]: CaseState }\n traceEvalStatesJson String @default(\"{}\") // { [key]: TraceEvalStateInfo } — trace-mode eval states\n createdAt DateTime @default(now())\n\n @@index([user])\n}\n\nmodel GrayscaleTask {\n id String @id @default(cuid())\n user String\n skillId String\n skillName String\n skillVersion Int\n skillVersionId String\n taskName String\n configJson String @default(\"{}\") // { datasetIds, skillId, versionAId, versionBId };skillId/versionBId 必须等于任务绑定 skill + B 版本\n caseStatesJson String @default(\"{}\") // { [caseId]: { a: PerVersionState, b: PerVersionState } }\n createdAt DateTime @default(now())\n\n // 任务名作为身份的一部分:同一 (user, skill, 版本) 下允许多个不同名的 A/B 任务。\n // 之前是 @@unique([user, skillName, skillVersion])(每个版本仅一个),拓宽后:\n // - 新名字 → 建新任务;同名+同版本 → 命中已有(创建路由按这四元组判重)。\n // - 改名是原地 PATCH(甲语义),只在改成\"同版本已存在的别的名字\"时才会撞键。\n @@unique([user, skillName, skillVersion, taskName])\n @@index([user])\n @@index([user, skillId])\n @@index([user, skillId, skillVersion])\n}\n\n/// Persisted debug job results — survives server restarts\nmodel DebugJobResult {\n id String @id // jobId\n user String\n status String // \"completed\" | \"failed\"\n output String?\n timeCost String?\n tokenUsage Int?\n sessionId String? // opencode session id — used for Trace link and trajectory eval\n error String?\n createdAt DateTime @default(now())\n\n @@index([user])\n}\n\n/// 轨迹评估器单次评测结果(one row = one case × one execution trace)\n/// 由 trajectory-evaluator(deepagents)产出。同一 (datasetId, caseId, executionId)\n/// 可重跑多次 → 多行历史,按 evaluatorRunId 分组。\n/// 对接 EvaluatorsCenter 中预置评估器 preset-agent-trace-quality 的执行链路。\nmodel TrajectoryEvalResult {\n id String @id @default(cuid())\n user String\n evaluatorRunId String\n datasetId String\n caseId String\n executionId String?\n taskId String?\n status String @default(\"pending\") // pending | running | done | failed\n errorMessage String?\n\n trajectoryScore Float?\n /// JSON: { completeness, toolChoice, redundancy, attribution }\n dimensionScoresJson String?\n /// JSON: 偏离步骤列表 [{ stepIndex, kind, name, deviation, severity }]\n deviationStepsJson String?\n rootCauseStep String?\n reasonText String?\n /// 评估器原始输出(含 subagent 中间结果)\n rawAnalysisJson String?\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([user])\n @@index([datasetId])\n @@index([executionId])\n @@index([evaluatorRunId])\n}\n\nmodel RegisteredAgent {\n id String @id @default(cuid())\n platform String\n name String\n description String?\n user String?\n agentType String @default(\"main\")\n agentOwnership String @default(\"user\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([platform, name, user])\n}\n\nmodel FaultDiagnosisSession {\n id String @id @default(cuid())\n executionId String @unique\n user String?\n opencodeSessionId String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n messages FaultDiagnosisMessage[]\n}\n\nmodel FaultDiagnosisMessage {\n id String @id @default(cuid())\n sessionId String\n session FaultDiagnosisSession @relation(fields: [sessionId], references: [id], onDelete: Cascade)\n role String\n content String\n createdAt DateTime @default(now())\n}\n\nmodel AgentDebugReport {\n id String @id @default(cuid())\n executionId String @unique\n user String?\n interactionsHash String\n status String @default(\"pending\") // pending | running | done | failed\n errorMessage String?\n\n reportJson String?\n stepCount Int @default(0)\n issueCount Int @default(0)\n llmCallCount Int @default(0)\n durationMs Int?\n generator String @default(\"agent-debug-diagnosis-skill@0.1\")\n\n ranAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([user, ranAt])\n @@index([status])\n}\n\nmodel AgentDebugSkillsAnalysis {\n id String @id @default(cuid())\n executionId String @unique\n user String?\n interactionsHash String\n status String @default(\"pending\") // pending | running | done | failed\n errorMessage String?\n\n analysisJson String?\n keyActionCount Int @default(0)\n\n ranAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([user, ranAt])\n @@index([status])\n}\n\n// 注:旧 `SkillOptimizationPoint` 单表方案已废弃,统一收敛到 `Evaluation` + `SkillIssue`\n// 两表设计(详见 docs/plans/2026-05-08-skill-opt-issues-api-design.md)。\n// `SkillIssue.category` / `resolvedAt` / `resolvedRunId` + `Evaluation.runId` 把原表能力\n// 全部覆盖;frequency 合并由读取时的 prevalenceCount 派生(重评懒删除模型)。\n\n// =========================================================================\n// Skill 触发评价集(TriggerTestSet)—— 给 skill 分析页\"触发分析\"卡用\n// 详见 docs/designs/agents/skill-eval-datasets/design.md\n// =========================================================================\n\nmodel SkillTriggerEvalSet {\n id String @id @default(cuid())\n user String\n /// (user, skillName) 下的一个**版本快照**——一行 = 一个数据集版本\n skillName String\n /// 同 (user, skillName) 下递增;最大版本即「latest / 当前可编辑版本」\n version Int @default(1)\n /// 该版本怎么来:'llm-draft' | 'user-upload' | 'manual'\n versionSource String @default(\"manual\")\n /// 可选备注:上传时落文件名,AI 起草时落模型名等\n versionNote String?\n description String @default(\"\")\n /// JSON array of { id, query, shouldTrigger, rationale?, source }\n /// source: 'llm-draft' | 'user-added' | 'user-edited' | 'trace-mined'\n itemsJson String @default(\"[]\")\n /// 起草时基于的 SKILL.md 内容 hash(sha256 前 16 位即可)\n /// 用于后续判断 SKILL.md 改了之后要不要建议\"重新起草\"\n draftedFromSkillHash String?\n /// 起草状态:'drafting' | 'ready'(生成 pipeline 异步起草时 drafting,完成后 ready)\n status String @default(\"ready\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([user, skillName, version])\n @@index([user, skillName])\n}\n\nmodel SkillTriggerEvalRun {\n id String @id @default(cuid())\n user String\n skillName String\n skillVersion Int\n /// FK 到 SkillTriggerEvalSet(按 user+skillName 唯一,不用 id 关联也行;这里冗余 id 方便排障)\n triggerSetId String\n /// JSON array of { itemId, query, shouldTrigger, runsTriggered, runsTotal, triggerRate, pass, latencyMsAvg, competingSkill? }\n /// competingSkill: 命中的不是本 skill 而是别的 skill(兄弟竞争诊断)\n resultsJson String @default(\"[]\")\n passRate Float @default(0)\n truePositiveRate Float @default(0)\n falsePositiveRate Float @default(0)\n runsPerQuery Int @default(1)\n triggerThreshold Float @default(0.5)\n timeoutMs Int @default(30000)\n durationMs Int?\n modelId String?\n /// opencode 看到的项目根目录(worktree path),便于排障\n workspaceRoot String?\n /// 'running' | 'done' | 'failed'\n status String @default(\"running\")\n errorMessage String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([user, skillName, skillVersion, createdAt])\n}\n\n// 会话级 infra 关联的人工覆盖:按整棵 trace 树(rootExecutionId)存一组关联。\n// 存在行 = 人工权威集合(覆盖按 endpoint 的自动推断);无行 = 走自动推断。\nmodel SessionInfraLink {\n id String @id @default(cuid())\n rootExecutionId String\n sourceId String\n model String?\n createdAt DateTime @default(now())\n\n @@unique([rootExecutionId, sourceId, model])\n @@index([rootExecutionId])\n}\n\n// 已注册的「AI 推理 infra 源」(任意暴露 Prometheus /metrics 的 vLLM/OpenAI 兼容服务)。\n// endpoint = scheme://host:port,既是展示身份也是 session↔infra 的关联键。\nmodel InfraSource {\n id String @id @default(cuid())\n endpoint String @unique\n scrapeUrl String\n kind String @default(\"pull\") // pull | push\n model String?\n hardwareName String?\n memBandwidthGBs Float?\n scrapeIntervalMs Int @default(1000)\n enabled Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n samples InfraMetricSample[]\n\n @@index([endpoint])\n}\n\n// 一次采样 = 某源在 T 时刻的状态。counters 存累计值(查询时算 rate),histogram 存 buckets/sum/count。\n// gauges/counters/histograms/waitingByReason 都以 JSON 字符串落库(SQLite 无 JSON 列)。\nmodel InfraMetricSample {\n id String @id @default(cuid())\n sourceId String\n source InfraSource @relation(fields: [sourceId], references: [id], onDelete: Cascade)\n tsMs Float\n via String?\n model String?\n gauges String\n counters String\n histograms String\n waitingByReason String?\n createdAt DateTime @default(now())\n\n @@index([sourceId, tsMs])\n}\n",
738
+ "inlineSchemaHash": "dcd6181e6f58551c455b01800a1918a06962dd4976a335fb57c07d8f51192250",
716
739
  "copyEngine": true
717
740
  }
718
741
  config.dirname = '/'
719
742
 
720
- config.runtimeDataModel = JSON.parse("{\"models\":{\"Skill\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"category\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"Other\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tags\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"visibility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"private\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"author\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"versions\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillVersion\",\"relationName\":\"SkillToSkillVersion\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"evaluations\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Evaluation\",\"relationName\":\"EvaluationToSkill\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"issues\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillIssue\",\"relationName\":\"SkillToSkillIssue\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"activeVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isUploaded\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"name\",\"user\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"name\",\"user\"]}],\"isGenerated\":false},\"SkillVersion\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"semanticVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"enterpriseSkillId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"content\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assetPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"files\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changeLog\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"Skill\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Skill\",\"relationName\":\"SkillToSkillVersion\",\"relationFromFields\":[\"skillId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"skillId\",\"version\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"skillId\",\"version\"]}],\"isGenerated\":false},\"User\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"username\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apiKey\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Execution\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"taskId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"query\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"framework\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokens\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cost\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"latency\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"toolCallCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"llmCallCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"inputTokens\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"outputTokens\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"toolCallErrorCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cacheReadInputTokens\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cacheCreationInputTokens\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxSingleCallTokens\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reasoningTokens\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"model\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endpoint\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"agentName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"agentId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"finalResult\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skill\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invokedSkills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isSkillCorrect\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isAnswerCorrect\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"answerScore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillScore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"judgmentReason\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"failures\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillIssues\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"label\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillTriggerRate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"observedAgents\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"parentExecutionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rootExecutionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"agentSessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subagentType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subagentName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isSubagent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"evaluations\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Evaluation\",\"relationName\":\"EvaluationToExecution\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"traceEvaluations\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"TraceEvaluation\",\"relationName\":\"ExecutionToTraceEvaluation\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionSkills\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ExecutionSkill\",\"relationName\":\"ExecutionToExecutionSkill\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"TraceEvaluation\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"execution\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Execution\",\"relationName\":\"ExecutionToTraceEvaluation\",\"relationFromFields\":[\"executionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"evaluatorId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"evaluatorVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dimension\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metricKey\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"pending\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"score\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"method\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confidence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"evidenceJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"note\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"interactionsHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ranAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"executionId\",\"evaluatorId\",\"metricKey\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"executionId\",\"evaluatorId\",\"metricKey\"]}],\"isGenerated\":false,\"documentation\":\"Trace 级通用评测明细:一行 = 一个 execution 的一个指标。\"},\"ExecutionSkill\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"execution\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Execution\",\"relationName\":\"ExecutionToExecutionSkill\",\"relationFromFields\":[\"executionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isPrimary\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Evaluation\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"Execution\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Execution\",\"relationName\":\"EvaluationToExecution\",\"relationFromFields\":[\"executionId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contentHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"l2ScoresJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ranAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"ok\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"durationMs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"generator\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"runId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"Skill\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Skill\",\"relationName\":\"EvaluationToSkill\",\"relationFromFields\":[\"skillId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"issues\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillIssue\",\"relationName\":\"EvaluationToSkillIssue\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"一次评估事件——静态评估和动态评估统一到这张表,按 type 区分。\\\\n详细设计见 docs/plans/2026-05-08-skill-opt-issues-api-design.md\"},\"SkillIssue\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"evaluationId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"Evaluation\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Evaluation\",\"relationName\":\"EvaluationToSkillIssue\",\"relationFromFields\":[\"evaluationId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"source\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dedupKey\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"severity\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"summary\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"evidence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reasoning\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"suggestedFix\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ruleId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dimension\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"category\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resolvedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resolvedRunId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"Skill\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Skill\",\"relationName\":\"SkillToSkillIssue\",\"relationFromFields\":[\"skillId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"单个优化点。每行 = 一个独立 issue。\\\\nFK 指向产生它的 Evaluation;source 字段从 Evaluation.type denormalize 过来便于热路径查询。\"},\"Config\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"query\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skill\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"datasetType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"combined\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"routingIntent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"routingAnchors\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expectedSkills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"standardAnswer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rootCauses\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"keyActions\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"extractedKeyActions\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"parseStatus\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"completed\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"query\",\"user\",\"datasetType\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"query\",\"user\",\"datasetType\"]}],\"isGenerated\":false},\"Session\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"taskId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"label\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"query\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"startTime\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endTime\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"interactions\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"model\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"UserSettings\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"settingsJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ParsedFlow\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"flowJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mermaidCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"parsedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"skillId\",\"version\",\"user\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"skillId\",\"version\",\"user\"]}],\"isGenerated\":false},\"ExecutionMatch\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"compare\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"staticMermaid\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dynamicMermaid\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"analysisText\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"extractedSteps\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"interactionCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"UserGuideState\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"guideDisabled\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentStep\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"completedSteps\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skippedSteps\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastShownAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dismissedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SkillGeneratorSession\":{\"dbName\":\"PlaygroundSession\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"New Chat\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"files\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"opencodeSessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"agentName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"agentTraceSkill\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"messages\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillGeneratorMessage\",\"relationName\":\"SkillGeneratorMessageToSkillGeneratorSession\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SkillGeneratorMessage\":{\"dbName\":\"PlaygroundMessage\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"session\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillGeneratorSession\",\"relationName\":\"SkillGeneratorMessageToSkillGeneratorSession\",\"relationFromFields\":[\"sessionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"role\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"content\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"blocks\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SkillOptSession\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"baseVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"新对话\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"files\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"opencodeSessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"agentName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"agentTraceSkill\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"messages\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillOptMessage\",\"relationName\":\"SkillOptMessageToSkillOptSession\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"iterations\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillOptIteration\",\"relationName\":\"SkillOptIterationToSkillOptSession\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"plan\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillOptPlan\",\"relationName\":\"SkillOptPlanToSkillOptSession\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"skill-opt 优化页的会话。结构镜像 PlaygroundSession,多两个业务字段(skillName/baseVersion)\\\\n标识\\\"哪个 skill 哪个 base 版本起的优化\\\"。详见 docs/plans/2026-05-09-skill-opt-history-design.md。\"},\"SkillOptPlan\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"session\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillOptSession\",\"relationName\":\"SkillOptPlanToSkillOptSession\",\"relationFromFields\":[\"sessionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"baseVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"draft\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"operatorMeta\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"items\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillOptPlanItem\",\"relationName\":\"SkillOptPlanToSkillOptPlanItem\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"一轮优化会话入口处由归并算子产出的统一优化计划。\\\\nSkillIssue 是不可变的原始发现台账(跨 eval 累积);plan 是它的归并视图,\\\\n生命周期 = 一轮会话 + 一个 baseVersion,不回写台账。\\\\n设计:docs/plans/2026-06-10-skill-issue-merge-conflict-plan-design.md\"},\"SkillOptPlanItem\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"planId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"plan\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillOptPlan\",\"relationName\":\"SkillOptPlanToSkillOptPlanItem\",\"relationFromFields\":[\"planId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"route\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"pending\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rationale\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"severity\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"medium\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"targetFile\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"anchorText\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"proposedEdit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"conflictNote\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceIssueIds\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourcesBreakdown\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"prevalence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SkillOptMessage\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"session\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillOptSession\",\"relationName\":\"SkillOptMessageToSkillOptSession\",\"relationFromFields\":[\"sessionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"role\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"content\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"blocks\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SkillOptIteration\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"session\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillOptSession\",\"relationName\":\"SkillOptIterationToSkillOptSession\",\"relationFromFields\":[\"sessionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"draftNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"session 内的草稿编号(递增;UI 显示为 \\\"草稿 #N\\\")\"},{\"name\":\"summary\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"agent 输出的\\\"## 修改总结\\\" markdown 主体,作为优化报告正文\"},{\"name\":\"files\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"全量文件快照 JSON:{ relPath: content }\"},{\"name\":\"resolvedIssueIds\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"这次处理的 issue id 列表 JSON。reload 后 UI 上\\\"已优化\\\"标记基于它重建\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"sessionId\",\"draftNumber\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"sessionId\",\"draftNumber\"]}],\"isGenerated\":false,\"documentation\":\"一次 agent turn 跑完后产生的\\\"草稿\\\"快照——files 全量 + agent 修改总结 + 这次处理了哪些 issue。\\\\n用户点开历史会话时,diff viewer 用它还原\\\"v{N} → 草稿 #M\\\"的对比和优化报告。\"},\"CustomEvaluatorList\":{\"dbName\":null,\"fields\":[{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"itemsJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"用户自建评估器列表(整段 JSON);预置评估器不入库。\"},\"AgentEvalDataset\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"targetAgent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"targetSkill\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"服务于哪个 skill;为空表示通用 agent eval(不绑定 skill)。skill 生成时\\\\n自动起草的行为评测集会填这个字段(用 Skill.name)。\"},{\"name\":\"tagsJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"casesJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"datasetKind\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"ideal_output\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"评测集定义与数据项(cases 存 JSON)\"},\"DebugHistory\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"versionA\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"versionB\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"query\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"temperature\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resultsJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"BatchEvalTask\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"taskName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"configJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"caseStatesJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"traceEvalStatesJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"GrayscaleTask\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillVersionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"taskName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"configJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"caseStatesJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"user\",\"skillName\",\"skillVersion\",\"taskName\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"user\",\"skillName\",\"skillVersion\",\"taskName\"]}],\"isGenerated\":false},\"DebugJobResult\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"output\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timeCost\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"error\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"Persisted debug job results — survives server restarts\"},\"TrajectoryEvalResult\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"evaluatorRunId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"datasetId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"caseId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"taskId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"pending\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"trajectoryScore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dimensionScoresJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"JSON: { completeness, toolChoice, redundancy, attribution }\"},{\"name\":\"deviationStepsJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"JSON: 偏离步骤列表 [{ stepIndex, kind, name, deviation, severity }]\"},{\"name\":\"rootCauseStep\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reasonText\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rawAnalysisJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"评估器原始输出(含 subagent 中间结果)\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"轨迹评估器单次评测结果(one row = one case × one execution trace)\\\\n由 trajectory-evaluator(deepagents)产出。同一 (datasetId, caseId, executionId)\\\\n可重跑多次 → 多行历史,按 evaluatorRunId 分组。\\\\n对接 EvaluatorsCenter 中预置评估器 preset-agent-trace-quality 的执行链路。\"},\"RegisteredAgent\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"platform\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"agentType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"main\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"agentOwnership\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"user\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"platform\",\"name\",\"user\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"platform\",\"name\",\"user\"]}],\"isGenerated\":false},\"FaultDiagnosisSession\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"opencodeSessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"messages\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FaultDiagnosisMessage\",\"relationName\":\"FaultDiagnosisMessageToFaultDiagnosisSession\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"FaultDiagnosisMessage\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"session\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FaultDiagnosisSession\",\"relationName\":\"FaultDiagnosisMessageToFaultDiagnosisSession\",\"relationFromFields\":[\"sessionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"role\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"content\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AgentDebugReport\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"interactionsHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"pending\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reportJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stepCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"issueCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"llmCallCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"durationMs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"generator\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"agent-debug-diagnosis-skill@0.1\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ranAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AgentDebugSkillsAnalysis\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"interactionsHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"pending\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"analysisJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"keyActionCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ranAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SkillTriggerEvalSet\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"(user, skillName) 下的一个**版本快照**——一行 = 一个数据集版本\"},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"同 (user, skillName) 下递增;最大版本即「latest / 当前可编辑版本」\"},{\"name\":\"versionSource\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"manual\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"该版本怎么来:'llm-draft' | 'user-upload' | 'manual'\"},{\"name\":\"versionNote\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"可选备注:上传时落文件名,AI 起草时落模型名等\"},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"itemsJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"JSON array of { id, query, shouldTrigger, rationale?, source }\\\\nsource: 'llm-draft' | 'user-added' | 'user-edited' | 'trace-mined'\"},{\"name\":\"draftedFromSkillHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"起草时基于的 SKILL.md 内容 hash(sha256 前 16 位即可)\\\\n用于后续判断 SKILL.md 改了之后要不要建议\\\"重新起草\\\"\"},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"ready\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"起草状态:'drafting' | 'ready'(生成 pipeline 异步起草时 drafting,完成后 ready)\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"user\",\"skillName\",\"version\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"user\",\"skillName\",\"version\"]}],\"isGenerated\":false},\"SkillTriggerEvalRun\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"triggerSetId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"FK 到 SkillTriggerEvalSet(按 user+skillName 唯一,不用 id 关联也行;这里冗余 id 方便排障)\"},{\"name\":\"resultsJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"JSON array of { itemId, query, shouldTrigger, runsTriggered, runsTotal, triggerRate, pass, latencyMsAvg, competingSkill? }\\\\ncompetingSkill: 命中的不是本 skill 而是别的 skill(兄弟竞争诊断)\"},{\"name\":\"passRate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"truePositiveRate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"falsePositiveRate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"runsPerQuery\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"triggerThreshold\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"default\":0.5,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timeoutMs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":30000,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"durationMs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"modelId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"workspaceRoot\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"opencode 看到的项目根目录(worktree path),便于排障\"},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"running\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"'running' | 'done' | 'failed'\"},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SessionInfraLink\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rootExecutionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"model\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"rootExecutionId\",\"sourceId\",\"model\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"rootExecutionId\",\"sourceId\",\"model\"]}],\"isGenerated\":false},\"InfraSource\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endpoint\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"scrapeUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"kind\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"pull\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"model\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hardwareName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memBandwidthGBs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"scrapeIntervalMs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1000,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"enabled\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"samples\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InfraMetricSample\",\"relationName\":\"InfraMetricSampleToInfraSource\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"InfraMetricSample\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"source\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InfraSource\",\"relationName\":\"InfraMetricSampleToInfraSource\",\"relationFromFields\":[\"sourceId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tsMs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"via\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"model\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gauges\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"counters\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"histograms\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"waitingByReason\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}")
743
+ config.runtimeDataModel = JSON.parse("{\"models\":{\"Skill\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"category\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"Other\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tags\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"visibility\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"private\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"author\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"versions\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillVersion\",\"relationName\":\"SkillToSkillVersion\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"evaluations\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Evaluation\",\"relationName\":\"EvaluationToSkill\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"issues\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillIssue\",\"relationName\":\"SkillToSkillIssue\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"activeVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isUploaded\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"name\",\"user\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"name\",\"user\"]}],\"isGenerated\":false},\"SkillVersion\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"semanticVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"enterpriseSkillId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"content\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assetPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"files\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changeLog\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"Skill\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Skill\",\"relationName\":\"SkillToSkillVersion\",\"relationFromFields\":[\"skillId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"skillId\",\"version\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"skillId\",\"version\"]}],\"isGenerated\":false},\"User\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"username\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apiKey\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Execution\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"taskId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"query\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"framework\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokens\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cost\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"latency\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"toolCallCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"llmCallCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"inputTokens\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"outputTokens\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"toolCallErrorCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cacheReadInputTokens\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cacheCreationInputTokens\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maxSingleCallTokens\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reasoningTokens\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timestamp\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"model\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endpoint\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"agentName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"agentId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"finalResult\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skill\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invokedSkills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isSkillCorrect\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isAnswerCorrect\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"answerScore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillScore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"judgmentReason\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"failures\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillIssues\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"label\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillTriggerRate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"observedAgents\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"parentExecutionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rootExecutionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"agentSessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subagentType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subagentName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isSubagent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"evaluations\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Evaluation\",\"relationName\":\"EvaluationToExecution\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"traceEvaluations\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"TraceEvaluation\",\"relationName\":\"ExecutionToTraceEvaluation\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionSkills\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ExecutionSkill\",\"relationName\":\"ExecutionToExecutionSkill\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionTags\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ExecutionTag\",\"relationName\":\"ExecutionToExecutionTag\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"TraceEvaluation\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"execution\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Execution\",\"relationName\":\"ExecutionToTraceEvaluation\",\"relationFromFields\":[\"executionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"evaluatorId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"evaluatorVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dimension\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metricKey\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"pending\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"score\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"method\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confidence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"evidenceJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"note\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"interactionsHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ranAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"executionId\",\"evaluatorId\",\"metricKey\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"executionId\",\"evaluatorId\",\"metricKey\"]}],\"isGenerated\":false,\"documentation\":\"Trace 级通用评测明细:一行 = 一个 execution 的一个指标。\"},\"ExecutionSkill\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"execution\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Execution\",\"relationName\":\"ExecutionToExecutionSkill\",\"relationFromFields\":[\"executionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isPrimary\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Tag\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"kind\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"color\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"executionTags\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ExecutionTag\",\"relationName\":\"ExecutionTagToTag\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"user\",\"kind\",\"name\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"user\",\"kind\",\"name\"]}],\"isGenerated\":false},\"ExecutionTag\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"execution\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Execution\",\"relationName\":\"ExecutionToExecutionTag\",\"relationFromFields\":[\"executionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tagId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tag\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Tag\",\"relationName\":\"ExecutionTagToTag\",\"relationFromFields\":[\"tagId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"executionId\",\"tagId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"executionId\",\"tagId\"]}],\"isGenerated\":false},\"Evaluation\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"Execution\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Execution\",\"relationName\":\"EvaluationToExecution\",\"relationFromFields\":[\"executionId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contentHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"l2ScoresJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ranAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"ok\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"durationMs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"generator\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"runId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"Skill\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Skill\",\"relationName\":\"EvaluationToSkill\",\"relationFromFields\":[\"skillId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"issues\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillIssue\",\"relationName\":\"EvaluationToSkillIssue\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"一次评估事件——静态评估和动态评估统一到这张表,按 type 区分。\\\\n详细设计见 docs/plans/2026-05-08-skill-opt-issues-api-design.md\"},\"SkillIssue\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"evaluationId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"Evaluation\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Evaluation\",\"relationName\":\"EvaluationToSkillIssue\",\"relationFromFields\":[\"evaluationId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"source\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dedupKey\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"severity\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"summary\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"evidence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reasoning\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"suggestedFix\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ruleId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dimension\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"category\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resolvedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resolvedRunId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"Skill\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Skill\",\"relationName\":\"SkillToSkillIssue\",\"relationFromFields\":[\"skillId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"单个优化点。每行 = 一个独立 issue。\\\\nFK 指向产生它的 Evaluation;source 字段从 Evaluation.type denormalize 过来便于热路径查询。\"},\"Config\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"query\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skill\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"datasetType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"combined\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"routingIntent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"routingAnchors\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expectedSkills\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"standardAnswer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rootCauses\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"keyActions\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"extractedKeyActions\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"parseStatus\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"completed\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"query\",\"user\",\"datasetType\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"query\",\"user\",\"datasetType\"]}],\"isGenerated\":false},\"Session\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"taskId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"label\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"query\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"startTime\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endTime\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"interactions\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"model\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"UserSettings\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"settingsJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ParsedFlow\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"flowJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mermaidCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"parsedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"skillId\",\"version\",\"user\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"skillId\",\"version\",\"user\"]}],\"isGenerated\":false},\"ExecutionMatch\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"compare\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"staticMermaid\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dynamicMermaid\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"analysisText\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"extractedSteps\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"interactionCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"UserGuideState\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"guideDisabled\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentStep\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"completedSteps\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skippedSteps\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastShownAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dismissedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SkillGeneratorSession\":{\"dbName\":\"PlaygroundSession\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"New Chat\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"files\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"opencodeSessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"agentName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"agentTraceSkill\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"messages\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillGeneratorMessage\",\"relationName\":\"SkillGeneratorMessageToSkillGeneratorSession\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SkillGeneratorMessage\":{\"dbName\":\"PlaygroundMessage\",\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"session\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillGeneratorSession\",\"relationName\":\"SkillGeneratorMessageToSkillGeneratorSession\",\"relationFromFields\":[\"sessionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"role\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"content\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"blocks\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SkillOptSession\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"baseVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"新对话\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"files\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"opencodeSessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"agentName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"agentTraceSkill\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"messages\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillOptMessage\",\"relationName\":\"SkillOptMessageToSkillOptSession\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"iterations\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillOptIteration\",\"relationName\":\"SkillOptIterationToSkillOptSession\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"plan\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillOptPlan\",\"relationName\":\"SkillOptPlanToSkillOptSession\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"skill-opt 优化页的会话。结构镜像 PlaygroundSession,多两个业务字段(skillName/baseVersion)\\\\n标识\\\"哪个 skill 哪个 base 版本起的优化\\\"。详见 docs/plans/2026-05-09-skill-opt-history-design.md。\"},\"SkillOptPlan\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"session\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillOptSession\",\"relationName\":\"SkillOptPlanToSkillOptSession\",\"relationFromFields\":[\"sessionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"baseVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"draft\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"operatorMeta\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"items\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillOptPlanItem\",\"relationName\":\"SkillOptPlanToSkillOptPlanItem\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"一轮优化会话入口处由归并算子产出的统一优化计划。\\\\nSkillIssue 是不可变的原始发现台账(跨 eval 累积);plan 是它的归并视图,\\\\n生命周期 = 一轮会话 + 一个 baseVersion,不回写台账。\\\\n设计:docs/plans/2026-06-10-skill-issue-merge-conflict-plan-design.md\"},\"SkillOptPlanItem\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"planId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"plan\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillOptPlan\",\"relationName\":\"SkillOptPlanToSkillOptPlanItem\",\"relationFromFields\":[\"planId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rank\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"route\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"pending\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rationale\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"severity\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"medium\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"targetFile\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"anchorText\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"proposedEdit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"conflictNote\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceIssueIds\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourcesBreakdown\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"prevalence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SkillOptMessage\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"session\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillOptSession\",\"relationName\":\"SkillOptMessageToSkillOptSession\",\"relationFromFields\":[\"sessionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"role\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"content\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"blocks\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SkillOptIteration\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"session\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SkillOptSession\",\"relationName\":\"SkillOptIterationToSkillOptSession\",\"relationFromFields\":[\"sessionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"draftNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"session 内的草稿编号(递增;UI 显示为 \\\"草稿 #N\\\")\"},{\"name\":\"summary\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"agent 输出的\\\"## 修改总结\\\" markdown 主体,作为优化报告正文\"},{\"name\":\"files\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"全量文件快照 JSON:{ relPath: content }\"},{\"name\":\"resolvedIssueIds\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"这次处理的 issue id 列表 JSON。reload 后 UI 上\\\"已优化\\\"标记基于它重建\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"sessionId\",\"draftNumber\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"sessionId\",\"draftNumber\"]}],\"isGenerated\":false,\"documentation\":\"一次 agent turn 跑完后产生的\\\"草稿\\\"快照——files 全量 + agent 修改总结 + 这次处理了哪些 issue。\\\\n用户点开历史会话时,diff viewer 用它还原\\\"v{N} → 草稿 #M\\\"的对比和优化报告。\"},\"CustomEvaluatorList\":{\"dbName\":null,\"fields\":[{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"itemsJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"用户自建评估器列表(整段 JSON);预置评估器不入库。\"},\"AgentEvalDataset\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"targetAgent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"targetSkill\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"服务于哪个 skill;为空表示通用 agent eval(不绑定 skill)。skill 生成时\\\\n自动起草的行为评测集会填这个字段(用 Skill.name)。\"},{\"name\":\"tagsJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"casesJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"datasetKind\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"ideal_output\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"评测集定义与数据项(cases 存 JSON)\"},\"DebugHistory\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"versionA\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"versionB\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"query\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"temperature\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resultsJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"BatchEvalTask\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"taskName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"configJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"caseStatesJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"traceEvalStatesJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"GrayscaleTask\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillVersionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"taskName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"configJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"caseStatesJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"user\",\"skillName\",\"skillVersion\",\"taskName\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"user\",\"skillName\",\"skillVersion\",\"taskName\"]}],\"isGenerated\":false},\"DebugJobResult\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"output\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timeCost\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenUsage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"error\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"Persisted debug job results — survives server restarts\"},\"TrajectoryEvalResult\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"evaluatorRunId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"datasetId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"caseId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"taskId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"pending\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"trajectoryScore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dimensionScoresJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"JSON: { completeness, toolChoice, redundancy, attribution }\"},{\"name\":\"deviationStepsJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"JSON: 偏离步骤列表 [{ stepIndex, kind, name, deviation, severity }]\"},{\"name\":\"rootCauseStep\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reasonText\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rawAnalysisJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"评估器原始输出(含 subagent 中间结果)\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"轨迹评估器单次评测结果(one row = one case × one execution trace)\\\\n由 trajectory-evaluator(deepagents)产出。同一 (datasetId, caseId, executionId)\\\\n可重跑多次 → 多行历史,按 evaluatorRunId 分组。\\\\n对接 EvaluatorsCenter 中预置评估器 preset-agent-trace-quality 的执行链路。\"},\"RegisteredAgent\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"platform\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"agentType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"main\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"agentOwnership\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"user\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"platform\",\"name\",\"user\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"platform\",\"name\",\"user\"]}],\"isGenerated\":false},\"FaultDiagnosisSession\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"opencodeSessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"messages\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FaultDiagnosisMessage\",\"relationName\":\"FaultDiagnosisMessageToFaultDiagnosisSession\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"FaultDiagnosisMessage\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sessionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"session\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FaultDiagnosisSession\",\"relationName\":\"FaultDiagnosisMessageToFaultDiagnosisSession\",\"relationFromFields\":[\"sessionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"role\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"content\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AgentDebugReport\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"interactionsHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"pending\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reportJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stepCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"issueCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"llmCallCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"durationMs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"generator\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"agent-debug-diagnosis-skill@0.1\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ranAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AgentDebugSkillsAnalysis\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"executionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"interactionsHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"pending\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"analysisJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"keyActionCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ranAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SkillTriggerEvalSet\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"(user, skillName) 下的一个**版本快照**——一行 = 一个数据集版本\"},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"同 (user, skillName) 下递增;最大版本即「latest / 当前可编辑版本」\"},{\"name\":\"versionSource\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"manual\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"该版本怎么来:'llm-draft' | 'user-upload' | 'manual'\"},{\"name\":\"versionNote\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"可选备注:上传时落文件名,AI 起草时落模型名等\"},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"itemsJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"JSON array of { id, query, shouldTrigger, rationale?, source }\\\\nsource: 'llm-draft' | 'user-added' | 'user-edited' | 'trace-mined'\"},{\"name\":\"draftedFromSkillHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"起草时基于的 SKILL.md 内容 hash(sha256 前 16 位即可)\\\\n用于后续判断 SKILL.md 改了之后要不要建议\\\"重新起草\\\"\"},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"ready\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"起草状态:'drafting' | 'ready'(生成 pipeline 异步起草时 drafting,完成后 ready)\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"user\",\"skillName\",\"version\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"user\",\"skillName\",\"version\"]}],\"isGenerated\":false},\"SkillTriggerEvalRun\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"skillVersion\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"triggerSetId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"FK 到 SkillTriggerEvalSet(按 user+skillName 唯一,不用 id 关联也行;这里冗余 id 方便排障)\"},{\"name\":\"resultsJson\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"[]\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"JSON array of { itemId, query, shouldTrigger, runsTriggered, runsTotal, triggerRate, pass, latencyMsAvg, competingSkill? }\\\\ncompetingSkill: 命中的不是本 skill 而是别的 skill(兄弟竞争诊断)\"},{\"name\":\"passRate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"truePositiveRate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"falsePositiveRate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"runsPerQuery\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"triggerThreshold\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"default\":0.5,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"timeoutMs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":30000,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"durationMs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"modelId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"workspaceRoot\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"opencode 看到的项目根目录(worktree path),便于排障\"},{\"name\":\"status\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"running\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"'running' | 'done' | 'failed'\"},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SessionInfraLink\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"rootExecutionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"model\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"rootExecutionId\",\"sourceId\",\"model\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"rootExecutionId\",\"sourceId\",\"model\"]}],\"isGenerated\":false},\"InfraSource\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endpoint\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"scrapeUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"kind\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"pull\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"model\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hardwareName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"memBandwidthGBs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"scrapeIntervalMs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1000,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"enabled\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"samples\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InfraMetricSample\",\"relationName\":\"InfraMetricSampleToInfraSource\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"InfraMetricSample\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sourceId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"source\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InfraSource\",\"relationName\":\"InfraMetricSampleToInfraSource\",\"relationFromFields\":[\"sourceId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tsMs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"via\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"model\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"gauges\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"counters\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"histograms\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"waitingByReason\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}")
721
744
  defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
722
745
  config.engineWasm = undefined
723
746