agent-insight 0.3.0-beta → 0.3.1-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (665) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/.next/standalone/.next/build-manifest.json +2 -2
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/routes-manifest.json +6 -0
  6. package/.next/standalone/.next/server/app/(main)/accessconfig/channels/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/.next/server/app/(main)/accessconfig/health/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(main)/accessconfig/install/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(main)/accessconfig/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(main)/accessconfig/webhooks/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/(main)/agents/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(main)/dashboard/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(main)/dataset/[id]/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/(main)/dataset/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(main)/eval/page.js.nft.json +1 -1
  16. package/.next/standalone/.next/server/app/(main)/eval/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/(main)/eval/run/[runId]/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(main)/eval/trajectory/[taskId]/trace/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/(main)/eval/trajectory/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/(main)/evaluation/[id]/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/(main)/fault/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/(main)/memory/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/(main)/metrics/evaluators/[id]/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/(main)/metrics/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/(main)/modelconfig/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/(main)/modelconfig/registry/page.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/(main)/modelconfig/registry/page_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/(main)/modelconfig/web-search/page_client-reference-manifest.js +1 -1
  30. package/.next/standalone/.next/server/app/(main)/optapi/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/(main)/quality/page.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/(main)/quality/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/(main)/security/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/(main)/skill-eval/grayscale/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/(main)/skill-eval/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/(main)/skill-eval/trigger/[skillName]/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/(main)/skill-generator/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/(main)/skill-history/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/(main)/skill-history/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/(main)/skill-opt/[name]/[version]/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/(main)/skill-opt/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/(main)/skill-release/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/(main)/skills/page.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/(main)/skills/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/(main)/trace/page.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/(main)/trace/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  48. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  49. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  50. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  51. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  52. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  53. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  54. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  56. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  57. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  58. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  59. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  60. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  61. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  62. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  63. package/.next/standalone/.next/server/app/accessconfig/channels.html +1 -1
  64. package/.next/standalone/.next/server/app/accessconfig/channels.rsc +2 -2
  65. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels/__PAGE__.segment.rsc +1 -1
  66. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig/channels.segment.rsc +1 -1
  67. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  68. package/.next/standalone/.next/server/app/accessconfig/channels.segments/!KG1haW4p.segment.rsc +1 -1
  69. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_full.segment.rsc +2 -2
  70. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_head.segment.rsc +1 -1
  71. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_index.segment.rsc +2 -2
  72. package/.next/standalone/.next/server/app/accessconfig/channels.segments/_tree.segment.rsc +2 -2
  73. package/.next/standalone/.next/server/app/accessconfig/health.html +1 -1
  74. package/.next/standalone/.next/server/app/accessconfig/health.rsc +2 -2
  75. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health/__PAGE__.segment.rsc +1 -1
  76. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig/health.segment.rsc +1 -1
  77. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  78. package/.next/standalone/.next/server/app/accessconfig/health.segments/!KG1haW4p.segment.rsc +1 -1
  79. package/.next/standalone/.next/server/app/accessconfig/health.segments/_full.segment.rsc +2 -2
  80. package/.next/standalone/.next/server/app/accessconfig/health.segments/_head.segment.rsc +1 -1
  81. package/.next/standalone/.next/server/app/accessconfig/health.segments/_index.segment.rsc +2 -2
  82. package/.next/standalone/.next/server/app/accessconfig/health.segments/_tree.segment.rsc +2 -2
  83. package/.next/standalone/.next/server/app/accessconfig/install.html +1 -1
  84. package/.next/standalone/.next/server/app/accessconfig/install.rsc +3 -3
  85. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install/__PAGE__.segment.rsc +2 -2
  86. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig/install.segment.rsc +1 -1
  87. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  88. package/.next/standalone/.next/server/app/accessconfig/install.segments/!KG1haW4p.segment.rsc +1 -1
  89. package/.next/standalone/.next/server/app/accessconfig/install.segments/_full.segment.rsc +3 -3
  90. package/.next/standalone/.next/server/app/accessconfig/install.segments/_head.segment.rsc +1 -1
  91. package/.next/standalone/.next/server/app/accessconfig/install.segments/_index.segment.rsc +2 -2
  92. package/.next/standalone/.next/server/app/accessconfig/install.segments/_tree.segment.rsc +2 -2
  93. package/.next/standalone/.next/server/app/accessconfig/webhooks.html +1 -1
  94. package/.next/standalone/.next/server/app/accessconfig/webhooks.rsc +2 -2
  95. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks/__PAGE__.segment.rsc +1 -1
  96. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig/webhooks.segment.rsc +1 -1
  97. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  98. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/!KG1haW4p.segment.rsc +1 -1
  99. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_full.segment.rsc +2 -2
  100. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_head.segment.rsc +1 -1
  101. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_index.segment.rsc +2 -2
  102. package/.next/standalone/.next/server/app/accessconfig/webhooks.segments/_tree.segment.rsc +2 -2
  103. package/.next/standalone/.next/server/app/accessconfig.html +1 -1
  104. package/.next/standalone/.next/server/app/accessconfig.rsc +2 -2
  105. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig/__PAGE__.segment.rsc +1 -1
  106. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p/accessconfig.segment.rsc +1 -1
  107. package/.next/standalone/.next/server/app/accessconfig.segments/!KG1haW4p.segment.rsc +1 -1
  108. package/.next/standalone/.next/server/app/accessconfig.segments/_full.segment.rsc +2 -2
  109. package/.next/standalone/.next/server/app/accessconfig.segments/_head.segment.rsc +1 -1
  110. package/.next/standalone/.next/server/app/accessconfig.segments/_index.segment.rsc +2 -2
  111. package/.next/standalone/.next/server/app/accessconfig.segments/_tree.segment.rsc +2 -2
  112. package/.next/standalone/.next/server/app/agents.html +1 -1
  113. package/.next/standalone/.next/server/app/agents.rsc +3 -3
  114. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents/__PAGE__.segment.rsc +2 -2
  115. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p/agents.segment.rsc +1 -1
  116. package/.next/standalone/.next/server/app/agents.segments/!KG1haW4p.segment.rsc +1 -1
  117. package/.next/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  118. package/.next/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  119. package/.next/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  120. package/.next/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  121. package/.next/standalone/.next/server/app/api/agent/run/route.js +5 -5
  122. package/.next/standalone/.next/server/app/api/agent/run/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/agent/stream/route.js +3 -3
  124. package/.next/standalone/.next/server/app/api/agent/stream/route.js.nft.json +1 -1
  125. package/.next/standalone/.next/server/app/api/debug/batch-tasks/[taskId]/route.js +5 -5
  126. package/.next/standalone/.next/server/app/api/debug/batch-tasks/[taskId]/route.js.nft.json +1 -1
  127. package/.next/standalone/.next/server/app/api/debug/execute/route.js +5 -5
  128. package/.next/standalone/.next/server/app/api/debug/execute/route.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/[taskId]/route.js +11 -11
  130. package/.next/standalone/.next/server/app/api/debug/grayscale-tasks/[taskId]/route.js.nft.json +1 -1
  131. package/.next/standalone/.next/server/app/api/eval/config/backfill-routing/route.js +4 -4
  132. package/.next/standalone/.next/server/app/api/eval/config/backfill-routing/route.js.nft.json +1 -1
  133. package/.next/standalone/.next/server/app/api/eval/config/route.js +6 -6
  134. package/.next/standalone/.next/server/app/api/eval/config/route.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/api/eval/rejudge/route.js +6 -6
  136. package/.next/standalone/.next/server/app/api/eval/rejudge/route.js.nft.json +1 -1
  137. package/.next/standalone/.next/server/app/api/eval/terminate-all/route.js +6 -6
  138. package/.next/standalone/.next/server/app/api/eval/terminate-all/route.js.nft.json +1 -1
  139. package/.next/standalone/.next/server/app/api/eval/trajectory/run/route.js +9 -9
  140. package/.next/standalone/.next/server/app/api/eval/trajectory/run/route.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/api/evaluation/[id]/route.js +2 -2
  142. package/.next/standalone/.next/server/app/api/fault/diagnosis/stream/route.js +5 -5
  143. package/.next/standalone/.next/server/app/api/fault/diagnosis/stream/route.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/api/ingest/opencode/session-complete/route.js +5 -5
  145. package/.next/standalone/.next/server/app/api/ingest/opencode/session-complete/route.js.nft.json +1 -1
  146. package/.next/standalone/.next/server/app/api/ingest/otel/v1/traces/route.js +1 -1
  147. package/.next/standalone/.next/server/app/api/ingest/otel/v1/traces/route.js.nft.json +1 -1
  148. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/end/route.js +5 -5
  149. package/.next/standalone/.next/server/app/api/ingest/proxy/[taskId]/end/route.js.nft.json +1 -1
  150. package/.next/standalone/.next/server/app/api/ingest/setup/hermes-plugin/route/app-paths-manifest.json +3 -0
  151. package/.next/standalone/.next/server/app/api/ingest/setup/hermes-plugin/route/build-manifest.json +11 -0
  152. package/.next/standalone/.next/server/app/api/ingest/setup/hermes-plugin/route/server-reference-manifest.json +4 -0
  153. package/.next/standalone/.next/server/app/api/ingest/setup/hermes-plugin/route.js +7 -0
  154. package/.next/standalone/.next/server/app/api/ingest/setup/hermes-plugin/route.js.map +5 -0
  155. package/.next/standalone/.next/server/app/api/ingest/setup/hermes-plugin/route.js.nft.json +1 -0
  156. package/.next/standalone/.next/server/app/api/ingest/setup/hermes-plugin/route_client-reference-manifest.js +2 -0
  157. package/.next/standalone/.next/server/app/api/ingest/upload/route.js +7 -7
  158. package/.next/standalone/.next/server/app/api/ingest/upload/route.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/app/api/observe/data/route.js +4 -4
  160. package/.next/standalone/.next/server/app/api/observe/data/route.js.nft.json +1 -1
  161. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/route.js +5 -5
  162. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/route.js.nft.json +1 -1
  163. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/skills-analysis/route.js +9 -9
  164. package/.next/standalone/.next/server/app/api/observe/executions/[executionId]/agent-debug/skills-analysis/route.js.nft.json +1 -1
  165. package/.next/standalone/.next/server/app/api/observe/task-stats/route.js +3 -3
  166. package/.next/standalone/.next/server/app/api/observe/task-stats/route.js.nft.json +1 -1
  167. package/.next/standalone/.next/server/app/api/quality/agents/route.js +4 -4
  168. package/.next/standalone/.next/server/app/api/quality/agents/route.js.nft.json +1 -1
  169. package/.next/standalone/.next/server/app/api/quality/executions/route.js +4 -4
  170. package/.next/standalone/.next/server/app/api/quality/executions/route.js.nft.json +1 -1
  171. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/draft/route.js.nft.json +1 -1
  172. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/route.js +1 -1
  173. package/.next/standalone/.next/server/app/api/skill-eval/trigger/[skillName]/run/route.js.nft.json +1 -1
  174. package/.next/standalone/.next/server/app/api/skill-generator/attachments/route.js.nft.json +1 -1
  175. package/.next/standalone/.next/server/app/api/skill-generator/chat/route.js +5 -5
  176. package/.next/standalone/.next/server/app/api/skill-generator/chat/route.js.nft.json +1 -1
  177. package/.next/standalone/.next/server/app/api/skill-generator/files/content/route.js +3 -3
  178. package/.next/standalone/.next/server/app/api/skill-generator/files/content/route.js.nft.json +1 -1
  179. package/.next/standalone/.next/server/app/api/skill-generator/files/download/route.js +5 -5
  180. package/.next/standalone/.next/server/app/api/skill-generator/files/download/route.js.nft.json +1 -1
  181. package/.next/standalone/.next/server/app/api/skill-generator/files/info/route.js +3 -3
  182. package/.next/standalone/.next/server/app/api/skill-generator/files/info/route.js.nft.json +1 -1
  183. package/.next/standalone/.next/server/app/api/skill-generator/files/list/route.js +3 -3
  184. package/.next/standalone/.next/server/app/api/skill-generator/files/list/route.js.nft.json +1 -1
  185. package/.next/standalone/.next/server/app/api/skill-opt/chat/route.js +4 -4
  186. package/.next/standalone/.next/server/app/api/skill-opt/chat/route.js.nft.json +1 -1
  187. package/.next/standalone/.next/server/app/api/skills/[id]/benchmark-generate/route.js +5 -5
  188. package/.next/standalone/.next/server/app/api/skills/[id]/benchmark-generate/route.js.nft.json +1 -1
  189. package/.next/standalone/.next/server/app/api/skills/[id]/runs/route.js +3 -3
  190. package/.next/standalone/.next/server/app/api/skills/[id]/runs/route.js.nft.json +1 -1
  191. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluate/route.js +2 -2
  192. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/evaluation-summary/route.js +2 -2
  193. package/.next/standalone/.next/server/app/api/skills/[id]/versions/[version]/files/[...path]/route.js.nft.json +1 -1
  194. package/.next/standalone/.next/server/app/api/skills/logs/route.js +4 -4
  195. package/.next/standalone/.next/server/app/api/skills/logs/route.js.nft.json +1 -1
  196. package/.next/standalone/.next/server/app/api/user-evaluators/route.js.nft.json +1 -1
  197. package/.next/standalone/.next/server/app/dashboard.html +1 -1
  198. package/.next/standalone/.next/server/app/dashboard.rsc +3 -3
  199. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard/__PAGE__.segment.rsc +2 -2
  200. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p/dashboard.segment.rsc +1 -1
  201. package/.next/standalone/.next/server/app/dashboard.segments/!KG1haW4p.segment.rsc +1 -1
  202. package/.next/standalone/.next/server/app/dashboard.segments/_full.segment.rsc +3 -3
  203. package/.next/standalone/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
  204. package/.next/standalone/.next/server/app/dashboard.segments/_index.segment.rsc +2 -2
  205. package/.next/standalone/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  206. package/.next/standalone/.next/server/app/dataset.html +1 -1
  207. package/.next/standalone/.next/server/app/dataset.rsc +3 -3
  208. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset/__PAGE__.segment.rsc +2 -2
  209. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p/dataset.segment.rsc +1 -1
  210. package/.next/standalone/.next/server/app/dataset.segments/!KG1haW4p.segment.rsc +1 -1
  211. package/.next/standalone/.next/server/app/dataset.segments/_full.segment.rsc +3 -3
  212. package/.next/standalone/.next/server/app/dataset.segments/_head.segment.rsc +1 -1
  213. package/.next/standalone/.next/server/app/dataset.segments/_index.segment.rsc +2 -2
  214. package/.next/standalone/.next/server/app/dataset.segments/_tree.segment.rsc +2 -2
  215. package/.next/standalone/.next/server/app/eval/trajectory.html +1 -1
  216. package/.next/standalone/.next/server/app/eval/trajectory.rsc +3 -3
  217. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory/__PAGE__.segment.rsc +2 -2
  218. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval/trajectory.segment.rsc +1 -1
  219. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p/eval.segment.rsc +1 -1
  220. package/.next/standalone/.next/server/app/eval/trajectory.segments/!KG1haW4p.segment.rsc +1 -1
  221. package/.next/standalone/.next/server/app/eval/trajectory.segments/_full.segment.rsc +3 -3
  222. package/.next/standalone/.next/server/app/eval/trajectory.segments/_head.segment.rsc +1 -1
  223. package/.next/standalone/.next/server/app/eval/trajectory.segments/_index.segment.rsc +2 -2
  224. package/.next/standalone/.next/server/app/eval/trajectory.segments/_tree.segment.rsc +2 -2
  225. package/.next/standalone/.next/server/app/eval.html +1 -1
  226. package/.next/standalone/.next/server/app/eval.rsc +3 -3
  227. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval/__PAGE__.segment.rsc +2 -2
  228. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p/eval.segment.rsc +1 -1
  229. package/.next/standalone/.next/server/app/eval.segments/!KG1haW4p.segment.rsc +1 -1
  230. package/.next/standalone/.next/server/app/eval.segments/_full.segment.rsc +3 -3
  231. package/.next/standalone/.next/server/app/eval.segments/_head.segment.rsc +1 -1
  232. package/.next/standalone/.next/server/app/eval.segments/_index.segment.rsc +2 -2
  233. package/.next/standalone/.next/server/app/eval.segments/_tree.segment.rsc +2 -2
  234. package/.next/standalone/.next/server/app/fault.html +1 -1
  235. package/.next/standalone/.next/server/app/fault.rsc +3 -3
  236. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault/__PAGE__.segment.rsc +2 -2
  237. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p/fault.segment.rsc +1 -1
  238. package/.next/standalone/.next/server/app/fault.segments/!KG1haW4p.segment.rsc +1 -1
  239. package/.next/standalone/.next/server/app/fault.segments/_full.segment.rsc +3 -3
  240. package/.next/standalone/.next/server/app/fault.segments/_head.segment.rsc +1 -1
  241. package/.next/standalone/.next/server/app/fault.segments/_index.segment.rsc +2 -2
  242. package/.next/standalone/.next/server/app/fault.segments/_tree.segment.rsc +2 -2
  243. package/.next/standalone/.next/server/app/index.html +1 -1
  244. package/.next/standalone/.next/server/app/index.rsc +2 -2
  245. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  246. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +2 -2
  247. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  248. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  249. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  250. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  251. package/.next/standalone/.next/server/app/login.html +1 -1
  252. package/.next/standalone/.next/server/app/login.rsc +2 -2
  253. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +2 -2
  254. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  255. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +2 -2
  256. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  257. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  258. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  259. package/.next/standalone/.next/server/app/memory.html +1 -1
  260. package/.next/standalone/.next/server/app/memory.rsc +2 -2
  261. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory/__PAGE__.segment.rsc +1 -1
  262. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p/memory.segment.rsc +1 -1
  263. package/.next/standalone/.next/server/app/memory.segments/!KG1haW4p.segment.rsc +1 -1
  264. package/.next/standalone/.next/server/app/memory.segments/_full.segment.rsc +2 -2
  265. package/.next/standalone/.next/server/app/memory.segments/_head.segment.rsc +1 -1
  266. package/.next/standalone/.next/server/app/memory.segments/_index.segment.rsc +2 -2
  267. package/.next/standalone/.next/server/app/memory.segments/_tree.segment.rsc +2 -2
  268. package/.next/standalone/.next/server/app/metrics.html +1 -1
  269. package/.next/standalone/.next/server/app/metrics.rsc +3 -3
  270. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics/__PAGE__.segment.rsc +2 -2
  271. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p/metrics.segment.rsc +1 -1
  272. package/.next/standalone/.next/server/app/metrics.segments/!KG1haW4p.segment.rsc +1 -1
  273. package/.next/standalone/.next/server/app/metrics.segments/_full.segment.rsc +3 -3
  274. package/.next/standalone/.next/server/app/metrics.segments/_head.segment.rsc +1 -1
  275. package/.next/standalone/.next/server/app/metrics.segments/_index.segment.rsc +2 -2
  276. package/.next/standalone/.next/server/app/metrics.segments/_tree.segment.rsc +2 -2
  277. package/.next/standalone/.next/server/app/modelconfig/registry.html +1 -1
  278. package/.next/standalone/.next/server/app/modelconfig/registry.rsc +3 -3
  279. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry/__PAGE__.segment.rsc +2 -2
  280. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig/registry.segment.rsc +1 -1
  281. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  282. package/.next/standalone/.next/server/app/modelconfig/registry.segments/!KG1haW4p.segment.rsc +1 -1
  283. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_full.segment.rsc +3 -3
  284. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_head.segment.rsc +1 -1
  285. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_index.segment.rsc +2 -2
  286. package/.next/standalone/.next/server/app/modelconfig/registry.segments/_tree.segment.rsc +2 -2
  287. package/.next/standalone/.next/server/app/modelconfig/web-search.html +1 -1
  288. package/.next/standalone/.next/server/app/modelconfig/web-search.rsc +3 -3
  289. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search/__PAGE__.segment.rsc +2 -2
  290. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig/web-search.segment.rsc +1 -1
  291. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  292. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/!KG1haW4p.segment.rsc +1 -1
  293. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_full.segment.rsc +3 -3
  294. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_head.segment.rsc +1 -1
  295. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_index.segment.rsc +2 -2
  296. package/.next/standalone/.next/server/app/modelconfig/web-search.segments/_tree.segment.rsc +2 -2
  297. package/.next/standalone/.next/server/app/modelconfig.html +1 -1
  298. package/.next/standalone/.next/server/app/modelconfig.rsc +2 -2
  299. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig/__PAGE__.segment.rsc +1 -1
  300. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p/modelconfig.segment.rsc +1 -1
  301. package/.next/standalone/.next/server/app/modelconfig.segments/!KG1haW4p.segment.rsc +1 -1
  302. package/.next/standalone/.next/server/app/modelconfig.segments/_full.segment.rsc +2 -2
  303. package/.next/standalone/.next/server/app/modelconfig.segments/_head.segment.rsc +1 -1
  304. package/.next/standalone/.next/server/app/modelconfig.segments/_index.segment.rsc +2 -2
  305. package/.next/standalone/.next/server/app/modelconfig.segments/_tree.segment.rsc +2 -2
  306. package/.next/standalone/.next/server/app/optapi.html +1 -1
  307. package/.next/standalone/.next/server/app/optapi.rsc +2 -2
  308. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi/__PAGE__.segment.rsc +1 -1
  309. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p/optapi.segment.rsc +1 -1
  310. package/.next/standalone/.next/server/app/optapi.segments/!KG1haW4p.segment.rsc +1 -1
  311. package/.next/standalone/.next/server/app/optapi.segments/_full.segment.rsc +2 -2
  312. package/.next/standalone/.next/server/app/optapi.segments/_head.segment.rsc +1 -1
  313. package/.next/standalone/.next/server/app/optapi.segments/_index.segment.rsc +2 -2
  314. package/.next/standalone/.next/server/app/optapi.segments/_tree.segment.rsc +2 -2
  315. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  316. package/.next/standalone/.next/server/app/quality.html +1 -1
  317. package/.next/standalone/.next/server/app/quality.rsc +3 -3
  318. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality/__PAGE__.segment.rsc +2 -2
  319. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p/quality.segment.rsc +1 -1
  320. package/.next/standalone/.next/server/app/quality.segments/!KG1haW4p.segment.rsc +1 -1
  321. package/.next/standalone/.next/server/app/quality.segments/_full.segment.rsc +3 -3
  322. package/.next/standalone/.next/server/app/quality.segments/_head.segment.rsc +1 -1
  323. package/.next/standalone/.next/server/app/quality.segments/_index.segment.rsc +2 -2
  324. package/.next/standalone/.next/server/app/quality.segments/_tree.segment.rsc +2 -2
  325. package/.next/standalone/.next/server/app/security.html +1 -1
  326. package/.next/standalone/.next/server/app/security.rsc +2 -2
  327. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security/__PAGE__.segment.rsc +1 -1
  328. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p/security.segment.rsc +1 -1
  329. package/.next/standalone/.next/server/app/security.segments/!KG1haW4p.segment.rsc +1 -1
  330. package/.next/standalone/.next/server/app/security.segments/_full.segment.rsc +2 -2
  331. package/.next/standalone/.next/server/app/security.segments/_head.segment.rsc +1 -1
  332. package/.next/standalone/.next/server/app/security.segments/_index.segment.rsc +2 -2
  333. package/.next/standalone/.next/server/app/security.segments/_tree.segment.rsc +2 -2
  334. package/.next/standalone/.next/server/app/skill-detail/page_client-reference-manifest.js +1 -1
  335. package/.next/standalone/.next/server/app/skill-detail.html +1 -1
  336. package/.next/standalone/.next/server/app/skill-detail.rsc +2 -2
  337. package/.next/standalone/.next/server/app/skill-detail.segments/_full.segment.rsc +2 -2
  338. package/.next/standalone/.next/server/app/skill-detail.segments/_head.segment.rsc +1 -1
  339. package/.next/standalone/.next/server/app/skill-detail.segments/_index.segment.rsc +2 -2
  340. package/.next/standalone/.next/server/app/skill-detail.segments/_tree.segment.rsc +2 -2
  341. package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail/__PAGE__.segment.rsc +1 -1
  342. package/.next/standalone/.next/server/app/skill-detail.segments/skill-detail.segment.rsc +1 -1
  343. package/.next/standalone/.next/server/app/skill-eval/grayscale.html +2 -2
  344. package/.next/standalone/.next/server/app/skill-eval/grayscale.rsc +5 -5
  345. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale/__PAGE__.segment.rsc +2 -2
  346. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval/grayscale.segment.rsc +1 -1
  347. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
  348. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/!KG1haW4p.segment.rsc +1 -1
  349. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_full.segment.rsc +5 -5
  350. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_head.segment.rsc +1 -1
  351. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_index.segment.rsc +2 -2
  352. package/.next/standalone/.next/server/app/skill-eval/grayscale.segments/_tree.segment.rsc +2 -2
  353. package/.next/standalone/.next/server/app/skill-eval.html +1 -1
  354. package/.next/standalone/.next/server/app/skill-eval.rsc +5 -5
  355. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval/__PAGE__.segment.rsc +3 -3
  356. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p/skill-eval.segment.rsc +1 -1
  357. package/.next/standalone/.next/server/app/skill-eval.segments/!KG1haW4p.segment.rsc +1 -1
  358. package/.next/standalone/.next/server/app/skill-eval.segments/_full.segment.rsc +5 -5
  359. package/.next/standalone/.next/server/app/skill-eval.segments/_head.segment.rsc +1 -1
  360. package/.next/standalone/.next/server/app/skill-eval.segments/_index.segment.rsc +2 -2
  361. package/.next/standalone/.next/server/app/skill-eval.segments/_tree.segment.rsc +3 -3
  362. package/.next/standalone/.next/server/app/skill-generator.html +1 -1
  363. package/.next/standalone/.next/server/app/skill-generator.rsc +3 -3
  364. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator/__PAGE__.segment.rsc +2 -2
  365. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p/skill-generator.segment.rsc +1 -1
  366. package/.next/standalone/.next/server/app/skill-generator.segments/!KG1haW4p.segment.rsc +1 -1
  367. package/.next/standalone/.next/server/app/skill-generator.segments/_full.segment.rsc +3 -3
  368. package/.next/standalone/.next/server/app/skill-generator.segments/_head.segment.rsc +1 -1
  369. package/.next/standalone/.next/server/app/skill-generator.segments/_index.segment.rsc +2 -2
  370. package/.next/standalone/.next/server/app/skill-generator.segments/_tree.segment.rsc +2 -2
  371. package/.next/standalone/.next/server/app/skill-history.html +1 -1
  372. package/.next/standalone/.next/server/app/skill-history.rsc +3 -3
  373. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history/__PAGE__.segment.rsc +2 -2
  374. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p/skill-history.segment.rsc +1 -1
  375. package/.next/standalone/.next/server/app/skill-history.segments/!KG1haW4p.segment.rsc +1 -1
  376. package/.next/standalone/.next/server/app/skill-history.segments/_full.segment.rsc +3 -3
  377. package/.next/standalone/.next/server/app/skill-history.segments/_head.segment.rsc +1 -1
  378. package/.next/standalone/.next/server/app/skill-history.segments/_index.segment.rsc +2 -2
  379. package/.next/standalone/.next/server/app/skill-history.segments/_tree.segment.rsc +2 -2
  380. package/.next/standalone/.next/server/app/skill-opt.html +1 -1
  381. package/.next/standalone/.next/server/app/skill-opt.rsc +3 -3
  382. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt/__PAGE__.segment.rsc +2 -2
  383. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p/skill-opt.segment.rsc +1 -1
  384. package/.next/standalone/.next/server/app/skill-opt.segments/!KG1haW4p.segment.rsc +1 -1
  385. package/.next/standalone/.next/server/app/skill-opt.segments/_full.segment.rsc +3 -3
  386. package/.next/standalone/.next/server/app/skill-opt.segments/_head.segment.rsc +1 -1
  387. package/.next/standalone/.next/server/app/skill-opt.segments/_index.segment.rsc +2 -2
  388. package/.next/standalone/.next/server/app/skill-opt.segments/_tree.segment.rsc +2 -2
  389. package/.next/standalone/.next/server/app/skill-release.html +1 -1
  390. package/.next/standalone/.next/server/app/skill-release.rsc +2 -2
  391. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release/__PAGE__.segment.rsc +1 -1
  392. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p/skill-release.segment.rsc +1 -1
  393. package/.next/standalone/.next/server/app/skill-release.segments/!KG1haW4p.segment.rsc +1 -1
  394. package/.next/standalone/.next/server/app/skill-release.segments/_full.segment.rsc +2 -2
  395. package/.next/standalone/.next/server/app/skill-release.segments/_head.segment.rsc +1 -1
  396. package/.next/standalone/.next/server/app/skill-release.segments/_index.segment.rsc +2 -2
  397. package/.next/standalone/.next/server/app/skill-release.segments/_tree.segment.rsc +2 -2
  398. package/.next/standalone/.next/server/app/skills.html +1 -1
  399. package/.next/standalone/.next/server/app/skills.rsc +4 -4
  400. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills/__PAGE__.segment.rsc +3 -3
  401. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p/skills.segment.rsc +1 -1
  402. package/.next/standalone/.next/server/app/skills.segments/!KG1haW4p.segment.rsc +1 -1
  403. package/.next/standalone/.next/server/app/skills.segments/_full.segment.rsc +4 -4
  404. package/.next/standalone/.next/server/app/skills.segments/_head.segment.rsc +1 -1
  405. package/.next/standalone/.next/server/app/skills.segments/_index.segment.rsc +2 -2
  406. package/.next/standalone/.next/server/app/skills.segments/_tree.segment.rsc +3 -3
  407. package/.next/standalone/.next/server/app/trace.html +1 -1
  408. package/.next/standalone/.next/server/app/trace.rsc +3 -3
  409. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace/__PAGE__.segment.rsc +2 -2
  410. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p/trace.segment.rsc +1 -1
  411. package/.next/standalone/.next/server/app/trace.segments/!KG1haW4p.segment.rsc +1 -1
  412. package/.next/standalone/.next/server/app/trace.segments/_full.segment.rsc +3 -3
  413. package/.next/standalone/.next/server/app/trace.segments/_head.segment.rsc +1 -1
  414. package/.next/standalone/.next/server/app/trace.segments/_index.segment.rsc +2 -2
  415. package/.next/standalone/.next/server/app/trace.segments/_tree.segment.rsc +2 -2
  416. package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
  417. package/.next/standalone/.next/server/chunks/[root-of-the-server]__040b569f._.js +3 -0
  418. package/.next/standalone/.next/server/chunks/[root-of-the-server]__045587bf._.js +6 -0
  419. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__bfd5933a._.js → [root-of-the-server]__0b0ca028._.js} +1 -1
  420. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e81c059._.js +1 -1
  421. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1e033f42._.js +1 -1
  422. package/.next/standalone/.next/server/chunks/[root-of-the-server]__35b27244._.js +3 -0
  423. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__b88f14c0._.js → [root-of-the-server]__363f8caf._.js} +2 -2
  424. package/.next/standalone/.next/server/chunks/[root-of-the-server]__45f15a40._.js +3 -0
  425. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5c5398f8._.js +3 -0
  426. package/.next/standalone/.next/server/chunks/[root-of-the-server]__677bd848._.js +21 -21
  427. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__d436a672._.js → [root-of-the-server]__6de56d9f._.js} +1 -1
  428. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b57a53c2._.js +3 -0
  429. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b9ea78fe._.js +3 -0
  430. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__7c29779d._.js → [root-of-the-server]__c5028c19._.js} +1 -1
  431. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ca706dfb._.js +1 -1
  432. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__67e8aa0f._.js → [root-of-the-server]__cc29b58c._.js} +1 -1
  433. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cc3948c5._.js +1 -1
  434. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e8b45be8._.js +1 -1
  435. package/.next/standalone/.next/server/chunks/[root-of-the-server]__eb171d10._.js +2 -2
  436. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fef5bbd7._.js +1 -1
  437. package/.next/standalone/.next/server/chunks/_19441465._.js +370 -0
  438. package/.next/standalone/.next/server/chunks/{_1715c14d._.js → _1bd51141._.js} +1 -1
  439. package/.next/standalone/.next/server/chunks/_5041b697._.js +14 -14
  440. package/.next/standalone/.next/server/chunks/_73cb0d03._.js +1 -1
  441. package/.next/standalone/.next/server/chunks/_a0c6d359._.js +7 -7
  442. package/.next/standalone/.next/server/chunks/_b8c4ce57._.js +3 -0
  443. package/.next/standalone/.next/server/chunks/_c14dfae2._.js +1 -1
  444. package/.next/standalone/.next/server/chunks/_e0991a0e._.js +1 -1
  445. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_ingest_setup_hermes-plugin_route_actions_212af014.js +3 -0
  446. package/.next/standalone/.next/server/chunks/node_modules_3239b80e._.js +1 -1
  447. package/.next/standalone/.next/server/chunks/node_modules_@langchain_core_dist_051f8412._.js +1 -1
  448. package/.next/standalone/.next/server/chunks/node_modules_@langchain_core_dist_0cad7765._.js +1 -1
  449. package/.next/standalone/.next/server/chunks/node_modules_@langchain_core_dist_8e3308fa._.js +1 -1
  450. package/.next/standalone/.next/server/chunks/node_modules_@langchain_langgraph_dist_index_23ed4b74.js +25 -25
  451. package/.next/standalone/.next/server/chunks/node_modules_d933a926._.js +1 -1
  452. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_23ab65eb.js +39 -51
  453. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_c4a195e5.js +1 -1
  454. package/.next/standalone/.next/server/chunks/node_modules_undici_206d7c0f._.js +15 -15
  455. package/.next/standalone/.next/server/chunks/src_34fb142e._.js +15 -15
  456. package/.next/standalone/.next/server/chunks/src_lib_1466262d._.js +1 -1
  457. package/.next/standalone/.next/server/chunks/src_lib_5d86eca7._.js +1 -1
  458. package/.next/standalone/.next/server/chunks/src_lib_7bae418f._.js +6 -0
  459. package/.next/standalone/.next/server/chunks/{src_lib_ac48c2f3._.js → src_lib_beee2d37._.js} +6 -6
  460. package/.next/standalone/.next/server/chunks/src_lib_c6d9db51._.js +3 -0
  461. package/.next/standalone/.next/server/chunks/{src_lib_3205a4fa._.js → src_lib_e361eb76._.js} +6 -6
  462. package/.next/standalone/.next/server/chunks/src_lib_engine_evaluation_d6ad3d54._.js +6 -6
  463. package/.next/standalone/.next/server/chunks/src_lib_engine_evaluation_evaluator-execution-recorder_ts_d7fedcdd._.js +1 -1
  464. package/.next/standalone/.next/server/chunks/src_lib_engine_general-agent_970b1dfe._.js +3 -3
  465. package/.next/standalone/.next/server/chunks/src_lib_engine_skill-issues_static-evaluator_5e9f2d8a._.js +12 -7
  466. package/.next/standalone/.next/server/chunks/src_lib_ingest_1accb82d._.js +1 -1
  467. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__dfea64df._.js +3 -0
  468. package/.next/standalone/.next/server/chunks/ssr/_0141e5c7._.js +3 -0
  469. package/.next/standalone/.next/server/chunks/ssr/_10e7e5d6._.js +3 -0
  470. package/.next/standalone/.next/server/chunks/ssr/{_633b8c91._.js → _231821bd._.js} +2 -2
  471. package/.next/standalone/.next/server/chunks/ssr/_23385550._.js +1 -1
  472. package/.next/standalone/.next/server/chunks/ssr/_338db557._.js +1 -5
  473. package/.next/standalone/.next/server/chunks/ssr/_37d91d48._.js +3 -0
  474. package/.next/standalone/.next/server/chunks/ssr/_4796bd79._.js +1 -1
  475. package/.next/standalone/.next/server/chunks/ssr/_5e0dfc4e._.js +1 -1
  476. package/.next/standalone/.next/server/chunks/ssr/_5ea9f29c._.js +1 -1
  477. package/.next/standalone/.next/server/chunks/ssr/_ad052dd8._.js +3 -0
  478. package/.next/standalone/.next/server/chunks/ssr/_c16d64b3._.js +1 -1
  479. package/.next/standalone/.next/server/chunks/ssr/_cebf2190._.js +1 -1
  480. package/.next/standalone/.next/server/chunks/ssr/_cfe5178e._.js +1 -1
  481. package/.next/standalone/.next/server/chunks/ssr/_d4828542._.js +3 -0
  482. package/.next/standalone/.next/server/chunks/ssr/_d710ba85._.js +1 -5
  483. package/.next/standalone/.next/server/chunks/ssr/node_modules_05c89d2c._.js +3 -0
  484. package/.next/standalone/.next/server/chunks/ssr/node_modules_0b1debc8._.js +17 -0
  485. package/.next/standalone/.next/server/chunks/ssr/node_modules_118dfa2f._.js +26 -0
  486. package/.next/standalone/.next/server/chunks/ssr/node_modules_241c62ac._.js +31 -0
  487. package/.next/standalone/.next/server/chunks/ssr/node_modules_264cd040._.js +11 -0
  488. package/.next/standalone/.next/server/chunks/ssr/node_modules_3ae4ac61._.js +3 -0
  489. package/.next/standalone/.next/server/chunks/ssr/node_modules_42146d1f._.js +3 -0
  490. package/.next/standalone/.next/server/chunks/ssr/node_modules_4eadc088._.js +3 -0
  491. package/.next/standalone/.next/server/chunks/ssr/node_modules_564ffb11._.js +3 -0
  492. package/.next/standalone/.next/server/chunks/ssr/node_modules_5d8dc663._.js +3 -0
  493. package/.next/standalone/.next/server/chunks/ssr/node_modules_653b0c30._.js +3 -0
  494. package/.next/standalone/.next/server/chunks/ssr/node_modules_77281965._.js +3 -0
  495. package/.next/standalone/.next/server/chunks/ssr/node_modules_77b8869b._.js +17 -0
  496. package/.next/standalone/.next/server/chunks/ssr/node_modules_7a0d9afc._.js +3 -0
  497. package/.next/standalone/.next/server/chunks/ssr/node_modules_7f5b5ff9._.js +45 -0
  498. package/.next/standalone/.next/server/chunks/ssr/node_modules_7f7e9f17._.js +3 -0
  499. package/.next/standalone/.next/server/chunks/ssr/node_modules_7fe3c357._.js +3 -0
  500. package/.next/standalone/.next/server/chunks/ssr/node_modules_803c6412._.js +3 -0
  501. package/.next/standalone/.next/server/chunks/ssr/node_modules_8108cb01._.js +3 -0
  502. package/.next/standalone/.next/server/chunks/ssr/node_modules_831dfa9a._.js +17 -0
  503. package/.next/standalone/.next/server/chunks/ssr/node_modules_971a1a98._.js +3 -0
  504. package/.next/standalone/.next/server/chunks/ssr/node_modules_9d323b89._.js +3 -0
  505. package/.next/standalone/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_db228c3c._.js → node_modules_@mermaid-js_parser_dist_16c88699._.js} +2 -2
  506. package/.next/standalone/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_22ce2656._.js → node_modules_@mermaid-js_parser_dist_21851c70._.js} +2 -2
  507. package/.next/standalone/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_544082c1._.js → node_modules_@mermaid-js_parser_dist_31b46481._.js} +2 -2
  508. package/.next/standalone/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_c48c72e0._.js → node_modules_@mermaid-js_parser_dist_32bdec7b._.js} +2 -2
  509. package/.next/standalone/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_ddbd29b7._.js → node_modules_@mermaid-js_parser_dist_66f35908._.js} +2 -2
  510. package/.next/standalone/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_c8a78e27._.js → node_modules_@mermaid-js_parser_dist_94ecdc22._.js} +2 -2
  511. package/.next/standalone/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_4f77a544._.js → node_modules_@mermaid-js_parser_dist_b85775a0._.js} +2 -2
  512. package/.next/standalone/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_3ab41ad8._.js → node_modules_@mermaid-js_parser_dist_c8728ae8._.js} +2 -2
  513. package/.next/standalone/.next/server/chunks/ssr/node_modules_@radix-ui_react-popper_dist_index_mjs_0d6fc757._.js +1 -1
  514. package/.next/standalone/.next/server/chunks/ssr/node_modules_a22450a1._.js +17 -0
  515. package/.next/standalone/.next/server/chunks/ssr/node_modules_ab0108ca._.js +3 -0
  516. package/.next/standalone/.next/server/chunks/ssr/node_modules_cad8d256._.js +3 -0
  517. package/.next/standalone/.next/server/chunks/ssr/node_modules_d40eabb5._.js +3 -0
  518. package/.next/standalone/.next/server/chunks/ssr/node_modules_f89ffeff._.js +17 -0
  519. package/.next/standalone/.next/server/chunks/ssr/{node_modules_2a7c4de9._.js → node_modules_fca55bff._.js} +2 -2
  520. package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-5ZQYHXKU_mjs_9293a43d._.js +2 -2
  521. package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-CSCIHK7Q_mjs_5da5edc3._.js +2 -2
  522. package/.next/standalone/.next/server/chunks/ssr/node_modules_mermaid_dist_mermaid_core_mjs_a11916de._.js +1 -1
  523. package/.next/standalone/.next/server/chunks/ssr/src_app_(main)_skill-eval_page_tsx_d6828614._.js +1 -1
  524. package/.next/standalone/.next/server/chunks/ssr/src_components_evaluation_index_ts_95565210._.js +1 -1
  525. package/.next/standalone/.next/server/chunks/ssr/src_components_ui_select_tsx_4c0f64d8._.js +1 -1
  526. package/.next/standalone/.next/server/pages/404.html +1 -1
  527. package/.next/standalone/.next/server/pages/500.html +2 -2
  528. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  529. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  530. package/.next/standalone/.next/static/chunks/{8b7ff3e53c4bbf8b.js → 0c7b05946b227f5a.js} +1 -5
  531. package/.next/standalone/.next/static/chunks/130e114057a9ebcd.js +1 -0
  532. package/.next/standalone/.next/static/chunks/14befe775870fecd.js +1 -0
  533. package/.next/standalone/.next/static/chunks/25ad82636e5b58a3.js +2 -0
  534. package/.next/{static/chunks/9b3f944a84387392.js → standalone/.next/static/chunks/3336df3d1032eecc.js} +1 -1
  535. package/.next/standalone/.next/static/chunks/43df5d7cd8ec46ff.js +1 -0
  536. package/.next/standalone/.next/static/chunks/463b43ecde7acc6b.js +1 -0
  537. package/.next/standalone/.next/static/chunks/{e5a2f98833719cb8.css → 5163848f38ac1cf6.css} +1 -1
  538. package/.next/standalone/.next/static/chunks/{30396061c28bf72c.js → 53af8dcc7be02445.js} +1 -1
  539. package/.next/standalone/.next/static/chunks/5e43a260c9f4f214.js +1 -0
  540. package/.next/{static/chunks/853a1f6bf3b6d443.js → standalone/.next/static/chunks/623f3222303930bb.js} +1 -1
  541. package/.next/{static/chunks/5407d16db75c16c3.js → standalone/.next/static/chunks/669150ee69928668.js} +1 -1
  542. package/.next/standalone/.next/static/chunks/6dbed19ae114b533.js +1 -0
  543. package/.next/standalone/.next/static/chunks/{9bdf47a06c8d728a.js → 72fce1376de53ff1.js} +1 -5
  544. package/.next/standalone/.next/static/chunks/7aff5373689149f6.css +1 -0
  545. package/.next/standalone/.next/static/chunks/{2f80f58326d89fa4.js → 7b15bab143d8c60f.js} +1 -1
  546. package/.next/{static/chunks/7ac51daef174f857.js → standalone/.next/static/chunks/83910a2aebec21cd.js} +1 -1
  547. package/.next/{static/chunks/4e25ec4dd6ef0459.js → standalone/.next/static/chunks/aab0b35af6737aed.js} +1 -1
  548. package/.next/standalone/.next/static/chunks/{7ac51daef174f857.js → ac4d824ecef761ad.js} +1 -1
  549. package/.next/standalone/.next/static/chunks/c44ecbd264254739.js +1 -0
  550. package/.next/standalone/.next/static/chunks/d04e17c648ef7960.js +4 -0
  551. package/.next/standalone/.next/static/chunks/e03cb31f10551f0b.js +119 -0
  552. package/.next/standalone/.next/static/chunks/e1ca3a6b74761a34.js +1 -0
  553. package/.next/standalone/.next/static/chunks/e4c086f27bba33f9.js +1 -0
  554. package/.next/standalone/.next/static/chunks/e623d8fba24bdb29.js +1 -0
  555. package/.next/standalone/.next/static/chunks/f4436f20374d2dbb.js +1 -0
  556. package/.next/standalone/package.json +1 -1
  557. package/.next/standalone/scripts/hermes_agent_insight_plugin.py +882 -0
  558. package/.next/static/chunks/{8b7ff3e53c4bbf8b.js → 0c7b05946b227f5a.js} +1 -5
  559. package/.next/static/chunks/130e114057a9ebcd.js +1 -0
  560. package/.next/static/chunks/14befe775870fecd.js +1 -0
  561. package/.next/static/chunks/25ad82636e5b58a3.js +2 -0
  562. package/.next/{standalone/.next/static/chunks/9b3f944a84387392.js → static/chunks/3336df3d1032eecc.js} +1 -1
  563. package/.next/static/chunks/43df5d7cd8ec46ff.js +1 -0
  564. package/.next/static/chunks/463b43ecde7acc6b.js +1 -0
  565. package/.next/static/chunks/{e5a2f98833719cb8.css → 5163848f38ac1cf6.css} +1 -1
  566. package/.next/static/chunks/{30396061c28bf72c.js → 53af8dcc7be02445.js} +1 -1
  567. package/.next/static/chunks/5e43a260c9f4f214.js +1 -0
  568. package/.next/{standalone/.next/static/chunks/853a1f6bf3b6d443.js → static/chunks/623f3222303930bb.js} +1 -1
  569. package/.next/{standalone/.next/static/chunks/5407d16db75c16c3.js → static/chunks/669150ee69928668.js} +1 -1
  570. package/.next/static/chunks/6dbed19ae114b533.js +1 -0
  571. package/.next/static/chunks/{9bdf47a06c8d728a.js → 72fce1376de53ff1.js} +1 -5
  572. package/.next/static/chunks/7aff5373689149f6.css +1 -0
  573. package/.next/static/chunks/{2f80f58326d89fa4.js → 7b15bab143d8c60f.js} +1 -1
  574. package/.next/{standalone/.next/static/chunks/82647ed55d4480ce.js → static/chunks/83910a2aebec21cd.js} +1 -1
  575. package/.next/{standalone/.next/static/chunks/4e25ec4dd6ef0459.js → static/chunks/aab0b35af6737aed.js} +1 -1
  576. package/.next/static/chunks/ac4d824ecef761ad.js +1 -0
  577. package/.next/static/chunks/c44ecbd264254739.js +1 -0
  578. package/.next/static/chunks/d04e17c648ef7960.js +4 -0
  579. package/.next/static/chunks/e03cb31f10551f0b.js +119 -0
  580. package/.next/static/chunks/e1ca3a6b74761a34.js +1 -0
  581. package/.next/static/chunks/e4c086f27bba33f9.js +1 -0
  582. package/.next/static/chunks/e623d8fba24bdb29.js +1 -0
  583. package/.next/static/chunks/f4436f20374d2dbb.js +1 -0
  584. package/package.json +1 -1
  585. package/scripts/hermes_agent_insight_plugin.py +882 -0
  586. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00c0800e._.js +0 -3
  587. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2e16866c._.js +0 -6
  588. package/.next/standalone/.next/server/chunks/[root-of-the-server]__52e5e5b6._.js +0 -3
  589. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5782a103._.js +0 -3
  590. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e80a8314._.js +0 -3
  591. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f7423c32._.js +0 -3
  592. package/.next/standalone/.next/server/chunks/_7ecc72d5._.js +0 -370
  593. package/.next/standalone/.next/server/chunks/_fbb1d006._.js +0 -3
  594. package/.next/standalone/.next/server/chunks/src_lib_68596f16._.js +0 -6
  595. package/.next/standalone/.next/server/chunks/src_lib_69eb724e._.js +0 -3
  596. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__afc1fc82._.js +0 -3
  597. package/.next/standalone/.next/server/chunks/ssr/_1409f211._.js +0 -7
  598. package/.next/standalone/.next/server/chunks/ssr/_53a193b7._.js +0 -3
  599. package/.next/standalone/.next/server/chunks/ssr/_8e246656._.js +0 -7
  600. package/.next/standalone/.next/server/chunks/ssr/_c5121a52._.js +0 -3
  601. package/.next/standalone/.next/server/chunks/ssr/_ddf088e7._.js +0 -3
  602. package/.next/standalone/.next/server/chunks/ssr/_ff4f28a3._.js +0 -7
  603. package/.next/standalone/.next/server/chunks/ssr/node_modules_03a4e1e8._.js +0 -3
  604. package/.next/standalone/.next/server/chunks/ssr/node_modules_107e06c2._.js +0 -3
  605. package/.next/standalone/.next/server/chunks/ssr/node_modules_1478fd1a._.js +0 -3
  606. package/.next/standalone/.next/server/chunks/ssr/node_modules_28567d0f._.js +0 -3
  607. package/.next/standalone/.next/server/chunks/ssr/node_modules_2b979638._.js +0 -3
  608. package/.next/standalone/.next/server/chunks/ssr/node_modules_2be5a018._.js +0 -3
  609. package/.next/standalone/.next/server/chunks/ssr/node_modules_302487e0._.js +0 -3
  610. package/.next/standalone/.next/server/chunks/ssr/node_modules_327acc03._.js +0 -26
  611. package/.next/standalone/.next/server/chunks/ssr/node_modules_39d86cba._.js +0 -17
  612. package/.next/standalone/.next/server/chunks/ssr/node_modules_3c01063a._.js +0 -3
  613. package/.next/standalone/.next/server/chunks/ssr/node_modules_3e9eb0ee._.js +0 -11
  614. package/.next/standalone/.next/server/chunks/ssr/node_modules_3f93cf58._.js +0 -45
  615. package/.next/standalone/.next/server/chunks/ssr/node_modules_4327b3e7._.js +0 -3
  616. package/.next/standalone/.next/server/chunks/ssr/node_modules_4bea67c9._.js +0 -3
  617. package/.next/standalone/.next/server/chunks/ssr/node_modules_561578ad._.js +0 -3
  618. package/.next/standalone/.next/server/chunks/ssr/node_modules_5997198a._.js +0 -31
  619. package/.next/standalone/.next/server/chunks/ssr/node_modules_64378d98._.js +0 -17
  620. package/.next/standalone/.next/server/chunks/ssr/node_modules_6e79a594._.js +0 -3
  621. package/.next/standalone/.next/server/chunks/ssr/node_modules_7cccaf98._.js +0 -3
  622. package/.next/standalone/.next/server/chunks/ssr/node_modules_8ac545aa._.js +0 -17
  623. package/.next/standalone/.next/server/chunks/ssr/node_modules_9bf47e56._.js +0 -3
  624. package/.next/standalone/.next/server/chunks/ssr/node_modules_9f38447b._.js +0 -3
  625. package/.next/standalone/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_b213ca58._.js +0 -3
  626. package/.next/standalone/.next/server/chunks/ssr/node_modules_cdddc2e8._.js +0 -17
  627. package/.next/standalone/.next/server/chunks/ssr/node_modules_e51942b7._.js +0 -3
  628. package/.next/standalone/.next/server/chunks/ssr/node_modules_f9ad22f8._.js +0 -17
  629. package/.next/standalone/.next/static/chunks/01874bd5a7fda069.js +0 -5
  630. package/.next/standalone/.next/static/chunks/05f725ad2bd51889.js +0 -5
  631. package/.next/standalone/.next/static/chunks/28c31d9589800fe1.js +0 -1
  632. package/.next/standalone/.next/static/chunks/41708ee675c0cc34.js +0 -1
  633. package/.next/standalone/.next/static/chunks/8481480a23164da3.js +0 -1
  634. package/.next/standalone/.next/static/chunks/8552cadf84c26cfe.js +0 -4
  635. package/.next/standalone/.next/static/chunks/8dc215cff38e080b.js +0 -5
  636. package/.next/standalone/.next/static/chunks/a5d8acb3d2573b32.js +0 -1
  637. package/.next/standalone/.next/static/chunks/a7e72ad6eda9aad1.js +0 -5
  638. package/.next/standalone/.next/static/chunks/bb69bd8f3fb2597f.js +0 -1
  639. package/.next/standalone/.next/static/chunks/c356ee0aa836b01c.js +0 -2
  640. package/.next/standalone/.next/static/chunks/c7b67d9c0be1999f.js +0 -1
  641. package/.next/standalone/.next/static/chunks/cdad5bb63a64bc1a.js +0 -119
  642. package/.next/standalone/.next/static/chunks/e0b132c675c3513e.js +0 -1
  643. package/.next/standalone/.next/static/chunks/e6562c7e7bb67446.css +0 -1
  644. package/.next/static/chunks/01874bd5a7fda069.js +0 -5
  645. package/.next/static/chunks/05f725ad2bd51889.js +0 -5
  646. package/.next/static/chunks/28c31d9589800fe1.js +0 -1
  647. package/.next/static/chunks/41708ee675c0cc34.js +0 -1
  648. package/.next/static/chunks/82647ed55d4480ce.js +0 -1
  649. package/.next/static/chunks/8481480a23164da3.js +0 -1
  650. package/.next/static/chunks/8552cadf84c26cfe.js +0 -4
  651. package/.next/static/chunks/8dc215cff38e080b.js +0 -5
  652. package/.next/static/chunks/a5d8acb3d2573b32.js +0 -1
  653. package/.next/static/chunks/a7e72ad6eda9aad1.js +0 -5
  654. package/.next/static/chunks/bb69bd8f3fb2597f.js +0 -1
  655. package/.next/static/chunks/c356ee0aa836b01c.js +0 -2
  656. package/.next/static/chunks/c7b67d9c0be1999f.js +0 -1
  657. package/.next/static/chunks/cdad5bb63a64bc1a.js +0 -119
  658. package/.next/static/chunks/e0b132c675c3513e.js +0 -1
  659. package/.next/static/chunks/e6562c7e7bb67446.css +0 -1
  660. /package/.next/standalone/.next/static/{1I9NXkgb5T_a680craVmT → XvmH6p-x60yNMPW2ZorCE}/_buildManifest.js +0 -0
  661. /package/.next/standalone/.next/static/{1I9NXkgb5T_a680craVmT → XvmH6p-x60yNMPW2ZorCE}/_clientMiddlewareManifest.json +0 -0
  662. /package/.next/standalone/.next/static/{1I9NXkgb5T_a680craVmT → XvmH6p-x60yNMPW2ZorCE}/_ssgManifest.js +0 -0
  663. /package/.next/static/{1I9NXkgb5T_a680craVmT → XvmH6p-x60yNMPW2ZorCE}/_buildManifest.js +0 -0
  664. /package/.next/static/{1I9NXkgb5T_a680craVmT → XvmH6p-x60yNMPW2ZorCE}/_clientMiddlewareManifest.json +0 -0
  665. /package/.next/static/{1I9NXkgb5T_a680craVmT → XvmH6p-x60yNMPW2ZorCE}/_ssgManifest.js +0 -0
@@ -1,7 +1,7 @@
1
- module.exports=[738282,e=>{"use strict";function t(e){if(!e||!Array.isArray(e)||0===e.length)return[];if(e.some(e=>e&&(e.requestMessages||e.responseMessage)))return e;let t=[],n=[],i=e=>{if(0===e.length)return;let n=-1;for(let t=e.length-1;t>=0;t--)if("assistant"===e[t].role||"subagent"===e[t].role){n=t;break}-1!==n?t.push({requestMessages:e.slice(0,n),responseMessage:e[n]}):t.push({requestMessages:e,responseMessage:null})};for(let t of e){if(!t)continue;let e=t.role||"unknown";("user"===e||"opencode"===e)&&n.length>0&&(i(n),n=[]),n.push(t)}return i(n),t}function n(e){let t=new Set,n=[],i=/^[a-zA-Z0-9_\-\.]+$/,o=e=>{if(e)for(let o of e.tool_calls||e.toolCalls||[]){let e=(o?.function?.name??o?.name??"").toLowerCase(),s=o?.function?.arguments??o?.arguments??"";try{let o="string"==typeof s?JSON.parse(s):s;if("skill"===e||"load_skill"===e){let e=o?.name??o?.skill_name??o?.skillName??o?.skill;if(null!=e&&String(e).trim()){let s=String(e).trim().replace(/^['"]+|['"]+$/g,"");if(i.test(s)&&!t.has(s)){t.add(s);let e=o?.version!=null?Number(o.version):null;n.push({name:s,version:null===e||isNaN(e)?null:e})}}continue}if("task"===e){let e=o?.load_skills??o?.loadSkills??[];if(Array.isArray(e))for(let o of e){let e="string"==typeof o?o:o?.name??o?.skill??o?.skill_name??o?.skillName;if(null==e||!String(e).trim())continue;let s=String(e).trim().replace(/^['"]+|['"]+$/g,"");if(!i.test(s)||t.has(s))continue;t.add(s);let r="object"==typeof o?o?.version:null,l=null!=r?Number(r):null;n.push({name:s,version:null===l||isNaN(l)?null:l})}}}catch{}}};for(let t of e)for(let e of(o(t.responseMessage),t.requestMessages||[]))("assistant"===e.role||"subagent"===e.role)&&o(e);return n}function i(e){let t=new Set,n=[],i=e=>{if(e&&Array.isArray(e))for(let i of e){if(i?.type!=="tool_use")continue;let e=(i?.name||"").toLowerCase();if("skill"!==e&&"load_skill"!==e)continue;let o=i.input,s=o?.skill??o?.skill_name??o?.skillName??o?.name;if(null==s||!String(s).trim())continue;let r=String(s).trim().replace(/^['"]+|['"]+$/g,"");if(/^[a-zA-Z0-9_\-\.]+$/.test(r)&&!t.has(r)){t.add(r);let e=o?.version!=null?Number(o.version):null;n.push({name:r,version:null===e||isNaN(e)?null:e})}}};for(let t of e)if(t.responseMessage?.content&&i(t.responseMessage.content),t.requestMessages)for(let e of t.requestMessages)"assistant"===e.role&&e.content&&i(e.content);return n}function o(e){let t=new Set,n=[],i=e=>{if(e&&Array.isArray(e))for(let i of e){if(i?.type!=="toolCall")continue;let e=(i?.name||"").toLowerCase();if("skill"!==e&&"load_skill"!==e)continue;let o=i?.arguments,s=o?.skill??o?.skill_name??o?.skillName??o?.name;if(null==s||!String(s).trim())continue;let r=String(s).trim().replace(/^['"]+|['"]+$/g,"");if(/^[a-zA-Z0-9_\-\.]+$/.test(r)&&!t.has(r)){t.add(r);let e=o?.version!=null?Number(o.version):null;n.push({name:r,version:null===e||isNaN(e)?null:e})}}};for(let t of e)if(t.responseMessage?.content&&i(t.responseMessage.content),t.requestMessages)for(let e of t.requestMessages)"assistant"===e.role&&e.content&&i(e.content);return n}e.s(["extractSkillsWithVersionsFromClaudeSession",()=>i,"extractSkillsWithVersionsFromOpenClawSession",()=>o,"extractSkillsWithVersionsFromOpencodeSession",()=>n,"normalizeInteractions",()=>t])},862414,e=>{"use strict";function t(e,t,n,i,o,s,r){let l=o?`Reference Skill Definition (Using this skill as the context for evaluation):
2
- ${o}
1
+ module.exports=[738282,e=>{"use strict";function t(e){if(!e||!Array.isArray(e)||0===e.length)return[];if(e.some(e=>e&&(e.requestMessages||e.responseMessage)))return e;let t=[],n=[],i=e=>{if(0===e.length)return;let n=-1;for(let t=e.length-1;t>=0;t--)if("assistant"===e[t].role||"subagent"===e[t].role){n=t;break}-1!==n?t.push({requestMessages:e.slice(0,n),responseMessage:e[n]}):t.push({requestMessages:e,responseMessage:null})};for(let t of e){if(!t)continue;let e=t.role||"unknown";("user"===e||"opencode"===e)&&n.length>0&&(i(n),n=[]),n.push(t)}return i(n),t}function n(e){let t=new Set,n=[],i=/^[a-zA-Z0-9_\-\.]+$/,s=e=>{if(e)for(let s of e.tool_calls||e.toolCalls||[]){let e=(s?.function?.name??s?.name??"").toLowerCase(),o=s?.function?.arguments??s?.arguments??"";try{let s="string"==typeof o?JSON.parse(o):o;if("skill"===e||"load_skill"===e){let e=s?.name??s?.skill_name??s?.skillName??s?.skill;if(null!=e&&String(e).trim()){let o=String(e).trim().replace(/^['"]+|['"]+$/g,"");if(i.test(o)&&!t.has(o)){t.add(o);let e=s?.version!=null?Number(s.version):null;n.push({name:o,version:null===e||isNaN(e)?null:e})}}continue}if("task"===e){let e=s?.load_skills??s?.loadSkills??[];if(Array.isArray(e))for(let s of e){let e="string"==typeof s?s:s?.name??s?.skill??s?.skill_name??s?.skillName;if(null==e||!String(e).trim())continue;let o=String(e).trim().replace(/^['"]+|['"]+$/g,"");if(!i.test(o)||t.has(o))continue;t.add(o);let r="object"==typeof s?s?.version:null,l=null!=r?Number(r):null;n.push({name:o,version:null===l||isNaN(l)?null:l})}}}catch{}}};for(let t of e)for(let e of(s(t.responseMessage),t.requestMessages||[]))("assistant"===e.role||"subagent"===e.role)&&s(e);return n}function i(e){let t=new Set,n=[],i=/^[a-zA-Z0-9_\-\.]+$/,s=e=>{if(e)for(let s of e.tool_calls||e.toolCalls||[]){let e=String(s?.function?.name??s?.name??"").toLowerCase();if("skill_view"!==e&&"skill"!==e&&"load_skill"!==e)continue;let o=s?.function?.arguments??s?.arguments??"";try{let e="string"==typeof o?JSON.parse(o):o,s=e?.name??e?.skill_name??e?.skillName??e?.skill;if(null==s||!String(s).trim())continue;let r=String(s).trim().replace(/^['"]+|['"]+$/g,"");if(!i.test(r)||t.has(r))continue;t.add(r);let l=e?.version,a=null!=l?Number(l):null;n.push({name:r,version:null===a||Number.isNaN(a)?null:a})}catch{}}};for(let t of e)for(let e of(s(t.responseMessage),t.requestMessages||[]))(e?.role==="assistant"||e?.role==="subagent")&&s(e);return n}function s(e){let t=new Set,n=[],i=e=>{if(e&&Array.isArray(e))for(let i of e){if(i?.type!=="tool_use")continue;let e=(i?.name||"").toLowerCase();if("skill"!==e&&"load_skill"!==e)continue;let s=i.input,o=s?.skill??s?.skill_name??s?.skillName??s?.name;if(null==o||!String(o).trim())continue;let r=String(o).trim().replace(/^['"]+|['"]+$/g,"");if(/^[a-zA-Z0-9_\-\.]+$/.test(r)&&!t.has(r)){t.add(r);let e=s?.version!=null?Number(s.version):null;n.push({name:r,version:null===e||isNaN(e)?null:e})}}};for(let t of e)if(t.responseMessage?.content&&i(t.responseMessage.content),t.requestMessages)for(let e of t.requestMessages)"assistant"===e.role&&e.content&&i(e.content);return n}function o(e){let t=new Set,n=[],i=e=>{if(e&&Array.isArray(e))for(let i of e){if(i?.type!=="toolCall")continue;let e=(i?.name||"").toLowerCase();if("skill"!==e&&"load_skill"!==e)continue;let s=i?.arguments,o=s?.skill??s?.skill_name??s?.skillName??s?.name;if(null==o||!String(o).trim())continue;let r=String(o).trim().replace(/^['"]+|['"]+$/g,"");if(/^[a-zA-Z0-9_\-\.]+$/.test(r)&&!t.has(r)){t.add(r);let e=s?.version!=null?Number(s.version):null;n.push({name:r,version:null===e||isNaN(e)?null:e})}}};for(let t of e)if(t.responseMessage?.content&&i(t.responseMessage.content),t.requestMessages)for(let e of t.requestMessages)"assistant"===e.role&&e.content&&i(e.content);return n}e.s(["extractSkillsWithVersionsFromClaudeSession",()=>s,"extractSkillsWithVersionsFromHermesSession",()=>i,"extractSkillsWithVersionsFromOpenClawSession",()=>o,"extractSkillsWithVersionsFromOpencodeSession",()=>n,"normalizeInteractions",()=>t])},862414,e=>{"use strict";function t(e,t,n,i,s,o,r){let l=s?`Reference Skill Definition (Using this skill as the context for evaluation):
2
+ ${s}
3
3
 
4
- `:"",a=e=>{let t="";return"optional"===e.controlFlowType?t=" [可选 - 未执行不扣分]":"conditional"===e.controlFlowType?t=` [条件分支 - ${e.branchLabel||e.condition||""}]`:"loop"===e.controlFlowType?t=` [循环 - ${e.loopCondition||""}, 预期${e.expectedMinCount??"?"}~${e.expectedMaxCount??"?"}次]`:"handoff"===e.controlFlowType&&(t=" [衔接 - 技能间转换]"),` - [ID: ${e.id}] [Weight: ${e.weight}] ${e.content}${t}`};if("root_causes"===s)return`
4
+ `:"",a=e=>{let t="";return"optional"===e.controlFlowType?t=" [可选 - 未执行不扣分]":"conditional"===e.controlFlowType?t=` [条件分支 - ${e.branchLabel||e.condition||""}]`:"loop"===e.controlFlowType?t=` [循环 - ${e.loopCondition||""}, 预期${e.expectedMinCount??"?"}~${e.expectedMaxCount??"?"}次]`:"handoff"===e.controlFlowType&&(t=" [衔接 - 技能间转换]"),` - [ID: ${e.id}] [Weight: ${e.weight}] ${e.content}${t}`};if("root_causes"===o)return`
5
5
  You are an objective and strict judge. Your task is evaluate "Root Causes" against the "User Answer" for a given "User Query".
6
6
 
7
7
  ${l}User Query: ${e}
@@ -24,16 +24,16 @@ Respond ONLY with a JSON object in the following format:
24
24
  ...
25
25
  ]
26
26
  }
27
- `;if("key_actions"===s){let n=r?`Execution Steps (actual steps extracted from the execution trace):
27
+ `;if("key_actions"===o){let n=r?`Execution Steps (actual steps extracted from the execution trace):
28
28
  ${r}
29
29
 
30
- `:"",o=r?"Please evaluate each Key Action based on the Execution Steps above. Determine whether each action was actually performed during execution.":`User Answer: ${t}
30
+ `:"",s=r?"Please evaluate each Key Action based on the Execution Steps above. Determine whether each action was actually performed during execution.":`User Answer: ${t}
31
31
 
32
32
  Please evaluate each Key Action based on the User Answer above.`;return`
33
33
  You are an objective and strict judge. Your task is to evaluate "Key Actions" against the execution trace for a given "User Query".
34
34
 
35
35
  ${l}User Query: ${e}
36
- ${n}${o}
36
+ ${n}${s}
37
37
 
38
38
  Evaluation Criteria - Key Actions:
39
39
  ${i.map(e=>a(e)).join("\n")||" (None)"}
@@ -134,7 +134,7 @@ Respond ONLY with a JSON object in the following format:
134
134
  "reasoning": "使用中文详细解释判断依据,需要:1) 引用 Skill 定义中的相关内容 2) 说明 Agent 执行过程中的表现 3) 解释为什么是/不是 Skill 问题",
135
135
  "improvement_suggestion": "如果是 Skill 问题,给出具体的改进建议,说明应该在 Skill 中添加或修改什么内容;否则留空或不填"
136
136
  }
137
- `;function n(e,n,i,o,s){return`${t}
137
+ `;function n(e,n,i,s,o){return`${t}
138
138
 
139
139
  ---
140
140
 
@@ -150,11 +150,11 @@ ${i}
150
150
 
151
151
  ### [Agent 执行过程 - 完整交互历史]
152
152
  \`\`\`
153
- ${s}
153
+ ${o}
154
154
  \`\`\`
155
155
 
156
156
  ### [Agent 最终回答]
157
- ${o}
157
+ ${s}
158
158
 
159
159
  ### [待分析的评分项]
160
160
  - **ID**: ${n.id}
@@ -239,12 +239,12 @@ ${t}
239
239
  ${e}
240
240
 
241
241
  **请提取最终结果:**
242
- `}e.s(["EXTRACTION_PROMPT",0,t,"generateExtractionPrompt",()=>n])},307692,e=>e.a(async(t,n)=>{try{var i=e.i(522734);e.i(889228);var o=e.i(88045),s=e.i(814747),r=e.i(637351),l=e.i(106411),a=e.i(596767),c=e.i(738282),u=t([l]);[l]=u.then?(await u)():u;let k=s.default.join(process.cwd(),"data","model_debug.jsonl"),A={temperature:0,top_p:1,seed:42};function h(e,t,n){try{let o=s.default.dirname(k);i.default.existsSync(o)||i.default.mkdirSync(o,{recursive:!0});let r={timestamp:new Date().toISOString(),stage:e,input:t,output:n};i.default.appendFileSync(k,JSON.stringify(r)+"\n")}catch(e){console.error("Log error",e)}}async function d(e){let t=await (0,l.getActiveConfig)(e);if(!t)return{client:null,model:null};let n=t.apiKey||"no-api-key-required",i=t.baseUrl||"https://api.deepseek.com",{customFetch:s}=(0,r.getProxyConfig)();return{client:new o.OpenAI({apiKey:n,baseURL:i,fetch:s}),model:t.model||"deepseek-chat"}}async function f(e,t){let n,i=(n=Number(process.env.JUDGMENT_TIMEOUT_MS||3e5),!Number.isFinite(n)||n<=0?3e5:n),o=new AbortController,s=setTimeout(()=>o.abort(),i);try{return await e({signal:o.signal,timeout:i})}catch(e){if(o.signal.aborted)throw Error(`${t} timeout after ${i}ms`);throw e}finally{clearTimeout(s)}}async function g(t,n,i,o,s){let{client:r,model:l}=await d(o);if(!r||!r.apiKey)return console.warn("LLM Evaluation disabled or missing config. Skipping."),{is_correct:!1,score:0,reason:"请在首页左上角的设置中配置 LLM"};try{let o=n.root_causes||[],a=n.key_actions||[],c=o.map((e,t)=>({id:`RC-${t}`,...e})),u=a.map((e,t)=>({id:`KA-${t}`,...e})),{generateJudgePrompt:d}=e.r(862414),g=[];if(c.length>0){let e=d(t,i,c,[],n.skill_definition,"root_causes"),o=await f(t=>r.chat.completions.create({messages:[{role:"user",content:e}],model:l,...A},t),"RC Judgment API");console.log(`[Judge API Debug] RC Model: ${l}. Received response choices:`,o?.choices?.length);let s=o.choices?.[0]?.message?.content;if(h("rc_evaluation",{prompt:e},{raw_output:s}),s){let e=s.trim(),t=e.match(/```(?:json)?\s*([\s\S]*?)\s*```/i);if(t)e=t[1];else{let t=e.indexOf("{"),n=e.lastIndexOf("}");-1!==t&&-1!==n&&n>=t&&(e=e.substring(t,n+1))}try{let t=JSON.parse(e);g.push(...t.evaluations||[])}catch(e){console.warn("[Judge] Failed to parse RC result:",e)}}}if(u.length>0){let e=s&&s.length>0?s.map((e,t)=>`步骤${t+1}: [${e.type}] ${e.name} - ${e.description}`).join("\n"):null,o=d(t,e||i,[],u,n.skill_definition,"key_actions",e||null),a=await f(e=>r.chat.completions.create({messages:[{role:"user",content:o}],model:l,...A},e),"KA Judgment API");console.log(`[Judge API Debug] KA Model: ${l}. Received response choices:`,a?.choices?.length);let c=a.choices?.[0]?.message?.content;if(h("ka_evaluation",{prompt:o},{raw_output:c}),c){let e=c.trim(),t=e.match(/```(?:json)?\s*([\s\S]*?)\s*```/i);if(t)e=t[1];else{let t=e.indexOf("{"),n=e.lastIndexOf("}");-1!==t&&-1!==n&&n>=t&&(e=e.substring(t,n+1))}try{let t=JSON.parse(e);g.push(...t.evaluations||[])}catch(e){console.warn("[Judge] Failed to parse KA result:",e)}}}let p=0,m=0,y=[];c.forEach(e=>{let t=g.find(t=>t.id===e.id),n=t?Math.max(0,Math.min(1,Number(t.match_score))):0,i=t?.explanation||"未找到评分结果";p+=n*e.weight,m+=e.weight,y.push(`1. **Root Cause** [${e.content.replace(/\n/g," ")}]: ${(100*n).toFixed(0)}% match. ${i} (Weight: ${e.weight})`)});let $=new Map,S=[];for(let e of u){let t=e.groupId,n=e.controlFlowType||"required";"conditional"===n&&t?($.has(t)||$.set(t,[]),$.get(t).push(e)):S.push(e)}for(let[e,t]of $){let e=t.map(e=>{let t=g.find(t=>t.id===e.id),n=t?Math.max(0,Math.min(1,Number(t.match_score))):0,i=t?.explanation||"未找到评分结果";return{ka:e,ev:t,match:n,explanation:i}}),n=e.find(e=>e.match>0||!e.explanation.includes("此分支未触发"));if(n){let{ka:t,ev:i,match:o,explanation:s}=n,r=t.branchLabel||"";for(let i of(p+=o*t.weight,m+=t.weight,y.push(`2. **Key Action** [${t.content.replace(/\n/g," ")}] (条件分支${r?" - "+r:""}): ${(100*o).toFixed(0)}% match. ${s} (Weight: ${t.weight})`),e))i.ka.id!==n.ka.id&&y.push(`2. **Key Action** [${i.ka.content.replace(/\n/g," ")}] (条件分支${i.ka.branchLabel?" - "+i.ka.branchLabel:""}): ${(100*i.match).toFixed(0)}% match. ${i.explanation} (该分支未触发,不计入总分)`)}else{let{ka:t,ev:n,match:i,explanation:o}=e[0],s=t.branchLabel||"";p+=0*t.weight,m+=t.weight,y.push(`2. **Key Action** [${t.content.replace(/\n/g," ")}] (条件分支${s?" - "+s:""}): ${(100*i).toFixed(0)}% match. ${o} (所有分支均未触发,Weight: ${t.weight})`);for(let t=1;t<e.length;t++){let n=e[t];y.push(`2. **Key Action** [${n.ka.content.replace(/\n/g," ")}] (条件分支${n.ka.branchLabel?" - "+n.ka.branchLabel:""}): ${(100*n.match).toFixed(0)}% match. ${n.explanation} (该分支未触发,不计入总分)`)}}}S.forEach(e=>{let t=g.find(t=>t.id===e.id),n=t?Math.max(0,Math.min(1,Number(t.match_score))):0,i=t?.explanation||"未找到评分结果",o=e.controlFlowType||"required";if("optional"===o)return void y.push(`2. **Key Action** [${e.content.replace(/\n/g," ")}] (可选): ${(100*n).toFixed(0)}% match. ${i} (Weight: 0, 不扣分)`);if("handoff"===o){p+=n*e.weight,m+=e.weight,y.push(`2. **Key Action** [${e.content.replace(/\n/g," ")}] (衔接): ${(100*n).toFixed(0)}% match. ${i} (Weight: ${e.weight})`);return}if("loop"===o){let t=e.loopCondition||"",o=e.expectedMinCount,s=e.expectedMaxCount;p+=n*e.weight,m+=e.weight,y.push(`2. **Key Action** [${e.content.replace(/\n/g," ")}] (循环${t?" - "+t:""}): ${(100*n).toFixed(0)}% match. ${i} (Weight: ${e.weight}, 预期次数: ${o??"?"}~${s??"?"})`);return}p+=n*e.weight,m+=e.weight,y.push(`2. **Key Action** [${e.content.replace(/\n/g," ")}]: ${(100*n).toFixed(0)}% match. ${i} (Weight: ${e.weight})`)});let k=0;k=m>0?p/m:0;let w=y.map(e=>{let t=e.match(/(\d+)% match/),n=e.match(/\(Weight: ([\d\.]+)\)/);if(t&&n){let e=(parseInt(t[1])/100).toFixed(1),i=parseFloat(n[1]).toFixed(1);return`${e}*${i}`}return null}).filter(e=>e).join(" + "),b=y.map(e=>{let t=e.match(/\(Weight: ([\d\.]+)\)/);return t?parseFloat(t[1]).toFixed(1):null}).filter(e=>e).join(" + "),x=`**Calculation**: (${w}) / (${b}) = ${p.toFixed(2)} / ${m.toFixed(2)} = ${k.toFixed(2)}`;y.push("",x);let _=y.join("\n");return{is_correct:k>=.8,score:k,reason:_}}catch(e){if(console.error("LLM Judgment Error:",e),String(e?.message||"").includes("timeout"))return{is_correct:!1,score:0,reason:"Judgment API failed: timeout"};return{is_correct:!1,score:0,reason:"Judgment API failed"}}}async function p(t,n,i,o,s,r){console.log("[ItemAttribution] Starting analysis...");let{client:l,model:a}=await d(r);if(!l||!t||!n)return console.warn(`[ItemAttribution] ✗ Early return: client=${l?"present":"absent"}, skillDef=${t?"present":"absent"}, judgmentReason=${n?"present":"absent"}`),[];let c=function(e){let t=[];if(!e)return t;let n=e.split("\n"),i={rc:0,ka:0};for(let e of n){let n=e.match(/\*\*Root Cause\*\*\s*\[(.*?)\]\s*.*?:\s*(\d+)%\s*match\.\s*(.+?)\s*\(Weight:\s*([\d.]+)\)/);if(n){t.push({id:`RC-${i.rc++}`,type:"root_cause",content:n[1].replace(/\.{3}$/,""),match_score:parseInt(n[2])/100,explanation:n[3].trim(),weight:parseFloat(n[4])});continue}let o=e.match(/\*\*Key Action\*\*\s*\[(.*?)\]\s*.*?:\s*(\d+)%\s*match\.\s*(.+?)\s*\(Weight:\s*([\d.]+)\)/);o&&t.push({id:`KA-${i.ka++}`,type:"key_action",content:o[1].replace(/\.{3}$/,""),match_score:parseInt(o[2])/100,explanation:o[3].trim(),weight:parseFloat(o[4])})}return t}(n);console.log(`[ItemAttribution] Parsed ${c.length} evaluation items from judgment reason`);let u=c.filter(e=>e.match_score<1);if(console.log(`[ItemAttribution] ${u.length} items need analysis (score < 100%)`),0===u.length)return console.log(`[ItemAttribution] ✗ No imperfect items found, returning empty array`),[];let{generateSkillIssuePrompt:g}=e.r(833526),p=[];for(let e of u)try{let n=g(t,e,i,o,s),r=await f(e=>l.chat.completions.create({messages:[{role:"user",content:n}],model:a,...A},e),"Skill issue analysis API"),c=r.choices?.[0]?.message?.content;if(!c){console.error(`
243
- [SkillAnalysis API Error 🚨] LLM content is empty for item: ${e.id}`),console.error(">>> Full LLM Response:"),console.error(JSON.stringify(r,null,2)),console.error("<<<\n");continue}h("skill_issue_analysis",{item_id:e.id,prompt:n},{raw_output:c});let u=c.trim(),d=u.match(/```(?:json)?\\s*([\\s\\S]*?)\\s*```/i);if(d)u=d[1];else{let e=u.indexOf("{"),t=u.lastIndexOf("}");-1!==e&&-1!==t&&t>=e&&(u=u.substring(e,t+1))}let m=JSON.parse(u);!0===m.is_skill_issue?(p.push({...e,is_skill_issue:!0,reasoning:m.reasoning??"",improvement_suggestion:m.improvement_suggestion}),console.log(`[SkillAnalysis] ${e.id}: IS Skill Issue - ${m.reasoning?.substring(0,50)}...`)):console.log(`[SkillAnalysis] ${e.id}: NOT Skill Issue - ${m.reasoning?.substring(0,50)}...`)}catch(t){console.error(`[SkillAnalysis] Error analyzing ${e.id}:`,t.message),h("skill_issue_analysis_error",{item_id:e.id},{error:t.message})}return p}async function m(t,n,i,o,s,r,l,c){let u=$(t),g=(0,a.buildFaultPathSteps)(t,"zh");if(!u||0===u.length)return{failures:[]};try{let{client:t,model:m}=await d(c);if(!t||!t.apiKey)return console.warn("LLM Analysis disabled. Skipping."),{failures:[],skill_issues:[]};let y="",$=u[u.length-1];($.requestMessages||[]).forEach(e=>{let t="";"string"==typeof e.content?t=e.content:Array.isArray(e.content)&&(t=JSON.stringify(e.content)),y+=`[${(e.role||"UNKNOWN").toUpperCase()}]: ${t}
244
- `});let S=$.responseMessage;if(S){let e="";"string"==typeof S.content?e=S.content:Array.isArray(S.content)&&(e=JSON.stringify(S.content)),y+=`[ASSISTANT]: ${e}
245
- `}else $.debug_raw_stream&&(y+=`[SYSTEM/TOOL OUTPUTS]: (Check raw logs for full details)
246
- `);let{generateFailureAnalysisPrompt:k}=e.r(944087),w=g.map(a.formatFaultPathStepForPrompt).join("\n"),b=k(y,w),x=await f(e=>t.chat.completions.create({messages:[{role:"user",content:b}],model:m,...A},e),"Failure analysis API"),_=x.choices?.[0]?.message?.content;if(!_)return console.error("\n[Failure Analysis API Error 🚨] LLM content is empty!"),console.error(">>> Full LLM Response:"),console.error(JSON.stringify(x,null,2)),console.error("<<<\n"),{failures:[]};h("failure_analysis",{prompt:b,history_length:y.length},{raw_output:_});let v=_.trim(),I=v.match(/```(?:json)?\\s*([\\s\\S]*?)\\s*```/i);if(I)v=I[1];else{let e=v.indexOf("{"),t=v.lastIndexOf("}");-1!==e&&-1!==t&&t>=e&&(v=v.substring(e,t+1))}let N=JSON.parse(v),M=(0,a.attachFailureAnchors)(N.failures||[],g,"zh"),C=[];if(console.log(`[SkillAnalysis] Checking: skillName=${n||"none"}, skillDef=${i?"present":"absent"}, failuresCount=${M.length}, answerScore=${o}`),n&&i){console.log(`[SkillAnalysis] ✓ Skill name and definition found`);let e=l||"(见交互历史)",t=r||"(未知)";console.log(`[SkillAnalysis] Conditions check: answerScore=${o}, judgmentReason=${s?"present":"absent"}, history=${y?"present":"absent"}`),void 0!==o&&o<1&&s&&y?(console.log(`[SkillAnalysis] ✓ All conditions met. Score is imperfect (${o}). Analyzing which items are Skill issues...`),console.log(`[SkillAnalysis] Using: query=${t.substring(0,50)}..., answer=${e.substring(0,50)}..., history_len=${y.length}`),C=await p(i,s,t,e,y,c),console.log(`[SkillAnalysis] Analysis complete: ${C.length} items identified as Skill issues`)):void 0!==o&&o>=1?console.log(`[SkillAnalysis] ✗ Skipped: Perfect score (${o}). No Skill analysis needed.`):console.log(`[SkillAnalysis] ✗ Skipped: Conditions not met - answerScore=${o}, judgmentReason=${s?"present":"absent"}, history=${y?"present":"absent"}`)}else console.warn(`[SkillAnalysis] ✗ Skipped: Missing skillName (${n||"none"}) or skillDef (${i?"present":"absent"})`);return{failures:M,skill_issues:C.length>0?C:void 0}}catch(e){return console.error("Failure Analysis Error:",e),{failures:[]}}}function y(e){if(!e||"string"!=typeof e)return!1;try{let t=JSON.parse(e);if(t&&"object"==typeof t)return!0}catch(e){}return!1}function $(e){return(0,c.normalizeInteractions)(e)}async function S(t,n){let i=$(t);if(!i||0===i.length)return{query:"",skill:"",final_result:""};let o="",s="",r="";for(let e of i){let t=(e.requestMessages||[]).find(e=>"user"===e.role);if(t){let e="";if("string"==typeof t.content)e=t.content;else if(Array.isArray(t.content)){let n=t.content.filter(e=>"text"===e.type&&!e.text.trim().startsWith("<system-reminder>")&&!e.text.includes("[SUGGESTION MODE:"));n.length>0&&(e=n.map(e=>e.text).join("\n").trim())}if(e){let t=(e=e.replace(/<EXTRA_INFO>[\s\S]*?<\/EXTRA_INFO>/g,"")).trim();if("count"===t||"ping"===t||t.startsWith("Please write a 5-10 word title")||"hi"===t||"hello"===t&&i.length>2)continue;if(o||(o=t),o)break}}}for(let e=i.length-1;e>=0;e--){let t=i[e];if((t.requestMessages||[]).some(e=>"string"==typeof e.content?e.content.includes("[SUGGESTION MODE:"):!!Array.isArray(e.content)&&e.content.some(e=>e.text&&e.text.includes("[SUGGESTION MODE:"))))continue;let n=t.responseMessage,o="";if(n&&n.content&&"string"==typeof n.content)o=n.content;else if(n&&Array.isArray(n.content)){let e=n.content.find(e=>"text"===e.type);e&&(o=e.text)}if((!o||""===o.trim())&&t.debug_raw_stream)try{let e="";for(let n of t.debug_raw_stream)n.choices&&n.choices[0]&&n.choices[0].delta&&n.choices[0].delta.content&&(e+=n.choices[0].delta.content),"content_block_delta"===n.type&&n.delta&&"text_delta"===n.delta.type&&(e+=n.delta.text);e&&(o=e)}catch(e){}let r=[];if(t.requestMessages&&t.requestMessages.length>0)for(let e=t.requestMessages.length-1;e>=0;e--){let n=t.requestMessages[e];if("assistant"===n.role){let e="";if("string"==typeof n.content)e=n.content;else if(Array.isArray(n.content)){let t=n.content.find(e=>"text"===e.type);t&&(e=t.text)}if(e&&e.trim()){let t=e.trim();if(!y(t)&&(r.unshift(t),t.startsWith("#")||t.startsWith("##")||t.startsWith("###")))break}else break}else break}if(o&&o.trim()){let e=o.trim();!y(e)&&(r.push(e),e.startsWith("#")||e.startsWith("##")||e.startsWith("###"))}if(r.length>0){s=r.join("\n\n");break}}let l=new Set,a="";for(let e of i){(e.requestMessages||[]).forEach(e=>{"string"==typeof e.content?a+=e.content+"\n":Array.isArray(e.content)&&e.content.forEach(e=>{"text"===e.type&&(a+=e.text+"\n")})});let t=e.responseMessage;t&&("string"==typeof t.content?a+=t.content+"\n":Array.isArray(t.content)&&t.content.forEach(e=>{"text"===e.type&&(a+=e.text+"\n")}),t.tool_calls&&Array.isArray(t.tool_calls)&&t.tool_calls.forEach(e=>{let t=e.function?.name??e.name;if(t)if("skill"===t||"load_skill"===t)try{let t=e.function?.arguments??e.arguments,n="string"==typeof t?JSON.parse(t):t,i=n?.name??n?.skill_name??n?.skillName??n?.skill;i&&l.add(i)}catch(e){}else l.add(t)}),t.function_call&&t.function_call.name&&l.add(t.function_call.name))}let c=a.match(/(?:Loading skill|Load skill)[:\s]+([a-zA-Z0-9_\-\.]+)/i);c&&c[1]&&l.add(c[1].trim());let u=a.match(/Skill\s+([a-zA-Z0-9_\-\.]+)\s+loaded/i);u&&u[1]&&l.add(u[1].trim()),l.size>0&&(r=Array.from(l).join(", ")),console.log(`[Rule-Based Analysis] Query: ${o.substring(0,20)}..., Skill: ${r}, Result Length: ${s.length}`),h("extraction",{messages_summary:`Total ${i.length} interactions`,notes:"Scanned full history"},{query:o,skill:r,final_result:s});let g="";try{let{client:t,model:o}=await d(n);if(t&&t.apiKey){let n="";i.forEach(e=>{(e.requestMessages||[]).forEach(e=>{let t="";if("string"==typeof e.content)t=e.content;else if(Array.isArray(e.content)){let n=e.content.find(e=>"text"===e.type);n&&(t=n.text)}n+=`[${(e.role||"UNKNOWN").toUpperCase()}]: ${t}
242
+ `}e.s(["EXTRACTION_PROMPT",0,t,"generateExtractionPrompt",()=>n])},307692,e=>e.a(async(t,n)=>{try{var i=e.i(522734);e.i(889228);var s=e.i(88045),o=e.i(814747),r=e.i(637351),l=e.i(106411),a=e.i(596767),c=e.i(738282),u=t([l]);[l]=u.then?(await u)():u;let k=o.default.join(process.cwd(),"data","model_debug.jsonl"),A={temperature:0,top_p:1,seed:42};function f(e,t,n){try{let s=o.default.dirname(k);i.default.existsSync(s)||i.default.mkdirSync(s,{recursive:!0});let r={timestamp:new Date().toISOString(),stage:e,input:t,output:n};i.default.appendFileSync(k,JSON.stringify(r)+"\n")}catch(e){console.error("Log error",e)}}async function h(e){let t=await (0,l.getActiveConfig)(e);if(!t)return{client:null,model:null};let n=t.apiKey||"no-api-key-required",i=t.baseUrl||"https://api.deepseek.com",{customFetch:o}=(0,r.getProxyConfig)();return{client:new s.OpenAI({apiKey:n,baseURL:i,fetch:o}),model:t.model||"deepseek-chat"}}async function d(e,t){let n,i=(n=Number(process.env.JUDGMENT_TIMEOUT_MS||3e5),!Number.isFinite(n)||n<=0?3e5:n),s=new AbortController,o=setTimeout(()=>s.abort(),i);try{return await e({signal:s.signal,timeout:i})}catch(e){if(s.signal.aborted)throw Error(`${t} timeout after ${i}ms`);throw e}finally{clearTimeout(o)}}async function g(t,n,i,s,o){let{client:r,model:l}=await h(s);if(!r||!r.apiKey)return console.warn("LLM Evaluation disabled or missing config. Skipping."),{is_correct:!1,score:0,reason:"请在首页左上角的设置中配置 LLM"};try{let s=n.root_causes||[],a=n.key_actions||[],c=s.map((e,t)=>({id:`RC-${t}`,...e})),u=a.map((e,t)=>({id:`KA-${t}`,...e})),{generateJudgePrompt:h}=e.r(862414),g=[];if(c.length>0){let e=h(t,i,c,[],n.skill_definition,"root_causes"),s=await d(t=>r.chat.completions.create({messages:[{role:"user",content:e}],model:l,...A},t),"RC Judgment API");console.log(`[Judge API Debug] RC Model: ${l}. Received response choices:`,s?.choices?.length);let o=s.choices?.[0]?.message?.content;if(f("rc_evaluation",{prompt:e},{raw_output:o}),o){let e=o.trim(),t=e.match(/```(?:json)?\s*([\s\S]*?)\s*```/i);if(t)e=t[1];else{let t=e.indexOf("{"),n=e.lastIndexOf("}");-1!==t&&-1!==n&&n>=t&&(e=e.substring(t,n+1))}try{let t=JSON.parse(e);g.push(...t.evaluations||[])}catch(e){console.warn("[Judge] Failed to parse RC result:",e)}}}if(u.length>0){let e=o&&o.length>0?o.map((e,t)=>`步骤${t+1}: [${e.type}] ${e.name} - ${e.description}`).join("\n"):null,s=h(t,e||i,[],u,n.skill_definition,"key_actions",e||null),a=await d(e=>r.chat.completions.create({messages:[{role:"user",content:s}],model:l,...A},e),"KA Judgment API");console.log(`[Judge API Debug] KA Model: ${l}. Received response choices:`,a?.choices?.length);let c=a.choices?.[0]?.message?.content;if(f("ka_evaluation",{prompt:s},{raw_output:c}),c){let e=c.trim(),t=e.match(/```(?:json)?\s*([\s\S]*?)\s*```/i);if(t)e=t[1];else{let t=e.indexOf("{"),n=e.lastIndexOf("}");-1!==t&&-1!==n&&n>=t&&(e=e.substring(t,n+1))}try{let t=JSON.parse(e);g.push(...t.evaluations||[])}catch(e){console.warn("[Judge] Failed to parse KA result:",e)}}}let p=0,m=0,y=[];c.forEach(e=>{let t=g.find(t=>t.id===e.id),n=t?Math.max(0,Math.min(1,Number(t.match_score))):0,i=t?.explanation||"未找到评分结果";p+=n*e.weight,m+=e.weight,y.push(`1. **Root Cause** [${e.content.replace(/\n/g," ")}]: ${(100*n).toFixed(0)}% match. ${i} (Weight: ${e.weight})`)});let S=new Map,$=[];for(let e of u){let t=e.groupId,n=e.controlFlowType||"required";"conditional"===n&&t?(S.has(t)||S.set(t,[]),S.get(t).push(e)):$.push(e)}for(let[e,t]of S){let e=t.map(e=>{let t=g.find(t=>t.id===e.id),n=t?Math.max(0,Math.min(1,Number(t.match_score))):0,i=t?.explanation||"未找到评分结果";return{ka:e,ev:t,match:n,explanation:i}}),n=e.find(e=>e.match>0||!e.explanation.includes("此分支未触发"));if(n){let{ka:t,ev:i,match:s,explanation:o}=n,r=t.branchLabel||"";for(let i of(p+=s*t.weight,m+=t.weight,y.push(`2. **Key Action** [${t.content.replace(/\n/g," ")}] (条件分支${r?" - "+r:""}): ${(100*s).toFixed(0)}% match. ${o} (Weight: ${t.weight})`),e))i.ka.id!==n.ka.id&&y.push(`2. **Key Action** [${i.ka.content.replace(/\n/g," ")}] (条件分支${i.ka.branchLabel?" - "+i.ka.branchLabel:""}): ${(100*i.match).toFixed(0)}% match. ${i.explanation} (该分支未触发,不计入总分)`)}else{let{ka:t,ev:n,match:i,explanation:s}=e[0],o=t.branchLabel||"";p+=0*t.weight,m+=t.weight,y.push(`2. **Key Action** [${t.content.replace(/\n/g," ")}] (条件分支${o?" - "+o:""}): ${(100*i).toFixed(0)}% match. ${s} (所有分支均未触发,Weight: ${t.weight})`);for(let t=1;t<e.length;t++){let n=e[t];y.push(`2. **Key Action** [${n.ka.content.replace(/\n/g," ")}] (条件分支${n.ka.branchLabel?" - "+n.ka.branchLabel:""}): ${(100*n.match).toFixed(0)}% match. ${n.explanation} (该分支未触发,不计入总分)`)}}}$.forEach(e=>{let t=g.find(t=>t.id===e.id),n=t?Math.max(0,Math.min(1,Number(t.match_score))):0,i=t?.explanation||"未找到评分结果",s=e.controlFlowType||"required";if("optional"===s)return void y.push(`2. **Key Action** [${e.content.replace(/\n/g," ")}] (可选): ${(100*n).toFixed(0)}% match. ${i} (Weight: 0, 不扣分)`);if("handoff"===s){p+=n*e.weight,m+=e.weight,y.push(`2. **Key Action** [${e.content.replace(/\n/g," ")}] (衔接): ${(100*n).toFixed(0)}% match. ${i} (Weight: ${e.weight})`);return}if("loop"===s){let t=e.loopCondition||"",s=e.expectedMinCount,o=e.expectedMaxCount;p+=n*e.weight,m+=e.weight,y.push(`2. **Key Action** [${e.content.replace(/\n/g," ")}] (循环${t?" - "+t:""}): ${(100*n).toFixed(0)}% match. ${i} (Weight: ${e.weight}, 预期次数: ${s??"?"}~${o??"?"})`);return}p+=n*e.weight,m+=e.weight,y.push(`2. **Key Action** [${e.content.replace(/\n/g," ")}]: ${(100*n).toFixed(0)}% match. ${i} (Weight: ${e.weight})`)});let k=0;k=m>0?p/m:0;let w=y.map(e=>{let t=e.match(/(\d+)% match/),n=e.match(/\(Weight: ([\d\.]+)\)/);if(t&&n){let e=(parseInt(t[1])/100).toFixed(1),i=parseFloat(n[1]).toFixed(1);return`${e}*${i}`}return null}).filter(e=>e).join(" + "),b=y.map(e=>{let t=e.match(/\(Weight: ([\d\.]+)\)/);return t?parseFloat(t[1]).toFixed(1):null}).filter(e=>e).join(" + "),_=`**Calculation**: (${w}) / (${b}) = ${p.toFixed(2)} / ${m.toFixed(2)} = ${k.toFixed(2)}`;y.push("",_);let x=y.join("\n");return{is_correct:k>=.8,score:k,reason:x}}catch(e){if(console.error("LLM Judgment Error:",e),String(e?.message||"").includes("timeout"))return{is_correct:!1,score:0,reason:"Judgment API failed: timeout"};return{is_correct:!1,score:0,reason:"Judgment API failed"}}}async function p(t,n,i,s,o,r){console.log("[ItemAttribution] Starting analysis...");let{client:l,model:a}=await h(r);if(!l||!t||!n)return console.warn(`[ItemAttribution] ✗ Early return: client=${l?"present":"absent"}, skillDef=${t?"present":"absent"}, judgmentReason=${n?"present":"absent"}`),[];let c=function(e){let t=[];if(!e)return t;let n=e.split("\n"),i={rc:0,ka:0};for(let e of n){let n=e.match(/\*\*Root Cause\*\*\s*\[(.*?)\]\s*.*?:\s*(\d+)%\s*match\.\s*(.+?)\s*\(Weight:\s*([\d.]+)\)/);if(n){t.push({id:`RC-${i.rc++}`,type:"root_cause",content:n[1].replace(/\.{3}$/,""),match_score:parseInt(n[2])/100,explanation:n[3].trim(),weight:parseFloat(n[4])});continue}let s=e.match(/\*\*Key Action\*\*\s*\[(.*?)\]\s*.*?:\s*(\d+)%\s*match\.\s*(.+?)\s*\(Weight:\s*([\d.]+)\)/);s&&t.push({id:`KA-${i.ka++}`,type:"key_action",content:s[1].replace(/\.{3}$/,""),match_score:parseInt(s[2])/100,explanation:s[3].trim(),weight:parseFloat(s[4])})}return t}(n);console.log(`[ItemAttribution] Parsed ${c.length} evaluation items from judgment reason`);let u=c.filter(e=>e.match_score<1);if(console.log(`[ItemAttribution] ${u.length} items need analysis (score < 100%)`),0===u.length)return console.log(`[ItemAttribution] ✗ No imperfect items found, returning empty array`),[];let{generateSkillIssuePrompt:g}=e.r(833526),p=[];for(let e of u)try{let n=g(t,e,i,s,o),r=await d(e=>l.chat.completions.create({messages:[{role:"user",content:n}],model:a,...A},e),"Skill issue analysis API"),c=r.choices?.[0]?.message?.content;if(!c){console.error(`
243
+ [SkillAnalysis API Error 🚨] LLM content is empty for item: ${e.id}`),console.error(">>> Full LLM Response:"),console.error(JSON.stringify(r,null,2)),console.error("<<<\n");continue}f("skill_issue_analysis",{item_id:e.id,prompt:n},{raw_output:c});let u=c.trim(),h=u.match(/```(?:json)?\\s*([\\s\\S]*?)\\s*```/i);if(h)u=h[1];else{let e=u.indexOf("{"),t=u.lastIndexOf("}");-1!==e&&-1!==t&&t>=e&&(u=u.substring(e,t+1))}let m=JSON.parse(u);!0===m.is_skill_issue?(p.push({...e,is_skill_issue:!0,reasoning:m.reasoning??"",improvement_suggestion:m.improvement_suggestion}),console.log(`[SkillAnalysis] ${e.id}: IS Skill Issue - ${m.reasoning?.substring(0,50)}...`)):console.log(`[SkillAnalysis] ${e.id}: NOT Skill Issue - ${m.reasoning?.substring(0,50)}...`)}catch(t){console.error(`[SkillAnalysis] Error analyzing ${e.id}:`,t.message),f("skill_issue_analysis_error",{item_id:e.id},{error:t.message})}return p}async function m(t,n,i,s,o,r,l,c){let u=S(t),g=(0,a.buildFaultPathSteps)(t,"zh");if(!u||0===u.length)return{failures:[]};try{let{client:t,model:m}=await h(c);if(!t||!t.apiKey)return console.warn("LLM Analysis disabled. Skipping."),{failures:[],skill_issues:[]};let y="",S=u[u.length-1];(S.requestMessages||[]).forEach(e=>{let t="";"string"==typeof e.content?t=e.content:Array.isArray(e.content)&&(t=JSON.stringify(e.content)),y+=`[${(e.role||"UNKNOWN").toUpperCase()}]: ${t}
244
+ `});let $=S.responseMessage;if($){let e="";"string"==typeof $.content?e=$.content:Array.isArray($.content)&&(e=JSON.stringify($.content)),y+=`[ASSISTANT]: ${e}
245
+ `}else S.debug_raw_stream&&(y+=`[SYSTEM/TOOL OUTPUTS]: (Check raw logs for full details)
246
+ `);let{generateFailureAnalysisPrompt:k}=e.r(944087),w=g.map(a.formatFaultPathStepForPrompt).join("\n"),b=k(y,w),_=await d(e=>t.chat.completions.create({messages:[{role:"user",content:b}],model:m,...A},e),"Failure analysis API"),x=_.choices?.[0]?.message?.content;if(!x)return console.error("\n[Failure Analysis API Error 🚨] LLM content is empty!"),console.error(">>> Full LLM Response:"),console.error(JSON.stringify(_,null,2)),console.error("<<<\n"),{failures:[]};f("failure_analysis",{prompt:b,history_length:y.length},{raw_output:x});let v=x.trim(),N=v.match(/```(?:json)?\\s*([\\s\\S]*?)\\s*```/i);if(N)v=N[1];else{let e=v.indexOf("{"),t=v.lastIndexOf("}");-1!==e&&-1!==t&&t>=e&&(v=v.substring(e,t+1))}let I=JSON.parse(v),M=(0,a.attachFailureAnchors)(I.failures||[],g,"zh"),C=[];if(console.log(`[SkillAnalysis] Checking: skillName=${n||"none"}, skillDef=${i?"present":"absent"}, failuresCount=${M.length}, answerScore=${s}`),n&&i){console.log(`[SkillAnalysis] ✓ Skill name and definition found`);let e=l||"(见交互历史)",t=r||"(未知)";console.log(`[SkillAnalysis] Conditions check: answerScore=${s}, judgmentReason=${o?"present":"absent"}, history=${y?"present":"absent"}`),void 0!==s&&s<1&&o&&y?(console.log(`[SkillAnalysis] ✓ All conditions met. Score is imperfect (${s}). Analyzing which items are Skill issues...`),console.log(`[SkillAnalysis] Using: query=${t.substring(0,50)}..., answer=${e.substring(0,50)}..., history_len=${y.length}`),C=await p(i,o,t,e,y,c),console.log(`[SkillAnalysis] Analysis complete: ${C.length} items identified as Skill issues`)):void 0!==s&&s>=1?console.log(`[SkillAnalysis] ✗ Skipped: Perfect score (${s}). No Skill analysis needed.`):console.log(`[SkillAnalysis] ✗ Skipped: Conditions not met - answerScore=${s}, judgmentReason=${o?"present":"absent"}, history=${y?"present":"absent"}`)}else console.warn(`[SkillAnalysis] ✗ Skipped: Missing skillName (${n||"none"}) or skillDef (${i?"present":"absent"})`);return{failures:M,skill_issues:C.length>0?C:void 0}}catch(e){return console.error("Failure Analysis Error:",e),{failures:[]}}}function y(e){if(!e||"string"!=typeof e)return!1;try{let t=JSON.parse(e);if(t&&"object"==typeof t)return!0}catch(e){}return!1}function S(e){return(0,c.normalizeInteractions)(e)}async function $(t,n){let i=S(t);if(!i||0===i.length)return{query:"",skill:"",final_result:""};let s="",o="",r="";for(let e of i){let t=(e.requestMessages||[]).find(e=>"user"===e.role);if(t){let e="";if("string"==typeof t.content)e=t.content;else if(Array.isArray(t.content)){let n=t.content.filter(e=>"text"===e.type&&!e.text.trim().startsWith("<system-reminder>")&&!e.text.includes("[SUGGESTION MODE:"));n.length>0&&(e=n.map(e=>e.text).join("\n").trim())}if(e){let t=(e=e.replace(/<EXTRA_INFO>[\s\S]*?<\/EXTRA_INFO>/g,"")).trim();if("count"===t||"ping"===t||t.startsWith("Please write a 5-10 word title")||"hi"===t||"hello"===t&&i.length>2)continue;if(s||(s=t),s)break}}}for(let e=i.length-1;e>=0;e--){let t=i[e];if((t.requestMessages||[]).some(e=>"string"==typeof e.content?e.content.includes("[SUGGESTION MODE:"):!!Array.isArray(e.content)&&e.content.some(e=>e.text&&e.text.includes("[SUGGESTION MODE:"))))continue;let n=t.responseMessage,s="";if(n&&n.content&&"string"==typeof n.content)s=n.content;else if(n&&Array.isArray(n.content)){let e=n.content.find(e=>"text"===e.type);e&&(s=e.text)}if((!s||""===s.trim())&&t.debug_raw_stream)try{let e="";for(let n of t.debug_raw_stream)n.choices&&n.choices[0]&&n.choices[0].delta&&n.choices[0].delta.content&&(e+=n.choices[0].delta.content),"content_block_delta"===n.type&&n.delta&&"text_delta"===n.delta.type&&(e+=n.delta.text);e&&(s=e)}catch(e){}let r=[];if(t.requestMessages&&t.requestMessages.length>0)for(let e=t.requestMessages.length-1;e>=0;e--){let n=t.requestMessages[e];if("assistant"===n.role){let e="";if("string"==typeof n.content)e=n.content;else if(Array.isArray(n.content)){let t=n.content.find(e=>"text"===e.type);t&&(e=t.text)}if(e&&e.trim()){let t=e.trim();if(!y(t)&&(r.unshift(t),t.startsWith("#")||t.startsWith("##")||t.startsWith("###")))break}else break}else break}if(s&&s.trim()){let e=s.trim();!y(e)&&(r.push(e),e.startsWith("#")||e.startsWith("##")||e.startsWith("###"))}if(r.length>0){o=r.join("\n\n");break}}let l=new Set,a="";for(let e of i){(e.requestMessages||[]).forEach(e=>{"string"==typeof e.content?a+=e.content+"\n":Array.isArray(e.content)&&e.content.forEach(e=>{"text"===e.type&&(a+=e.text+"\n")})});let t=e.responseMessage;t&&("string"==typeof t.content?a+=t.content+"\n":Array.isArray(t.content)&&t.content.forEach(e=>{"text"===e.type&&(a+=e.text+"\n")}),t.tool_calls&&Array.isArray(t.tool_calls)&&t.tool_calls.forEach(e=>{let t=e.function?.name??e.name;if(t)if("skill"===t||"load_skill"===t)try{let t=e.function?.arguments??e.arguments,n="string"==typeof t?JSON.parse(t):t,i=n?.name??n?.skill_name??n?.skillName??n?.skill;i&&l.add(i)}catch(e){}else l.add(t)}),t.function_call&&t.function_call.name&&l.add(t.function_call.name))}let c=a.match(/(?:Loading skill|Load skill)[:\s]+([a-zA-Z0-9_\-\.]+)/i);c&&c[1]&&l.add(c[1].trim());let u=a.match(/Skill\s+([a-zA-Z0-9_\-\.]+)\s+loaded/i);u&&u[1]&&l.add(u[1].trim()),l.size>0&&(r=Array.from(l).join(", ")),console.log(`[Rule-Based Analysis] Query: ${s.substring(0,20)}..., Skill: ${r}, Result Length: ${o.length}`),f("extraction",{messages_summary:`Total ${i.length} interactions`,notes:"Scanned full history"},{query:s,skill:r,final_result:o});let g="";try{let{client:t,model:s}=await h(n);if(t&&t.apiKey){let n="";i.forEach(e=>{(e.requestMessages||[]).forEach(e=>{let t="";if("string"==typeof e.content)t=e.content;else if(Array.isArray(e.content)){let n=e.content.find(e=>"text"===e.type);n&&(t=n.text)}n+=`[${(e.role||"UNKNOWN").toUpperCase()}]: ${t}
247
247
  `});let t=e.responseMessage;if(t){let e="";if("string"==typeof t.content)e=t.content;else if(Array.isArray(t.content)){let n=t.content.find(e=>"text"===e.type);n&&(e=n.text)}n+=`[ASSISTANT]: ${e}
248
- `}});let{generateExtractionPrompt:s}=e.r(318868),r=s(n),l=(await f(e=>t.chat.completions.create({messages:[{role:"user",content:r}],model:o,...A},e),"Session extraction API")).choices[0].message.content;l&&(g=l.trim(),h("result_extraction_llm",{history_length:n.length},{extracted:g}))}}catch(e){console.error("LLM Extraction Failed",e)}return g&&g.length>20?(console.log(`[Judge] LLM extraction preferred (Length: ${g.length} vs Rule: ${s.length})`),s=g):s&&console.log(`[Judge] Rule-Based extraction used (Length: ${s.length})`),{query:o,skill:r,final_result:s}}e.s(["analyzeFailures",()=>m,"analyzeSession",()=>S,"judgeAnswer",()=>g,"normalizeInteractions",()=>$]),n()}catch(e){n(e)}},!1)];
248
+ `}});let{generateExtractionPrompt:o}=e.r(318868),r=o(n),l=(await d(e=>t.chat.completions.create({messages:[{role:"user",content:r}],model:s,...A},e),"Session extraction API")).choices[0].message.content;l&&(g=l.trim(),f("result_extraction_llm",{history_length:n.length},{extracted:g}))}}catch(e){console.error("LLM Extraction Failed",e)}return g&&g.length>20?(console.log(`[Judge] LLM extraction preferred (Length: ${g.length} vs Rule: ${o.length})`),o=g):o&&console.log(`[Judge] Rule-Based extraction used (Length: ${o.length})`),{query:s,skill:r,final_result:o}}e.s(["analyzeFailures",()=>m,"analyzeSession",()=>$,"judgeAnswer",()=>g,"normalizeInteractions",()=>S]),n()}catch(e){n(e)}},!1)];
249
249
 
250
250
  //# sourceMappingURL=src_34fb142e._.js.map
@@ -24,6 +24,6 @@ Rules:
24
24
  - Preserve domain terms, repo terms, tool names, protocol names, object names, and constraints that affect routing.
25
25
  - Remove storytelling details, hostnames, dates, and incidental wording unless they are essential to routing.
26
26
  - The output language must match the query language.
27
- `.trim(),c=await u.chat.completions.create({messages:[{role:"user",content:l}],model:t.model||"deepseek-chat",temperature:.1}),m=c.choices[0]?.message?.content;if(!m)throw Error("No content returned for routing signature extraction");let g=function(t){let e=t.trim(),r=e.match(/```(?:json)?\s*([\s\S]*?)\s*```/i);if(r)e=r[1];else{let t=e.indexOf("{"),r=e.lastIndexOf("}");-1!==t&&-1!==r&&r>=t&&(e=e.slice(t,r+1))}let n=JSON.parse(e),i="string"==typeof n.intent?n.intent.trim():"",a=Array.isArray(n.anchors)?n.anchors.filter(t=>"string"==typeof t).map(t=>t.trim()):[];return{intent:i,anchors:(function(t){let e=new Set,r=[];for(let n of t){let t=s(n);!t||e.has(t)||(e.add(t),r.push(n.trim()))}return r})(a).slice(0,8)}}(m);if(!g.intent||0===g.anchors.length)throw Error("Routing signature extraction returned empty intent or anchors");return g})().finally(()=>{m.delete(o)});return m.set(o,u),u}function c(t,e){let r=u(t),n=u(e.intent),i=e.anchors.filter(t=>{let e=u(t);return!!e&&r.includes(e)});return{intentMatched:!!(r&&n&&(r===n||r.includes(n)||n.includes(r))),matchedAnchors:i,anchorCoverage:e.anchors.length>0?i.length/e.anchors.length:0}}t.s(["deriveRoutingSignature",()=>l,"matchQueryToStoredRoutingSignature",()=>c]),r()}catch(t){r(t)}},!1),982505,t=>t.a(async(e,r)=>{try{var n=t.i(948594),i=e([n]);function a(t){let e="number"==typeof t?t:"string"==typeof t?Number(t):NaN;return Number.isFinite(e)?e:void 0}function o(t){if("number"==typeof t&&Number.isFinite(t))return t;if("string"!=typeof t)return null;let e=t.trim();if(!e)return null;if(/^\d+$/.test(e)){let t=Number(e);return Number.isFinite(t)?t:null}let r=Date.parse(e);return Number.isFinite(r)?r:null}function s(t){return t.map(t=>t&&"object"==typeof t&&"text"===String(t.type||"").toLowerCase()?String(t.text||""):"").filter(Boolean).join("")}function u(t){return Array.isArray(t)&&0!==t.length?t.map(t=>{var e;let r,n,i,u,l,c;if(!function(t){if(!t||"object"!=typeof t)return!1;let e=t.info;if(!e||"object"!=typeof e)return!1;let r=t.parts;return Array.isArray(r)||Array.isArray(e.parts)}(t))return null;let m=t.info||{},g=Array.isArray(t.parts)?t.parts:Array.isArray(m.parts)?m.parts:[],f=(e=m.role,"string"==typeof e&&e.trim()?e.trim():"assistant"),p=m.time?.created,d=m.time?.completed,y=o(p),h="user"===f?s(g)||String(m.system||""):s(g),v=g.map(t=>{if(!t||"object"!=typeof t||"tool"!==String(t.type||"").toLowerCase())return null;let e=t.state&&"object"==typeof t.state?t.state:{};return{id:t.callID||t.callId||t.id,type:"function",function:{name:t.tool,arguments:function(t){if("string"==typeof t)return t;try{return JSON.stringify(t??{})}catch{return"{}"}}(e.input)},state:e.status||e.state,output:e.output}}).filter(Boolean),b=m.tokens&&"object"==typeof m.tokens?m.tokens:void 0,k=b?{input:a(b.input),output:a(b.output),reasoning:a(b.reasoning),cache:{read:a(b.cache?.read),write:a(b.cache?.write)},total:(r=a(b?.input)||0,n=a(b?.output)||0,i=a(b?.reasoning)||0,u=a(b?.cache?.read)||0,l=a(b?.cache?.write)||0,c=i>0&&n<i?n+i:n,{input:r,output:c,reasoning:i,cacheRead:u,cacheWrite:l,total:r+c+i+u+l}).total}:void 0;return{role:f,content:h||void 0,tool_calls:v.length>0?v:void 0,usage:k,timestamp:null!==y?new Date(y).toISOString():void 0,timeInfo:null!=p||null!=d?{created:p,completed:d}:void 0,agent:"string"==typeof m.agent?m.agent:void 0,modelID:"string"==typeof m.modelID?m.modelID:void 0,providerID:"string"==typeof m.providerID?m.providerID:void 0,cost:m.cost}}).filter(t=>null!==t).sort((t,e)=>(o(t.timeInfo?.created)||0)-(o(e.timeInfo?.created)||0)):[]}function l(t){let e=t.map(t=>o(t.timeInfo?.created)??o(t.timestamp)).find(t=>Number.isFinite(t));return e?new Date(e):new Date}function c(t,e){let r,n,i,a,o=t.some(t=>"assistant"===t.role&&"string"==typeof t.content&&t.content.trim().length>0),s=(r=new Date().toISOString(),n=String(e.query||"").trim(),i=String(e.fallbackOutput||"").trim(),a=[],n&&a.push({role:"user",content:n,timestamp:r}),i&&a.push({role:"assistant",content:i,timestamp:r,agent:String(e.agentName||"").trim()||void 0}),a);if(0===t.length)return s;if(o||!String(e.fallbackOutput||"").trim())return t;let u=s.find(t=>"assistant"===t.role);return u?[...t,u]:t}async function m(t,e){let r=String(e.taskId||"").trim(),i=String(e.agentName||"").trim();if(!r||!i)return 0;let a=await t.listMessages(r),o=c(u(Array.isArray(a)?a:[]),e);return await (0,n.saveExecutionRecord)({task_id:r,upload_id:r,query:String(e.query||"").trim()||void 0,framework:e.framework||"opencode",user:e.user??null,agent:i,agentName:i,final_result:String(e.fallbackOutput||"").trim()||void 0,skill:e.skill??void 0,skill_version:e.skillVersion??void 0,interactions:o,timestamp:l(o),skip_evaluation:!0,skip_internal_judgment:!0,failures:[],skill_issues:[],force_query_update:!0,opencode_cli_completed:!0}),o.length}function g(t){let e=t.timestampISO||new Date().toISOString(),r=[],n=String(t.userMessage||t.query||"").trim();n&&r.push({role:"user",content:n,timestamp:e});let i=String(t.assistantOutput||"").trim();if(i){let n=t.usage?{input:t.usage.input,output:t.usage.output,total:"number"==typeof t.usage.total?t.usage.total:(t.usage.input||0)+(t.usage.output||0)}:void 0;r.push({role:"assistant",content:i,timestamp:e,agent:t.agentName||void 0,modelID:t.modelID||void 0,usage:n})}return r}async function f(t){let e=String(t.taskId||"").trim(),r=String(t.agentName||"").trim();if(!e||!r)return 0;let i=g(t);return 0===i.length?0:(await (0,n.saveExecutionRecord)({task_id:e,upload_id:e,query:String(t.query||"").trim()||void 0,framework:t.framework||"direct-llm",user:t.user??null,agent:r,agentName:r,model:t.modelID??void 0,final_result:String(t.assistantOutput||"").trim()||void 0,skill:t.skill??void 0,skill_version:t.skillVersion??void 0,interactions:i,timestamp:l(i),skip_evaluation:!0,skip_internal_judgment:!0,failures:[],skill_issues:[],force_query_update:!0,opencode_cli_completed:!0}),i.length)}function p(){return"1"===process.env.EVAL_FORCE_OPENCODE_TRANSPORT}[n]=i.then?(await i)():i,t.s(["buildDirectEvaluatorInteractions",()=>g,"ensureEvaluatorExecutionInteractions",()=>c,"normalizeEvaluatorExecutionInteractions",()=>u,"recordDirectEvaluatorExecution",()=>f,"recordEvaluatorExecution",()=>m,"shouldForceOpencodeEvalTransport",()=>p]),r()}catch(t){r(t)}},!1)];
27
+ `.trim(),c=await u.chat.completions.create({messages:[{role:"user",content:l}],model:t.model||"deepseek-chat",temperature:.1}),m=c.choices[0]?.message?.content;if(!m)throw Error("No content returned for routing signature extraction");let g=function(t){let e=t.trim(),r=e.match(/```(?:json)?\s*([\s\S]*?)\s*```/i);if(r)e=r[1];else{let t=e.indexOf("{"),r=e.lastIndexOf("}");-1!==t&&-1!==r&&r>=t&&(e=e.slice(t,r+1))}let n=JSON.parse(e),i="string"==typeof n.intent?n.intent.trim():"",a=Array.isArray(n.anchors)?n.anchors.filter(t=>"string"==typeof t).map(t=>t.trim()):[];return{intent:i,anchors:(function(t){let e=new Set,r=[];for(let n of t){let t=s(n);!t||e.has(t)||(e.add(t),r.push(n.trim()))}return r})(a).slice(0,8)}}(m);if(!g.intent||0===g.anchors.length)throw Error("Routing signature extraction returned empty intent or anchors");return g})().finally(()=>{m.delete(o)});return m.set(o,u),u}function c(t,e){let r=u(t),n=u(e.intent),i=e.anchors.filter(t=>{let e=u(t);return!!e&&r.includes(e)});return{intentMatched:!!(r&&n&&(r===n||r.includes(n)||n.includes(r))),matchedAnchors:i,anchorCoverage:e.anchors.length>0?i.length/e.anchors.length:0}}t.s(["deriveRoutingSignature",()=>l,"matchQueryToStoredRoutingSignature",()=>c]),r()}catch(t){r(t)}},!1),982505,t=>t.a(async(e,r)=>{try{var n=t.i(948594),i=e([n]);function a(t){let e="number"==typeof t?t:"string"==typeof t?Number(t):NaN;return Number.isFinite(e)?e:void 0}function o(t){if("number"==typeof t&&Number.isFinite(t))return t;if("string"!=typeof t)return null;let e=t.trim();if(!e)return null;if(/^\d+$/.test(e)){let t=Number(e);return Number.isFinite(t)?t:null}let r=Date.parse(e);return Number.isFinite(r)?r:null}function s(t){return t.map(t=>t&&"object"==typeof t&&"text"===String(t.type||"").toLowerCase()?String(t.text||""):"").filter(Boolean).join("")}function u(t){return Array.isArray(t)&&0!==t.length?t.map(t=>{var e;let r,n,i,u,l,c;if(!function(t){if(!t||"object"!=typeof t)return!1;let e=t.info;if(!e||"object"!=typeof e)return!1;let r=t.parts;return Array.isArray(r)||Array.isArray(e.parts)}(t))return null;let m=t.info||{},g=Array.isArray(t.parts)?t.parts:Array.isArray(m.parts)?m.parts:[],f=(e=m.role,"string"==typeof e&&e.trim()?e.trim():"assistant"),p=m.time?.created,d=m.time?.completed,y=o(p),h="user"===f?s(g)||String(m.system||""):s(g),v=g.map(t=>{if(!t||"object"!=typeof t||"tool"!==String(t.type||"").toLowerCase())return null;let e=t.state&&"object"==typeof t.state?t.state:{};return{id:t.callID||t.callId||t.id,type:"function",function:{name:t.tool,arguments:function(t){if("string"==typeof t)return t;try{return JSON.stringify(t??{})}catch{return"{}"}}(e.input)},state:e.status||e.state,output:e.output}}).filter(Boolean),b=m.tokens&&"object"==typeof m.tokens?m.tokens:void 0,k=b?{input:a(b.input),output:a(b.output),reasoning:a(b.reasoning),cache:{read:a(b.cache?.read),write:a(b.cache?.write)},total:(r=a(b?.input)||0,n=a(b?.output)||0,i=a(b?.reasoning)||0,u=a(b?.cache?.read)||0,l=a(b?.cache?.write)||0,c=i>0&&n<i?n+i:n,{input:r,output:c,reasoning:i,cacheRead:u,cacheWrite:l,total:r+c+i+u+l}).total}:void 0;return{role:f,content:h||void 0,tool_calls:v.length>0?v:void 0,usage:k,timestamp:null!==y?new Date(y).toISOString():void 0,timeInfo:null!=p||null!=d?{created:p,completed:d}:void 0,agent:"string"==typeof m.agent?m.agent:void 0,modelID:"string"==typeof m.modelID?m.modelID:void 0,providerID:"string"==typeof m.providerID?m.providerID:void 0,cost:m.cost}}).filter(t=>null!==t).sort((t,e)=>(o(t.timeInfo?.created)||0)-(o(e.timeInfo?.created)||0)):[]}function l(t){let e=t.map(t=>o(t.timeInfo?.created)??o(t.timestamp)).find(t=>Number.isFinite(t));return e?new Date(e):new Date}function c(t,e){let r,n,i,a,o=t.some(t=>"assistant"===t.role&&"string"==typeof t.content&&t.content.trim().length>0),s=(r=new Date().toISOString(),n=String(e.query||"").trim(),i=String(e.fallbackOutput||"").trim(),a=[],n&&a.push({role:"user",content:n,timestamp:r}),i&&a.push({role:"assistant",content:i,timestamp:r,agent:String(e.agentName||"").trim()||void 0}),a);if(0===t.length)return s;if(o||!String(e.fallbackOutput||"").trim())return t;let u=s.find(t=>"assistant"===t.role);return u?[...t,u]:t}async function m(t,e){let r=String(e.taskId||"").trim(),i=String(e.agentName||"").trim();if(!r||!i)return 0;let a=await t.listMessages(r),o=c(u(Array.isArray(a)?a:[]),e);return await (0,n.saveExecutionRecord)({task_id:r,upload_id:r,query:String(e.query||"").trim()||void 0,framework:e.framework||"opencode",user:e.user??null,agent:i,agentName:i,final_result:String(e.fallbackOutput||"").trim()||void 0,skill:e.skill??void 0,skill_version:e.skillVersion??void 0,interactions:o,timestamp:l(o),skip_evaluation:!0,skip_internal_judgment:!0,failures:[],skill_issues:[],force_query_update:!0,opencode_cli_completed:!0}),o.length}function g(t){let e=t.timestampISO||new Date().toISOString(),r=[],n=String(t.systemPrompt||"").trim();n&&r.push({role:"system",content:n,timestamp:e});let i=String(t.userMessage||t.query||"").trim();i&&r.push({role:"user",content:i,timestamp:e});let a=String(t.assistantOutput||"").trim();if(a){let n=t.usage?{input:t.usage.input,output:t.usage.output,total:"number"==typeof t.usage.total?t.usage.total:(t.usage.input||0)+(t.usage.output||0)}:void 0;r.push({role:"assistant",content:a,timestamp:e,agent:t.agentName||void 0,modelID:t.modelID||void 0,usage:n})}return r}async function f(t){let e=String(t.taskId||"").trim(),r=String(t.agentName||"").trim();if(!e||!r)return 0;let i=g(t);return 0===i.length?0:(await (0,n.saveExecutionRecord)({task_id:e,upload_id:e,query:String(t.query||"").trim()||void 0,framework:t.framework||"direct-llm",user:t.user??null,agent:r,agentName:r,model:t.modelID??void 0,final_result:String(t.assistantOutput||"").trim()||void 0,skill:t.skill??void 0,skill_version:t.skillVersion??void 0,interactions:i,timestamp:l(i),skip_evaluation:!0,skip_internal_judgment:!0,failures:[],skill_issues:[],force_query_update:!0,opencode_cli_completed:!0}),i.length)}function p(){return"1"===process.env.EVAL_FORCE_OPENCODE_TRANSPORT}[n]=i.then?(await i)():i,t.s(["buildDirectEvaluatorInteractions",()=>g,"ensureEvaluatorExecutionInteractions",()=>c,"normalizeEvaluatorExecutionInteractions",()=>u,"recordDirectEvaluatorExecution",()=>f,"recordEvaluatorExecution",()=>m,"shouldForceOpencodeEvalTransport",()=>p]),r()}catch(t){r(t)}},!1)];
28
28
 
29
29
  //# sourceMappingURL=src_lib_1466262d._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[997215,t=>{"use strict";function e(t){if(null==t)return"";if("string"==typeof t)return t;if("number"==typeof t||"boolean"==typeof t)return String(t);if(Array.isArray(t))return t.map(function t(e){if(null==e)return"";if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e)return String(e);if(Array.isArray(e))return e.map(t).filter(Boolean).join("");if("object"==typeof e){if("string"==typeof e.text)return e.text;if("string"==typeof e.content)return e.content;if(Array.isArray(e.content))return t(e.content)}return""}).filter(Boolean).join("");if("object"==typeof t){if("string"==typeof t.text)return t.text;if("string"==typeof t.content)return t.content;if(Array.isArray(t.content))return e(t.content)}return""}function n(t){if(!t||!Object.prototype.hasOwnProperty.call(t,"content")||"string"==typeof t.content)return t;let n={...t};return void 0===n.content_blocks&&null!=n.content&&(n.content_blocks=n.content),n.content=e(n.content),n}function r(t){if(!t||"object"!=typeof t)return t;let e=n({...t});return e.message&&"object"==typeof e.message&&(e.message=n({...e.message})),e.responseMessage&&"object"==typeof e.responseMessage&&(e.responseMessage=n({...e.responseMessage})),Array.isArray(e.requestMessages)&&(e.requestMessages=e.requestMessages.map(t=>t&&"object"==typeof t?n({...t}):t)),e}function s(t){return Array.isArray(t)?t.map(r):[]}t.s(["normalizeClaudeCodeInteractionsForStorage",()=>s,"stringifyClaudeContent",()=>e])},286372,t=>{"use strict";var e=t.i(997215);function n(t){if(!t||0===t.length)return null;let n=0,u=()=>`n${++n}`,d=t.find(t=>t.agent)?.agent||"Agent",p=s({id:u(),agentName:d,subagentType:null,sessionId:"TOP",parentId:null,depth:0}),c=[],m=new Map;m.set("TOP",p);let f=new Map;for(let n=0;n<t.length;n++){var g,h,y,k;let _,b=t[n];if("system"===b.role){let t={text:(0,e.stringifyClaudeContent)(b.content),sha256:b.system_prompt_sha256,length:b.system_prompt_length,modelID:b.system_prompt_modelID,providerID:b.system_prompt_providerID};if(!t.text)continue;let n=b.subagent_session_id;if(n)if(m.has(n)){let e=m.get(n);e.systemPrompts||(e.systemPrompts=[]),e.systemPrompts.some(e=>t.sha256&&e.sha256===t.sha256||!t.sha256&&e.text===t.text)||e.systemPrompts.push(t)}else f.has(n)||f.set(n,[]),f.get(n).push(t);else p.systemPrompts||(p.systemPrompts=[]),p.systemPrompts.some(e=>t.sha256&&e.sha256===t.sha256||!t.sha256&&e.text===t.text)||p.systemPrompts.push(t);continue}let A="subagent"===b.role&&!!b.subagent_session_id,x=A?b.subagent_session_id:"TOP",I=b.agent||(A?b.subagent_name||"Subagent":d);if(A){let t=function(t){let e=(t.subagent_name||t.agent||"").trim();if(!e)return null;let n=e.match(/^([A-Za-z][\w-]*)/);return n?n[1].toLowerCase():e.toLowerCase()}(b),e=function(t,e){let n=c.findIndex(n=>n.expectedSessionId===t&&(!e||n.subagentType===e));if(n>=0)return c.splice(n,1)[0];if(!e)return;let r=c.findIndex(t=>!t.expectedSessionId&&t.subagentType===e);return r>=0?c.splice(r,1)[0]:void 0}(x,t);if(e){let n=e.parentNode;for(let r of(_=s({id:u(),agentName:I,subagentType:e.subagentType||t,sessionId:x,parentId:n.id,depth:n.depth+1}),e.parallelCount>1&&(_.parallelCallCount=e.parallelCount),n.children.push(_),m.set(x,_),e.spawnEvents))r.spawnedChildId=_.id;null==e.startedAt||_.startedAt||(_.startedAt=e.startedAt),function(t,e){let n=f.get(e);if(n&&n.length){for(let e of(t.systemPrompts||(t.systemPrompts=[]),n))t.systemPrompts.some(t=>e.sha256&&t.sha256===e.sha256||!e.sha256&&t.text===e.text)||t.systemPrompts.push(e);f.delete(e)}}(_,x)}else _=m.get(x)}else _=m.get(x)||p;if(_||(_=p),function(t){if("user"!==t.role&&"opencode"!==t.role&&"subagent"!==t.role||(0,e.stringifyClaudeContent)(t.content).trim())return!1;let n=t.parts;return!!Array.isArray(n)&&0!==n.length&&n.every(t=>"compaction"===(t?.type||"").toLowerCase())}(b))continue;let $=a(b),v=o(b)??$;null!=$&&(!_.startedAt||$<_.startedAt)&&(_.startedAt=$),null!=v&&(!_.endedAt||v>_.endedAt)&&(_.endedAt=v);let C=b.usage;if(C&&(_.stats.inputTokens+=C.input||0,_.stats.outputTokens+=C.output||0,_.stats.cacheReadTokens+=C.cache?.read||0,_.stats.cacheWriteTokens+=C.cache?.write||0,_.stats.reasoningTokens+=C.reasoning||0,_.stats.totalTokens+=C.total||0),"compaction"===(g=b).mode&&!0===g.summary){let t={interactionIndex:n,summaryText:l(b.parts,"text"),reasoningText:l(b.parts,"reasoning")||void 0,modelID:b.modelID,providerID:b.providerID,startedAt:$,completedAt:v,usage:b.usage};_.compactions||(_.compactions=[]),_.compactions.push(t);continue}for(let t of(_.interactionIndices.push(n),_.stats.interactions++,"Agent"===_.agentName&&I&&(_.agentName=I),function(t,n){let r=[],s=a(t),u=o(t),d=(0,e.stringifyClaudeContent)(t.content),p=function(t){let e=[],n=new Map;for(let r of t){let t=function(t){let e=t.id;if("string"==typeof e&&e.trim())return`id:${e.trim()}`;let n=t.function?.name||t.name||"unknown",r=t.function?.arguments??t.arguments??"";return`sig:${n}:${function(t){if(null==t)return"";if("string"==typeof t)return t;try{return JSON.stringify(t)}catch{return String(t)}}(r)}`}(r),s=n.get(t);null==s?(n.set(t,e.length),e.push(r)):e[s]=function(t,e){let n={...t,...e};return void 0!==t.output&&void 0===e.output&&(n.output=t.output),void 0!==t.result&&void 0===e.result&&(n.result=t.result),t.timing&&!e.timing&&(n.timing=t.timing),n}(e[s],r)}return e}(t.tool_calls||[]);"user"===t.role&&d.trim()&&r.push({kind:"user",interaction:t,interactionIndex:n,startedAt:s,completedAt:u,summary:d});let c="assistant"===t.role||"subagent"===t.role||"opencode"===t.role,m=d.trim()?d:l(t.parts,"reasoning");if(0===p.length)return c&&m.trim()&&r.push({kind:"llm",interaction:t,interactionIndex:n,startedAt:s,completedAt:u,summary:m,usage:t.usage}),r;for(let e of(c&&r.push({kind:"llm",interaction:t,interactionIndex:n,startedAt:s,completedAt:u,summary:m,usage:t.usage}),p)){let a,o=e.function?.name||e.name||"unknown",l=e.function?.arguments??e.arguments;if("string"==typeof l)try{a=JSON.parse(l)}catch{a=l}else a=l;let u={kind:"task"===o?"task":"skill"===o?"skill":"tool",name:o,args:a,output:e.output??e.result,interaction:t,interactionIndex:n,startedAt:i(e.timing?.started_at)??s,completedAt:i(e.timing?.completed_at),summary:function(t,e){if(!e||"object"!=typeof e)return t;if("task"===t){let t=e.description||e.subagent_type||"",n=e.subagent_type?`[${e.subagent_type}]`:"";return`task ${n} ${t}`.trim()}return"skill"===t?`skill: ${e.name||""}`:"bash"===t?`bash: ${(e.command||"").slice(0,80)}`:"read"===t?`read: ${e.path||e.file_path||""}`:"write"===t?`write: ${e.path||e.file_path||""}`:"glob"===t?`glob: ${e.pattern||""}`:t}(o,a)};u._toolCallId=e.id,u.splitParallelTask=!!e.trace_split_parallel_task,r.push(u)}return r}(b,n)))if(_.events.push(t),"llm"===t.kind)_.stats.llmCalls++;else if("skill"===t.kind)_.stats.skillCalls++;else if("task"===t.kind){_.stats.taskCalls++;let e=t.args?.subagent_type||t.args?.subagentType;e&&(h=_,y=n,c.push({parentNode:h,subagentType:e,expectedSessionId:r((k=t).args)??r(k.output),startedAt:t.startedAt,spawnEvents:[t],parallelCount:1,parentInteractionIndex:y}))}else"tool"===t.kind&&_.stats.toolCalls++}return function t(e){if(Number.isFinite(e.startedAt)&&Number.isFinite(e.endedAt)){let t=e.endedAt-e.startedAt;e.stats.durationMs=t>=0?t:void 0}for(let n of e.children)t(n)}(p),p}function r(t,e=0){if(null!=t&&!(e>3)){if("string"==typeof t){let n=t.trim();if(!n)return;if(n.startsWith("{")||n.startsWith("["))try{let t=JSON.parse(n),s=r(t,e+1);if(s)return s}catch{}let s=n.match(/\b(?:session_id|sessionId|subagent_session_id|subagentSessionId)\s*[:=]\s*([A-Za-z0-9_.:-]+)/);return s?.[1]}if(Array.isArray(t)){for(let n of t){let t=r(n,e+1);if(t)return t}return}if("object"==typeof t){let n=t.session_id??t.sessionId??t.subagent_session_id??t.subagentSessionId;if("string"==typeof n&&n.trim())return n.trim();for(let n of Object.values(t)){let t=r(n,e+1);if(t)return t}}}}function s(t){return{...t,events:[],children:[],startedAt:void 0,endedAt:void 0,stats:{interactions:0,llmCalls:0,toolCalls:0,skillCalls:0,taskCalls:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheWriteTokens:0,reasoningTokens:0,totalTokens:0,durationMs:void 0},interactionIndices:[]}}function i(t){if(null!=t){if("number"==typeof t&&Number.isFinite(t))return t>0&&t<1e10?1e3*t:t;if("string"==typeof t){let e=t.trim();if(!e)return;if(/^\d+(\.\d+)?$/.test(e)){let t=Number(e);if(!Number.isFinite(t))return;return t>0&&t<1e10?1e3*t:t}let n=Date.parse(e);return Number.isFinite(n)?n:void 0}}}function a(t){return i(t.timeInfo?.created)??i(t.timestamp)}function o(t){return i(t.timeInfo?.completed)}function l(t,e){if(!Array.isArray(t)||0===t.length)return"";let n=[];for(let r of t){if((r?.type||"").toLowerCase()!==e)continue;let t="string"==typeof r?.text?r.text:"";t&&n.push(t)}return n.join("")}t.s(["buildAgentCallTree",()=>n,"walkTree",()=>function t(e,n){for(let r of(n(e),e.children))t(r,n)}])},596767,t=>{"use strict";var e=t.i(286372);function n(t,r="zh"){let s=function(t){if(!Array.isArray(t))return[];let e=[];for(let n of t)if(n){if(Array.isArray(n.requestMessages)||n.responseMessage){for(let t of n.requestMessages||[])t&&e.push(t);n.responseMessage&&e.push(n.responseMessage);continue}e.push(n)}return e}(t),i=[],l=t=>{i.push({...t,stepIndex:i.length+1})},p=s.find(t=>t?.role==="user"&&String(t.content||"").trim());p&&l({id:"input:root",name:"zh"===r?"用户输入":"User input",meta:p.usage?.input?`req ${p.usage.input} tok`:d(String(p.content||""),110),kind:"user",status:"ok",depth:0,interactionIndex:s.indexOf(p),startedAt:o(p.timeInfo?.created)??o(p.timestamp),completedAt:o(p.timeInfo?.completed),rawText:String(p.content||""),rawInput:String(p.content||"")});let c=(0,e.buildAgentCallTree)(s);return c&&(0,e.walkTree)(c,t=>{let e=t.events.find(t=>"user"===t.kind),n=[...t.events].reverse().find(t=>"llm"===t.kind),i=e&&(e.summary||e.interaction?.content)||void 0,o=n&&(n.interaction?.content||n.summary)||void 0;l({id:`agent:${t.id}`,name:0===t.depth?"zh"===r?"控制器路由":"Controller routing":"zh"===r?"子任务执行":"Subtask execution",meta:a(t,r),kind:"agent",status:"ok",depth:t.depth,startedAt:t.startedAt,completedAt:t.endedAt,rawText:[t.agentName,t.subagentType,a(t,r)].filter(Boolean).join(" "),rawInput:i,rawOutput:o}),t.events.forEach((e,n)=>{let i,a,o=function(t,e){var n,r,s;let i="zh"===e;if("user"===t.kind)return{name:i?"用户输入":"User input",meta:t.usage?.input?`req ${t.usage.input} tok`:d(t.summary||"",96)};if("llm"===t.kind){let e;return{name:i?"模型调用":"Model call",meta:[(e=[(n=t).name,n.interaction?.providerID,n.interaction?.modelID,n.summary].filter(Boolean).join(" ").toLowerCase()).includes("openai")||e.includes("gpt")||e.includes("chat.completions")?"OpenAI":e.includes("deepseek")?"DeepSeek":e.includes("anthropic")||e.includes("claude")?"Anthropic":"LLM Provider",t.usage?.input?`req ${t.usage.input} tok`:"",t.usage?.output?`out ${t.usage.output} tok`:""].filter(Boolean).join(" · ")||d(t.summary||"assistant response",96)}}if("skill"===t.kind){let e=t.args?.name||t.args?.skill||t.name||"skill";return{name:i?"执行 Skill":"Run skill",meta:`skill ${e}`}}if("task"===t.kind){let e=t.args?.subagent_type||t.args?.subagentType||"subagent";return{name:i?"调度子任务":"Dispatch subtask",meta:`spawn ${e}`}}return{name:i?"工具调用":"Tool call",meta:(r=t.name||"tool",s=t.args,"bash"===r?`bash ${d(s?.command||"",72)}`:"read"===r?`read ${s?.path||s?.file_path||""}`.trim():"write"===r?`write ${s?.path||s?.file_path||""}`.trim():"glob"===r?`glob ${s?.pattern||""}`.trim():"grep"===r?`grep ${s?.pattern||""}`.trim():`${r}${s?` ${d(u(s,90),90)}`:""}`)}}(e,r),p=e.completedAt||e.startedAt?"ok":"skipped";if("user"===e.kind)i=e.summary||e.interaction?.content||"";else if("llm"===e.kind){let n=e.interactionIndex??-1,o=new Set(t.interactionIndices.filter(t=>t<n)),l=[];for(let e of t.systemPrompts||[])e.text?.trim()&&l.push(`[System]
1
+ module.exports=[997215,t=>{"use strict";function e(t){if(null==t)return"";if("string"==typeof t)return t;if("number"==typeof t||"boolean"==typeof t)return String(t);if(Array.isArray(t))return t.map(function t(e){if(null==e)return"";if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e)return String(e);if(Array.isArray(e))return e.map(t).filter(Boolean).join("");if("object"==typeof e){if("string"==typeof e.text)return e.text;if("string"==typeof e.content)return e.content;if(Array.isArray(e.content))return t(e.content)}return""}).filter(Boolean).join("");if("object"==typeof t){if("string"==typeof t.text)return t.text;if("string"==typeof t.content)return t.content;if(Array.isArray(t.content))return e(t.content)}return""}function n(t){if(!t||!Object.prototype.hasOwnProperty.call(t,"content")||"string"==typeof t.content)return t;let n={...t};return void 0===n.content_blocks&&null!=n.content&&(n.content_blocks=n.content),n.content=e(n.content),n}function r(t){if(!t||"object"!=typeof t)return t;let e=n({...t});return e.message&&"object"==typeof e.message&&(e.message=n({...e.message})),e.responseMessage&&"object"==typeof e.responseMessage&&(e.responseMessage=n({...e.responseMessage})),Array.isArray(e.requestMessages)&&(e.requestMessages=e.requestMessages.map(t=>t&&"object"==typeof t?n({...t}):t)),e}function s(t){return Array.isArray(t)?t.map(r):[]}t.s(["normalizeClaudeCodeInteractionsForStorage",()=>s,"stringifyClaudeContent",()=>e])},286372,t=>{"use strict";var e=t.i(997215);function n(t){if(!t||0===t.length)return null;let n=0,u=()=>`n${++n}`,d=t.find(t=>t.agent)?.agent||"Agent",p=s({id:u(),agentName:d,subagentType:null,sessionId:"TOP",parentId:null,depth:0}),c=[],m=new Map;m.set("TOP",p);let f=new Map;for(let n=0;n<t.length;n++){var g,h,y,k;let _,b=t[n];if("system"===b.role){let t={text:(0,e.stringifyClaudeContent)(b.content),sha256:b.system_prompt_sha256,length:b.system_prompt_length,modelID:b.system_prompt_modelID,providerID:b.system_prompt_providerID};if(!t.text)continue;let n=b.subagent_session_id;if(n)if(m.has(n)){let e=m.get(n);e.systemPrompts||(e.systemPrompts=[]),e.systemPrompts.some(e=>t.sha256&&e.sha256===t.sha256||!t.sha256&&e.text===t.text)||e.systemPrompts.push(t)}else f.has(n)||f.set(n,[]),f.get(n).push(t);else p.systemPrompts||(p.systemPrompts=[]),p.systemPrompts.some(e=>t.sha256&&e.sha256===t.sha256||!t.sha256&&e.text===t.text)||p.systemPrompts.push(t);continue}let A="subagent"===b.role&&!!b.subagent_session_id,x=A?b.subagent_session_id:"TOP",I=b.agent||(A?b.subagent_name||"Subagent":d);if(A){let t=function(t){let e=(t.subagent_name||t.agent||"").trim();if(!e)return null;let n=e.match(/^([A-Za-z][\w-]*)/);return n?n[1].toLowerCase():e.toLowerCase()}(b),e=function(t,e){let n=c.findIndex(n=>n.expectedSessionId===t&&(!e||n.subagentType===e));if(n>=0)return c.splice(n,1)[0];if(!e)return;let r=c.findIndex(t=>!t.expectedSessionId&&t.subagentType===e);return r>=0?c.splice(r,1)[0]:void 0}(x,t);if(e){let n=e.parentNode;for(let r of(_=s({id:u(),agentName:I,subagentType:e.subagentType||t,sessionId:x,parentId:n.id,depth:n.depth+1}),e.parallelCount>1&&(_.parallelCallCount=e.parallelCount),n.children.push(_),m.set(x,_),e.spawnEvents))r.spawnedChildId=_.id;null==e.startedAt||_.startedAt||(_.startedAt=e.startedAt),function(t,e){let n=f.get(e);if(n&&n.length){for(let e of(t.systemPrompts||(t.systemPrompts=[]),n))t.systemPrompts.some(t=>e.sha256&&t.sha256===e.sha256||!e.sha256&&t.text===e.text)||t.systemPrompts.push(e);f.delete(e)}}(_,x)}else _=m.get(x)}else _=m.get(x)||p;if(_||(_=p),function(t){if("user"!==t.role&&"opencode"!==t.role&&"subagent"!==t.role||(0,e.stringifyClaudeContent)(t.content).trim())return!1;let n=t.parts;return!!Array.isArray(n)&&0!==n.length&&n.every(t=>"compaction"===(t?.type||"").toLowerCase())}(b))continue;let $=a(b),v=o(b)??$;null!=$&&(!_.startedAt||$<_.startedAt)&&(_.startedAt=$),null!=v&&(!_.endedAt||v>_.endedAt)&&(_.endedAt=v);let C=b.usage;if(C&&(_.stats.inputTokens+=C.input||0,_.stats.outputTokens+=C.output||0,_.stats.cacheReadTokens+=C.cache?.read||0,_.stats.cacheWriteTokens+=C.cache?.write||0,_.stats.reasoningTokens+=C.reasoning||0,_.stats.totalTokens+=C.total||0),"compaction"===(g=b).mode&&!0===g.summary){let t={interactionIndex:n,summaryText:l(b.parts,"text"),reasoningText:l(b.parts,"reasoning")||void 0,modelID:b.modelID,providerID:b.providerID,startedAt:$,completedAt:v,usage:b.usage};_.compactions||(_.compactions=[]),_.compactions.push(t);continue}for(let t of(_.interactionIndices.push(n),_.stats.interactions++,"Agent"===_.agentName&&I&&(_.agentName=I),function(t,n){let r=[],s=a(t),u=o(t),d=(0,e.stringifyClaudeContent)(t.content),p=function(t){let e=[],n=new Map;for(let r of t){let t=function(t){let e=t.id;if("string"==typeof e&&e.trim())return`id:${e.trim()}`;let n=t.function?.name||t.name||"unknown",r=t.function?.arguments??t.arguments??"";return`sig:${n}:${function(t){if(null==t)return"";if("string"==typeof t)return t;try{return JSON.stringify(t)}catch{return String(t)}}(r)}`}(r),s=n.get(t);null==s?(n.set(t,e.length),e.push(r)):e[s]=function(t,e){let n={...t,...e};return void 0!==t.output&&void 0===e.output&&(n.output=t.output),void 0!==t.result&&void 0===e.result&&(n.result=t.result),t.timing&&!e.timing&&(n.timing=t.timing),n}(e[s],r)}return e}(t.tool_calls||[]);"user"===t.role&&d.trim()&&r.push({kind:"user",interaction:t,interactionIndex:n,startedAt:s,completedAt:u,summary:d});let c="assistant"===t.role||"subagent"===t.role||"opencode"===t.role,m=d.trim()?d:l(t.parts,"reasoning");if(0===p.length)return c&&m.trim()&&r.push({kind:"llm",interaction:t,interactionIndex:n,startedAt:s,completedAt:u,summary:m,usage:t.usage}),r;for(let e of(c&&r.push({kind:"llm",interaction:t,interactionIndex:n,startedAt:s,completedAt:u,summary:m,usage:t.usage}),p)){let a,o=e.function?.name||e.name||"unknown",l=e.function?.arguments??e.arguments;if("string"==typeof l)try{a=JSON.parse(l)}catch{a=l}else a=l;let u=o.toLowerCase(),d={kind:"task"===u?"task":"skill"===u||"load_skill"===u||"skill_view"===u?"skill":"tool",name:o,args:a,output:e.output??e.result,interaction:t,interactionIndex:n,startedAt:i(e.timing?.started_at)??s,completedAt:i(e.timing?.completed_at),summary:function(t,e){if(!e||"object"!=typeof e)return t;if("task"===t){let t=e.description||e.subagent_type||"",n=e.subagent_type?`[${e.subagent_type}]`:"";return`task ${n} ${t}`.trim()}return"skill"===t?`skill: ${e.name||""}`:"bash"===t?`bash: ${(e.command||"").slice(0,80)}`:"read"===t?`read: ${e.path||e.file_path||""}`:"write"===t?`write: ${e.path||e.file_path||""}`:"glob"===t?`glob: ${e.pattern||""}`:t}(o,a)};d._toolCallId=e.id,d.splitParallelTask=!!e.trace_split_parallel_task,r.push(d)}return r}(b,n)))if(_.events.push(t),"llm"===t.kind)_.stats.llmCalls++;else if("skill"===t.kind)_.stats.skillCalls++;else if("task"===t.kind){_.stats.taskCalls++;let e=t.args?.subagent_type||t.args?.subagentType;e&&(h=_,y=n,c.push({parentNode:h,subagentType:e,expectedSessionId:r((k=t).args)??r(k.output),startedAt:t.startedAt,spawnEvents:[t],parallelCount:1,parentInteractionIndex:y}))}else"tool"===t.kind&&_.stats.toolCalls++}return function t(e){if(Number.isFinite(e.startedAt)&&Number.isFinite(e.endedAt)){let t=e.endedAt-e.startedAt;e.stats.durationMs=t>=0?t:void 0}for(let n of e.children)t(n)}(p),p}function r(t,e=0){if(null!=t&&!(e>3)){if("string"==typeof t){let n=t.trim();if(!n)return;if(n.startsWith("{")||n.startsWith("["))try{let t=JSON.parse(n),s=r(t,e+1);if(s)return s}catch{}let s=n.match(/\b(?:session_id|sessionId|subagent_session_id|subagentSessionId)\s*[:=]\s*([A-Za-z0-9_.:-]+)/);return s?.[1]}if(Array.isArray(t)){for(let n of t){let t=r(n,e+1);if(t)return t}return}if("object"==typeof t){let n=t.session_id??t.sessionId??t.subagent_session_id??t.subagentSessionId;if("string"==typeof n&&n.trim())return n.trim();for(let n of Object.values(t)){let t=r(n,e+1);if(t)return t}}}}function s(t){return{...t,events:[],children:[],startedAt:void 0,endedAt:void 0,stats:{interactions:0,llmCalls:0,toolCalls:0,skillCalls:0,taskCalls:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheWriteTokens:0,reasoningTokens:0,totalTokens:0,durationMs:void 0},interactionIndices:[]}}function i(t){if(null!=t){if("number"==typeof t&&Number.isFinite(t))return t>0&&t<1e10?1e3*t:t;if("string"==typeof t){let e=t.trim();if(!e)return;if(/^\d+(\.\d+)?$/.test(e)){let t=Number(e);if(!Number.isFinite(t))return;return t>0&&t<1e10?1e3*t:t}let n=Date.parse(e);return Number.isFinite(n)?n:void 0}}}function a(t){return i(t.timeInfo?.created)??i(t.timestamp)}function o(t){return i(t.timeInfo?.completed)}function l(t,e){if(!Array.isArray(t)||0===t.length)return"";let n=[];for(let r of t){if((r?.type||"").toLowerCase()!==e)continue;let t="string"==typeof r?.text?r.text:"";t&&n.push(t)}return n.join("")}t.s(["buildAgentCallTree",()=>n,"walkTree",()=>function t(e,n){for(let r of(n(e),e.children))t(r,n)}])},596767,t=>{"use strict";var e=t.i(286372);function n(t,r="zh"){let s=function(t){if(!Array.isArray(t))return[];let e=[];for(let n of t)if(n){if(Array.isArray(n.requestMessages)||n.responseMessage){for(let t of n.requestMessages||[])t&&e.push(t);n.responseMessage&&e.push(n.responseMessage);continue}e.push(n)}return e}(t),i=[],l=t=>{i.push({...t,stepIndex:i.length+1})},p=s.find(t=>t?.role==="user"&&String(t.content||"").trim());p&&l({id:"input:root",name:"zh"===r?"用户输入":"User input",meta:p.usage?.input?`req ${p.usage.input} tok`:d(String(p.content||""),110),kind:"user",status:"ok",depth:0,interactionIndex:s.indexOf(p),startedAt:o(p.timeInfo?.created)??o(p.timestamp),completedAt:o(p.timeInfo?.completed),rawText:String(p.content||""),rawInput:String(p.content||"")});let c=(0,e.buildAgentCallTree)(s);return c&&(0,e.walkTree)(c,t=>{let e=t.events.find(t=>"user"===t.kind),n=[...t.events].reverse().find(t=>"llm"===t.kind),i=e&&(e.summary||e.interaction?.content)||void 0,o=n&&(n.interaction?.content||n.summary)||void 0;l({id:`agent:${t.id}`,name:0===t.depth?"zh"===r?"控制器路由":"Controller routing":"zh"===r?"子任务执行":"Subtask execution",meta:a(t,r),kind:"agent",status:"ok",depth:t.depth,startedAt:t.startedAt,completedAt:t.endedAt,rawText:[t.agentName,t.subagentType,a(t,r)].filter(Boolean).join(" "),rawInput:i,rawOutput:o}),t.events.forEach((e,n)=>{let i,a,o=function(t,e){var n,r,s;let i="zh"===e;if("user"===t.kind)return{name:i?"用户输入":"User input",meta:t.usage?.input?`req ${t.usage.input} tok`:d(t.summary||"",96)};if("llm"===t.kind){let e;return{name:i?"模型调用":"Model call",meta:[(e=[(n=t).name,n.interaction?.providerID,n.interaction?.modelID,n.summary].filter(Boolean).join(" ").toLowerCase()).includes("openai")||e.includes("gpt")||e.includes("chat.completions")?"OpenAI":e.includes("deepseek")?"DeepSeek":e.includes("anthropic")||e.includes("claude")?"Anthropic":"LLM Provider",t.usage?.input?`req ${t.usage.input} tok`:"",t.usage?.output?`out ${t.usage.output} tok`:""].filter(Boolean).join(" · ")||d(t.summary||"assistant response",96)}}if("skill"===t.kind){let e=t.args?.name||t.args?.skill||t.name||"skill";return{name:i?"执行 Skill":"Run skill",meta:`skill ${e}`}}if("task"===t.kind){let e=t.args?.subagent_type||t.args?.subagentType||"subagent";return{name:i?"调度子任务":"Dispatch subtask",meta:`spawn ${e}`}}return{name:i?"工具调用":"Tool call",meta:(r=t.name||"tool",s=t.args,"bash"===r?`bash ${d(s?.command||"",72)}`:"read"===r?`read ${s?.path||s?.file_path||""}`.trim():"write"===r?`write ${s?.path||s?.file_path||""}`.trim():"glob"===r?`glob ${s?.pattern||""}`.trim():"grep"===r?`grep ${s?.pattern||""}`.trim():`${r}${s?` ${d(u(s,90),90)}`:""}`)}}(e,r),p=e.completedAt||e.startedAt?"ok":"skipped";if("user"===e.kind)i=e.summary||e.interaction?.content||"";else if("llm"===e.kind){let n=e.interactionIndex??-1,o=new Set(t.interactionIndices.filter(t=>t<n)),l=[];for(let e of t.systemPrompts||[])e.text?.trim()&&l.push(`[System]
2
2
  ${d(e.text,1500)}`);for(let t of Array.from(o).sort((t,e)=>t-e)){let e=s[t];if(!e||"system"===e.role)continue;let n="string"==typeof e.content?e.content:u(e.content,2e3);n.trim()&&("user"===e.role||"opencode"===e.role?l.push(`[User]
3
3
  ${d(n,2e3)}`):("assistant"===e.role||"subagent"===e.role)&&l.push(`[Assistant]
4
4
  ${d(n,2e3)}`))}i=l.length>0?l.join("\n\n---\n\n"):void 0;let p=function(t,e){if(!Array.isArray(t)||0===t.length)return"";let n=t.map(t=>t?.function?.name||t?.name||"tool").slice(0,3),r=t.length>n.length?", ...":"";return"zh"===e?`${t.length} 个工具调用: ${n.join(", ")}${r}`:`${t.length} tool call${t.length>1?"s":""}: ${n.join(", ")}${r}`}(e.interaction?.tool_calls,r);a=[e.interaction?.content,p].filter(Boolean).join("\n")||e.summary||""}else("tool"===e.kind||"skill"===e.kind||"task"===e.kind)&&(void 0!==e.args&&(i=u(e.args,2e3)),("tool"===e.kind||"skill"===e.kind)&&void 0!==e.output&&null!==e.output&&(a=u(e.output,2e3)));l({id:`event:${t.id}:${n}`,name:o.name,meta:o.meta,kind:e.kind,status:p,depth:t.depth+1,interactionIndex:e.interactionIndex,eventIndex:n,toolCallId:e._toolCallId,startedAt:e.startedAt,completedAt:e.completedAt,rawText:[o.name,o.meta,e.name,e.summary,u(e.args,500),u(e.output,500)].filter(Boolean).join(" "),rawInput:i||void 0,rawOutput:a||void 0})})}),0===i.length&&l({id:"system:missing-trace",name:"zh"===r?"链路详情缺失":"Trace unavailable",meta:"zh"===r?"未找到可还原的 interactions。":"No interactions were available.",kind:"system",status:"skipped",depth:0,rawText:""}),i}function r(t,e,n="zh"){return Array.isArray(t)&&0!==t.length?t.map(t=>{if(t.trace_anchor?.step_id&&e.some(e=>e.id===t.trace_anchor?.step_id))return t;let r=function(t,e,n="zh"){if(!e.length)return null;let r=String(t.anchor_step_id||t.trace_anchor?.step_id||"").trim();if(r){let t=e.find(t=>t.id===r);if(t)return i(t,"step_id",.98,"zh"===n?"LLM 返回了候选步骤 ID,且后端校验存在":"The model returned a valid step id")}let s=/推理判断|时间窗口匹配/i.test(t.step||"")?null:String(t.step||"").match(/第\s*(\d+)\s*步/i);if(s){let t=Number(s[1]),r=e.find(e=>e.stepIndex===t);if(r)return i(r,"step_index",.9,"zh"===n?"来自故障记录的步骤编号":"Matched by failure step index")}let a=function(t,e,n){let r=u(t,2e3),s=r.match(/(?:tool_call_id|toolCallId|call_)[\"':\s-]*([A-Za-z0-9_.:-]{6,})/)?.[1];if(s){let t=e.find(t=>t.toolCallId===s);if(t)return i(t,"tool_call_id",.99,"zh"===n?"根据 tool_call_id 精确匹配":"Matched exactly by tool_call_id")}let a=r.match(/(?:interaction_index|interactionIndex)[\"':\s-]*(\d+)/)?.[1];if(a){let t=Number(a),r=e.find(e=>e.interactionIndex===t);if(r)return i(r,"interaction_index",.94,"zh"===n?"根据 interaction_index 精确匹配":"Matched by interaction_index")}return null}(t,e,n);if(a)return a;let o=l([t.failure_type,t.description,t.context,t.recovery,t.step].filter(Boolean).join(" ")),d=e.map(t=>{let e=0,n=l(t.rawText||`${t.name} ${t.meta}`);for(let t of Array.from(new Set(o.split(/[^a-z0-9_\-.]+/i).map(t=>t.trim().toLowerCase()).filter(t=>t.length>=3))).slice(0,12))n.includes(t)&&(e+=t.length>4?2:1);return/401|authentication|unauthori[sz]ed|api[_\s-]?key|认证|鉴权|权限/.test(o)&&"llm"===t.kind&&(e+=8),/tool|工具|bash|command|exit code|stderr|非零/.test(o)&&"tool"===t.kind&&(e+=7),/skill|技能|SKILL\.md/i.test(o)&&"skill"===t.kind&&(e+=7),/timeout|超时|卡住/.test(o)&&(e+=3),{step:t,score:e}}).sort((t,e)=>e.score-t.score);if(d[0]?.score>0){let t=d[0].score>=7?"type_rule":"text_match",e=d[0].score>=7?.78:.58;return i(d[0].step,t,e,d[0].score>=7?"zh"===n?"根据错误内容和节点类型匹配":"Matched by error content and step type":"zh"===n?"根据错误上下文文本匹配":"Matched by error context text")}let p=[...e].reverse().find(t=>"llm"===t.kind||"tool"===t.kind||"skill"===t.kind)||[...e].reverse().find(t=>"skipped"!==t.status);return p?i(p,"fallback",.35,"zh"===n?"未找到精确锚点,回退到最后一个已执行关键节点":"Fell back to the latest meaningful executed step"):null}(t,e,n);return r?{...t,trace_anchor:r}:t}):t}function s(t){return[`- step_id: ${t.id}`,` step_index: ${t.stepIndex}`,` name: ${t.name}`,` kind: ${t.kind}`,` meta: ${t.meta||"-"}`,null!=t.interactionIndex?` interaction_index: ${t.interactionIndex}`:"",t.toolCallId?` tool_call_id: ${t.toolCallId}`:"",null!=t.startedAt?` started_at: ${t.startedAt}`:"",null!=t.completedAt?` completed_at: ${t.completedAt}`:"",t.rawText?` evidence_text: ${d(t.rawText,220)}`:""].filter(Boolean).join("\n")}function i(t,e,n,r){return{step_id:t.id,step_index:t.stepIndex,display_name:t.name,kind:t.kind,interaction_index:t.interactionIndex,event_index:t.eventIndex,tool_call_id:t.toolCallId,started_at:t.startedAt,completed_at:t.completedAt,match_method:e,confidence:n,evidence:r}}function a(t,e){let n=[];t.agentName&&n.push(t.agentName),t.subagentType&&n.push(`type ${t.subagentType}`);let r=[t.stats.llmCalls?`${t.stats.llmCalls} LLM`:"",t.stats.toolCalls?`${t.stats.toolCalls} tool`:"",t.stats.skillCalls?`${t.stats.skillCalls} skill`:"",t.stats.taskCalls?`${t.stats.taskCalls} task`:""].filter(Boolean).join(" · ");return r&&n.push(r),n.join(" · ")||("zh"===e?"执行 Agent":"Agent")}function o(t){if(null!=t){if("number"==typeof t&&Number.isFinite(t))return t>0&&t<1e10?1e3*t:t;if("string"==typeof t){let e=t.trim();if(!e)return;if(/^\d+(\.\d+)?$/.test(e)){let t=Number(e);if(!Number.isFinite(t))return;return t>0&&t<1e10?1e3*t:t}let n=Date.parse(e);return Number.isFinite(n)?n:void 0}}}function l(t){return t.toLowerCase().replace(/\s+/g," ").trim()}function u(t,e=300){if(null==t)return"";if("string"==typeof t)return d(t,e);try{return d(JSON.stringify(t),e)}catch{return d(String(t),e)}}function d(t,e){let n=String(t||"");return n.length>e?`${n.slice(0,e)}...`:n}t.s(["attachFailureAnchors",()=>r,"buildFaultPathSteps",()=>n,"formatFaultPathStepForPrompt",()=>s])}];
@@ -0,0 +1,6 @@
1
+ module.exports=[68987,e=>{"use strict";function t(e){if(null==e)return null;if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e){let t=e.trim();if(!t)return null;if(/^\d+$/.test(t)){let e=Number(t);return Number.isFinite(e)?e:null}let n=Date.parse(t);return Number.isFinite(n)?n:null}return null}function n(e){let n=0,r=0,i="",a="",l="",o=0,s=0,u=0,d=0,c=0,m=0,p=0,f=0,h=0,_=Number.MAX_SAFE_INTEGER,g=0;for(let r of e||[]){if(!r)continue;let e=r.role,k="assistant"===e||"subagent"===e;if("assistant"===e){let e="string"==typeof r.content?r.content:"";e&&e.trim()&&(a=e),"string"==typeof r.model&&r.model?i=r.model:"string"==typeof r.modelID&&r.modelID&&(i=r.modelID)}r.agent&&"string"==typeof r.agent&&!l&&(l=r.agent);let y=t(r.timeInfo?.created),x=t(r.timeInfo?.completed),b=t(r.timestamp);if(y&&(_=Math.min(_,y),g=Math.max(g,y)),x&&(g=Math.max(g,x)),b&&(_=Math.min(_,b),g=Math.max(g,b)),!k)continue;m++;let I=r.usage;if(I){let e=function(e){let t=Number(e?.input_tokens??e?.input??0)||0,n=Number(e?.output_tokens??e?.output??0)||0,r=Number(e?.cache?.read??e?.cache_read_input_tokens??0)||0,i=Number(e?.cache?.write??e?.cache_creation_input_tokens??0)||0,a=Number(e?.reasoning??e?.reasoning_tokens??e?.completion_tokens_details?.reasoning_tokens??0)||0,l=e?.reasoning!==void 0&&a>0&&n<a?n+a:n;return{total:e?.total!==void 0?Number(e.total)||0:t+l+r+i,input:t,output:l,cacheRead:r,cacheWrite:i,reasoning:a,maxSingleCallTokens:t+l+r+i}}(I);n+=e.total,o+=e.input,s+=e.output,u+=e.cacheRead,d+=e.cacheWrite,c+=e.reasoning,e.maxSingleCallTokens>h&&(h=e.maxSingleCallTokens)}if(Array.isArray(r.tool_calls))for(let e of(p+=r.tool_calls.length,r.tool_calls))(e?.state==="error"||e?.state==="failed")&&f++}return _!==Number.MAX_SAFE_INTEGER&&g>_&&(r=g-_),{model:i||void 0,agentName:l||void 0,final_result:a||void 0,tokens:Math.round(n),latency:r/1e3,input_tokens:Math.round(o),output_tokens:Math.round(s),tool_call_count:p,tool_call_error_count:f,llm_call_count:m,cache_read_input_tokens:Math.round(u),cache_creation_input_tokens:Math.round(d),max_single_call_tokens:Math.round(h),reasoning_tokens:Math.round(c)}}e.s(["deriveOpencodeExecutionFields",()=>n])},596767,e=>{"use strict";var t=e.i(286372);function n(e,r="zh"){let i=function(e){if(!Array.isArray(e))return[];let t=[];for(let n of e)if(n){if(Array.isArray(n.requestMessages)||n.responseMessage){for(let e of n.requestMessages||[])e&&t.push(e);n.responseMessage&&t.push(n.responseMessage);continue}t.push(n)}return t}(e),a=[],s=e=>{a.push({...e,stepIndex:a.length+1})},c=i.find(e=>e?.role==="user"&&String(e.content||"").trim());c&&s({id:"input:root",name:"zh"===r?"用户输入":"User input",meta:c.usage?.input?`req ${c.usage.input} tok`:d(String(c.content||""),110),kind:"user",status:"ok",depth:0,interactionIndex:i.indexOf(c),startedAt:o(c.timeInfo?.created)??o(c.timestamp),completedAt:o(c.timeInfo?.completed),rawText:String(c.content||""),rawInput:String(c.content||"")});let m=(0,t.buildAgentCallTree)(i);return m&&(0,t.walkTree)(m,e=>{let t=e.events.find(e=>"user"===e.kind),n=[...e.events].reverse().find(e=>"llm"===e.kind),a=t&&(t.summary||t.interaction?.content)||void 0,o=n&&(n.interaction?.content||n.summary)||void 0;s({id:`agent:${e.id}`,name:0===e.depth?"zh"===r?"控制器路由":"Controller routing":"zh"===r?"子任务执行":"Subtask execution",meta:l(e,r),kind:"agent",status:"ok",depth:e.depth,startedAt:e.startedAt,completedAt:e.endedAt,rawText:[e.agentName,e.subagentType,l(e,r)].filter(Boolean).join(" "),rawInput:a,rawOutput:o}),e.events.forEach((t,n)=>{let a,l,o=function(e,t){var n,r,i;let a="zh"===t;if("user"===e.kind)return{name:a?"用户输入":"User input",meta:e.usage?.input?`req ${e.usage.input} tok`:d(e.summary||"",96)};if("llm"===e.kind){let t;return{name:a?"模型调用":"Model call",meta:[(t=[(n=e).name,n.interaction?.providerID,n.interaction?.modelID,n.summary].filter(Boolean).join(" ").toLowerCase()).includes("openai")||t.includes("gpt")||t.includes("chat.completions")?"OpenAI":t.includes("deepseek")?"DeepSeek":t.includes("anthropic")||t.includes("claude")?"Anthropic":"LLM Provider",e.usage?.input?`req ${e.usage.input} tok`:"",e.usage?.output?`out ${e.usage.output} tok`:""].filter(Boolean).join(" · ")||d(e.summary||"assistant response",96)}}if("skill"===e.kind){let t=e.args?.name||e.args?.skill||e.name||"skill";return{name:a?"执行 Skill":"Run skill",meta:`skill ${t}`}}if("task"===e.kind){let t=e.args?.subagent_type||e.args?.subagentType||"subagent";return{name:a?"调度子任务":"Dispatch subtask",meta:`spawn ${t}`}}return{name:a?"工具调用":"Tool call",meta:(r=e.name||"tool",i=e.args,"bash"===r?`bash ${d(i?.command||"",72)}`:"read"===r?`read ${i?.path||i?.file_path||""}`.trim():"write"===r?`write ${i?.path||i?.file_path||""}`.trim():"glob"===r?`glob ${i?.pattern||""}`.trim():"grep"===r?`grep ${i?.pattern||""}`.trim():`${r}${i?` ${d(u(i,90),90)}`:""}`)}}(t,r),c=t.completedAt||t.startedAt?"ok":"skipped";if("user"===t.kind)a=t.summary||t.interaction?.content||"";else if("llm"===t.kind){let n=t.interactionIndex??-1,o=new Set(e.interactionIndices.filter(e=>e<n)),s=[];for(let t of e.systemPrompts||[])t.text?.trim()&&s.push(`[System]
2
+ ${d(t.text,1500)}`);for(let e of Array.from(o).sort((e,t)=>e-t)){let t=i[e];if(!t||"system"===t.role)continue;let n="string"==typeof t.content?t.content:u(t.content,2e3);n.trim()&&("user"===t.role||"opencode"===t.role?s.push(`[User]
3
+ ${d(n,2e3)}`):("assistant"===t.role||"subagent"===t.role)&&s.push(`[Assistant]
4
+ ${d(n,2e3)}`))}a=s.length>0?s.join("\n\n---\n\n"):void 0;let c=function(e,t){if(!Array.isArray(e)||0===e.length)return"";let n=e.map(e=>e?.function?.name||e?.name||"tool").slice(0,3),r=e.length>n.length?", ...":"";return"zh"===t?`${e.length} 个工具调用: ${n.join(", ")}${r}`:`${e.length} tool call${e.length>1?"s":""}: ${n.join(", ")}${r}`}(t.interaction?.tool_calls,r);l=[t.interaction?.content,c].filter(Boolean).join("\n")||t.summary||""}else("tool"===t.kind||"skill"===t.kind||"task"===t.kind)&&(void 0!==t.args&&(a=u(t.args,2e3)),("tool"===t.kind||"skill"===t.kind)&&void 0!==t.output&&null!==t.output&&(l=u(t.output,2e3)));s({id:`event:${e.id}:${n}`,name:o.name,meta:o.meta,kind:t.kind,status:c,depth:e.depth+1,interactionIndex:t.interactionIndex,eventIndex:n,toolCallId:t._toolCallId,startedAt:t.startedAt,completedAt:t.completedAt,rawText:[o.name,o.meta,t.name,t.summary,u(t.args,500),u(t.output,500)].filter(Boolean).join(" "),rawInput:a||void 0,rawOutput:l||void 0})})}),0===a.length&&s({id:"system:missing-trace",name:"zh"===r?"链路详情缺失":"Trace unavailable",meta:"zh"===r?"未找到可还原的 interactions。":"No interactions were available.",kind:"system",status:"skipped",depth:0,rawText:""}),a}function r(e,t,n="zh"){return Array.isArray(e)&&0!==e.length?e.map(e=>{if(e.trace_anchor?.step_id&&t.some(t=>t.id===e.trace_anchor?.step_id))return e;let r=function(e,t,n="zh"){if(!t.length)return null;let r=String(e.anchor_step_id||e.trace_anchor?.step_id||"").trim();if(r){let e=t.find(e=>e.id===r);if(e)return a(e,"step_id",.98,"zh"===n?"LLM 返回了候选步骤 ID,且后端校验存在":"The model returned a valid step id")}let i=/推理判断|时间窗口匹配/i.test(e.step||"")?null:String(e.step||"").match(/第\s*(\d+)\s*步/i);if(i){let e=Number(i[1]),r=t.find(t=>t.stepIndex===e);if(r)return a(r,"step_index",.9,"zh"===n?"来自故障记录的步骤编号":"Matched by failure step index")}let l=function(e,t,n){let r=u(e,2e3),i=r.match(/(?:tool_call_id|toolCallId|call_)[\"':\s-]*([A-Za-z0-9_.:-]{6,})/)?.[1];if(i){let e=t.find(e=>e.toolCallId===i);if(e)return a(e,"tool_call_id",.99,"zh"===n?"根据 tool_call_id 精确匹配":"Matched exactly by tool_call_id")}let l=r.match(/(?:interaction_index|interactionIndex)[\"':\s-]*(\d+)/)?.[1];if(l){let e=Number(l),r=t.find(t=>t.interactionIndex===e);if(r)return a(r,"interaction_index",.94,"zh"===n?"根据 interaction_index 精确匹配":"Matched by interaction_index")}return null}(e,t,n);if(l)return l;let o=s([e.failure_type,e.description,e.context,e.recovery,e.step].filter(Boolean).join(" ")),d=t.map(e=>{let t=0,n=s(e.rawText||`${e.name} ${e.meta}`);for(let e of Array.from(new Set(o.split(/[^a-z0-9_\-.]+/i).map(e=>e.trim().toLowerCase()).filter(e=>e.length>=3))).slice(0,12))n.includes(e)&&(t+=e.length>4?2:1);return/401|authentication|unauthori[sz]ed|api[_\s-]?key|认证|鉴权|权限/.test(o)&&"llm"===e.kind&&(t+=8),/tool|工具|bash|command|exit code|stderr|非零/.test(o)&&"tool"===e.kind&&(t+=7),/skill|技能|SKILL\.md/i.test(o)&&"skill"===e.kind&&(t+=7),/timeout|超时|卡住/.test(o)&&(t+=3),{step:e,score:t}}).sort((e,t)=>t.score-e.score);if(d[0]?.score>0){let e=d[0].score>=7?"type_rule":"text_match",t=d[0].score>=7?.78:.58;return a(d[0].step,e,t,d[0].score>=7?"zh"===n?"根据错误内容和节点类型匹配":"Matched by error content and step type":"zh"===n?"根据错误上下文文本匹配":"Matched by error context text")}let c=[...t].reverse().find(e=>"llm"===e.kind||"tool"===e.kind||"skill"===e.kind)||[...t].reverse().find(e=>"skipped"!==e.status);return c?a(c,"fallback",.35,"zh"===n?"未找到精确锚点,回退到最后一个已执行关键节点":"Fell back to the latest meaningful executed step"):null}(e,t,n);return r?{...e,trace_anchor:r}:e}):e}function i(e){return[`- step_id: ${e.id}`,` step_index: ${e.stepIndex}`,` name: ${e.name}`,` kind: ${e.kind}`,` meta: ${e.meta||"-"}`,null!=e.interactionIndex?` interaction_index: ${e.interactionIndex}`:"",e.toolCallId?` tool_call_id: ${e.toolCallId}`:"",null!=e.startedAt?` started_at: ${e.startedAt}`:"",null!=e.completedAt?` completed_at: ${e.completedAt}`:"",e.rawText?` evidence_text: ${d(e.rawText,220)}`:""].filter(Boolean).join("\n")}function a(e,t,n,r){return{step_id:e.id,step_index:e.stepIndex,display_name:e.name,kind:e.kind,interaction_index:e.interactionIndex,event_index:e.eventIndex,tool_call_id:e.toolCallId,started_at:e.startedAt,completed_at:e.completedAt,match_method:t,confidence:n,evidence:r}}function l(e,t){let n=[];e.agentName&&n.push(e.agentName),e.subagentType&&n.push(`type ${e.subagentType}`);let r=[e.stats.llmCalls?`${e.stats.llmCalls} LLM`:"",e.stats.toolCalls?`${e.stats.toolCalls} tool`:"",e.stats.skillCalls?`${e.stats.skillCalls} skill`:"",e.stats.taskCalls?`${e.stats.taskCalls} task`:""].filter(Boolean).join(" · ");return r&&n.push(r),n.join(" · ")||("zh"===t?"执行 Agent":"Agent")}function o(e){if(null!=e){if("number"==typeof e&&Number.isFinite(e))return e>0&&e<1e10?1e3*e:e;if("string"==typeof e){let t=e.trim();if(!t)return;if(/^\d+(\.\d+)?$/.test(t)){let e=Number(t);if(!Number.isFinite(e))return;return e>0&&e<1e10?1e3*e:e}let n=Date.parse(t);return Number.isFinite(n)?n:void 0}}}function s(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function u(e,t=300){if(null==e)return"";if("string"==typeof e)return d(e,t);try{return d(JSON.stringify(e),t)}catch{return d(String(e),t)}}function d(e,t){let n=String(e||"");return n.length>t?`${n.slice(0,t)}...`:n}e.s(["attachFailureAnchors",()=>r,"buildFaultPathSteps",()=>n,"formatFaultPathStepForPrompt",()=>i])},864609,e=>{"use strict";let t=globalThis,n=t.__wittyPendingMap??(t.__wittyPendingMap=new Map);function r(e){if(n.has(e.requestId))return Promise.reject(Error(`duplicate requestId: ${e.requestId}`));let t=e.ttlMs??3e5;return new Promise((r,i)=>{let a=setTimeout(()=>{let r=n.get(e.requestId);r&&(n.delete(e.requestId),r.reject(Error(`interaction ${e.kind}/${e.requestId} timed out after ${t}ms`)))},t);n.set(e.requestId,{requestId:e.requestId,kind:e.kind,user:e.user,streamId:e.streamId,resolve:r,reject:i,expiresAt:Date.now()+t,timer:a})})}function i(e,t,r){let i=n.get(e);if(!i)return!1;if(i.user!==t)throw Error("user mismatch on interaction reply");return n.delete(e),clearTimeout(i.timer),i.resolve(r),!0}function a(e,t="stream closed"){let r=0;for(let[i,a]of n)a.streamId===e&&(n.delete(i),clearTimeout(a.timer),a.reject(Error(t)),r++);return r}e.s(["awaitInteraction",()=>r,"cancelStream",()=>a,"resolveInteraction",()=>i])},484695,e=>{e.v(e=>Promise.resolve().then(()=>e(759453)))},419781,e=>{e.v(e=>Promise.resolve().then(()=>e(106411)))},335270,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_1466262d._.js","server/chunks/src_34fb142e._.js","server/chunks/_4b744f5c._.js","server/chunks/src_lib_c6d9db51._.js","server/chunks/src_9c08bd78._.js"].map(t=>e.l(t))).then(()=>t(982505)))}];
5
+
6
+ //# sourceMappingURL=src_lib_7bae418f._.js.map
@@ -1,7 +1,7 @@
1
- module.exports=[596767,e=>{"use strict";var t=e.i(286372);function n(e,r="zh"){let i=function(e){if(!Array.isArray(e))return[];let t=[];for(let n of e)if(n){if(Array.isArray(n.requestMessages)||n.responseMessage){for(let e of n.requestMessages||[])e&&t.push(e);n.responseMessage&&t.push(n.responseMessage);continue}t.push(n)}return t}(e),a=[],l=e=>{a.push({...e,stepIndex:a.length+1})},d=i.find(e=>e?.role==="user"&&String(e.content||"").trim());d&&l({id:"input:root",name:"zh"===r?"用户输入":"User input",meta:d.usage?.input?`req ${d.usage.input} tok`:c(String(d.content||""),110),kind:"user",status:"ok",depth:0,interactionIndex:i.indexOf(d),startedAt:s(d.timeInfo?.created)??s(d.timestamp),completedAt:s(d.timeInfo?.completed),rawText:String(d.content||""),rawInput:String(d.content||"")});let m=(0,t.buildAgentCallTree)(i);return m&&(0,t.walkTree)(m,e=>{let t=e.events.find(e=>"user"===e.kind),n=[...e.events].reverse().find(e=>"llm"===e.kind),a=t&&(t.summary||t.interaction?.content)||void 0,s=n&&(n.interaction?.content||n.summary)||void 0;l({id:`agent:${e.id}`,name:0===e.depth?"zh"===r?"控制器路由":"Controller routing":"zh"===r?"子任务执行":"Subtask execution",meta:o(e,r),kind:"agent",status:"ok",depth:e.depth,startedAt:e.startedAt,completedAt:e.endedAt,rawText:[e.agentName,e.subagentType,o(e,r)].filter(Boolean).join(" "),rawInput:a,rawOutput:s}),e.events.forEach((t,n)=>{let a,o,s=function(e,t){var n,r,i;let a="zh"===t;if("user"===e.kind)return{name:a?"用户输入":"User input",meta:e.usage?.input?`req ${e.usage.input} tok`:c(e.summary||"",96)};if("llm"===e.kind){let t;return{name:a?"模型调用":"Model call",meta:[(t=[(n=e).name,n.interaction?.providerID,n.interaction?.modelID,n.summary].filter(Boolean).join(" ").toLowerCase()).includes("openai")||t.includes("gpt")||t.includes("chat.completions")?"OpenAI":t.includes("deepseek")?"DeepSeek":t.includes("anthropic")||t.includes("claude")?"Anthropic":"LLM Provider",e.usage?.input?`req ${e.usage.input} tok`:"",e.usage?.output?`out ${e.usage.output} tok`:""].filter(Boolean).join(" · ")||c(e.summary||"assistant response",96)}}if("skill"===e.kind){let t=e.args?.name||e.args?.skill||e.name||"skill";return{name:a?"执行 Skill":"Run skill",meta:`skill ${t}`}}if("task"===e.kind){let t=e.args?.subagent_type||e.args?.subagentType||"subagent";return{name:a?"调度子任务":"Dispatch subtask",meta:`spawn ${t}`}}return{name:a?"工具调用":"Tool call",meta:(r=e.name||"tool",i=e.args,"bash"===r?`bash ${c(i?.command||"",72)}`:"read"===r?`read ${i?.path||i?.file_path||""}`.trim():"write"===r?`write ${i?.path||i?.file_path||""}`.trim():"glob"===r?`glob ${i?.pattern||""}`.trim():"grep"===r?`grep ${i?.pattern||""}`.trim():`${r}${i?` ${c(u(i,90),90)}`:""}`)}}(t,r),d=t.completedAt||t.startedAt?"ok":"skipped";if("user"===t.kind)a=t.summary||t.interaction?.content||"";else if("llm"===t.kind){let n=t.interactionIndex??-1,s=new Set(e.interactionIndices.filter(e=>e<n)),l=[];for(let t of e.systemPrompts||[])t.text?.trim()&&l.push(`[System]
2
- ${c(t.text,1500)}`);for(let e of Array.from(s).sort((e,t)=>e-t)){let t=i[e];if(!t||"system"===t.role)continue;let n="string"==typeof t.content?t.content:u(t.content,2e3);n.trim()&&("user"===t.role||"opencode"===t.role?l.push(`[User]
3
- ${c(n,2e3)}`):("assistant"===t.role||"subagent"===t.role)&&l.push(`[Assistant]
4
- ${c(n,2e3)}`))}a=l.length>0?l.join("\n\n---\n\n"):void 0;let d=function(e,t){if(!Array.isArray(e)||0===e.length)return"";let n=e.map(e=>e?.function?.name||e?.name||"tool").slice(0,3),r=e.length>n.length?", ...":"";return"zh"===t?`${e.length} 个工具调用: ${n.join(", ")}${r}`:`${e.length} tool call${e.length>1?"s":""}: ${n.join(", ")}${r}`}(t.interaction?.tool_calls,r);o=[t.interaction?.content,d].filter(Boolean).join("\n")||t.summary||""}else("tool"===t.kind||"skill"===t.kind||"task"===t.kind)&&(void 0!==t.args&&(a=u(t.args,2e3)),("tool"===t.kind||"skill"===t.kind)&&void 0!==t.output&&null!==t.output&&(o=u(t.output,2e3)));l({id:`event:${e.id}:${n}`,name:s.name,meta:s.meta,kind:t.kind,status:d,depth:e.depth+1,interactionIndex:t.interactionIndex,eventIndex:n,toolCallId:t._toolCallId,startedAt:t.startedAt,completedAt:t.completedAt,rawText:[s.name,s.meta,t.name,t.summary,u(t.args,500),u(t.output,500)].filter(Boolean).join(" "),rawInput:a||void 0,rawOutput:o||void 0})})}),0===a.length&&l({id:"system:missing-trace",name:"zh"===r?"链路详情缺失":"Trace unavailable",meta:"zh"===r?"未找到可还原的 interactions。":"No interactions were available.",kind:"system",status:"skipped",depth:0,rawText:""}),a}function r(e,t,n="zh"){return Array.isArray(e)&&0!==e.length?e.map(e=>{if(e.trace_anchor?.step_id&&t.some(t=>t.id===e.trace_anchor?.step_id))return e;let r=function(e,t,n="zh"){if(!t.length)return null;let r=String(e.anchor_step_id||e.trace_anchor?.step_id||"").trim();if(r){let e=t.find(e=>e.id===r);if(e)return a(e,"step_id",.98,"zh"===n?"LLM 返回了候选步骤 ID,且后端校验存在":"The model returned a valid step id")}let i=/推理判断|时间窗口匹配/i.test(e.step||"")?null:String(e.step||"").match(/第\s*(\d+)\s*步/i);if(i){let e=Number(i[1]),r=t.find(t=>t.stepIndex===e);if(r)return a(r,"step_index",.9,"zh"===n?"来自故障记录的步骤编号":"Matched by failure step index")}let o=function(e,t,n){let r=u(e,2e3),i=r.match(/(?:tool_call_id|toolCallId|call_)[\"':\s-]*([A-Za-z0-9_.:-]{6,})/)?.[1];if(i){let e=t.find(e=>e.toolCallId===i);if(e)return a(e,"tool_call_id",.99,"zh"===n?"根据 tool_call_id 精确匹配":"Matched exactly by tool_call_id")}let o=r.match(/(?:interaction_index|interactionIndex)[\"':\s-]*(\d+)/)?.[1];if(o){let e=Number(o),r=t.find(t=>t.interactionIndex===e);if(r)return a(r,"interaction_index",.94,"zh"===n?"根据 interaction_index 精确匹配":"Matched by interaction_index")}return null}(e,t,n);if(o)return o;let s=l([e.failure_type,e.description,e.context,e.recovery,e.step].filter(Boolean).join(" ")),c=t.map(e=>{let t=0,n=l(e.rawText||`${e.name} ${e.meta}`);for(let e of Array.from(new Set(s.split(/[^a-z0-9_\-.]+/i).map(e=>e.trim().toLowerCase()).filter(e=>e.length>=3))).slice(0,12))n.includes(e)&&(t+=e.length>4?2:1);return/401|authentication|unauthori[sz]ed|api[_\s-]?key|认证|鉴权|权限/.test(s)&&"llm"===e.kind&&(t+=8),/tool|工具|bash|command|exit code|stderr|非零/.test(s)&&"tool"===e.kind&&(t+=7),/skill|技能|SKILL\.md/i.test(s)&&"skill"===e.kind&&(t+=7),/timeout|超时|卡住/.test(s)&&(t+=3),{step:e,score:t}}).sort((e,t)=>t.score-e.score);if(c[0]?.score>0){let e=c[0].score>=7?"type_rule":"text_match",t=c[0].score>=7?.78:.58;return a(c[0].step,e,t,c[0].score>=7?"zh"===n?"根据错误内容和节点类型匹配":"Matched by error content and step type":"zh"===n?"根据错误上下文文本匹配":"Matched by error context text")}let d=[...t].reverse().find(e=>"llm"===e.kind||"tool"===e.kind||"skill"===e.kind)||[...t].reverse().find(e=>"skipped"!==e.status);return d?a(d,"fallback",.35,"zh"===n?"未找到精确锚点,回退到最后一个已执行关键节点":"Fell back to the latest meaningful executed step"):null}(e,t,n);return r?{...e,trace_anchor:r}:e}):e}function i(e){return[`- step_id: ${e.id}`,` step_index: ${e.stepIndex}`,` name: ${e.name}`,` kind: ${e.kind}`,` meta: ${e.meta||"-"}`,null!=e.interactionIndex?` interaction_index: ${e.interactionIndex}`:"",e.toolCallId?` tool_call_id: ${e.toolCallId}`:"",null!=e.startedAt?` started_at: ${e.startedAt}`:"",null!=e.completedAt?` completed_at: ${e.completedAt}`:"",e.rawText?` evidence_text: ${c(e.rawText,220)}`:""].filter(Boolean).join("\n")}function a(e,t,n,r){return{step_id:e.id,step_index:e.stepIndex,display_name:e.name,kind:e.kind,interaction_index:e.interactionIndex,event_index:e.eventIndex,tool_call_id:e.toolCallId,started_at:e.startedAt,completed_at:e.completedAt,match_method:t,confidence:n,evidence:r}}function o(e,t){let n=[];e.agentName&&n.push(e.agentName),e.subagentType&&n.push(`type ${e.subagentType}`);let r=[e.stats.llmCalls?`${e.stats.llmCalls} LLM`:"",e.stats.toolCalls?`${e.stats.toolCalls} tool`:"",e.stats.skillCalls?`${e.stats.skillCalls} skill`:"",e.stats.taskCalls?`${e.stats.taskCalls} task`:""].filter(Boolean).join(" · ");return r&&n.push(r),n.join(" · ")||("zh"===t?"执行 Agent":"Agent")}function s(e){if(null!=e){if("number"==typeof e&&Number.isFinite(e))return e>0&&e<1e10?1e3*e:e;if("string"==typeof e){let t=e.trim();if(!t)return;if(/^\d+(\.\d+)?$/.test(t)){let e=Number(t);if(!Number.isFinite(e))return;return e>0&&e<1e10?1e3*e:e}let n=Date.parse(t);return Number.isFinite(n)?n:void 0}}}function l(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function u(e,t=300){if(null==e)return"";if("string"==typeof e)return c(e,t);try{return c(JSON.stringify(e),t)}catch{return c(String(e),t)}}function c(e,t){let n=String(e||"");return n.length>t?`${n.slice(0,t)}...`:n}e.s(["attachFailureAnchors",()=>r,"buildFaultPathSteps",()=>n,"formatFaultPathStepForPrompt",()=>i])},837926,e=>{"use strict";let t=["evaluator","checker","judge","locator","assessor","grader","评估器"],n=["你是「轨迹评估器」的总协调者","你是「Agent 任务完成度」评估器","trace-quality-evaluator","task-completion-evaluator","reference_trajectory","actual_trace","key_point_findings","key-points-checker","detect_redundancy_and_loops","已写入 final_result.json"],r=new Set(["trace-quality-evaluator","task-completion-evaluator"]);function i(e){let n=String(e||"").trim().toLowerCase();return!!n&&(!!r.has(n)||t.some(e=>n.includes(e)))}function a(e){return!!e&&(!![e.agentName,e.agent,...Array.isArray(e.agents)?e.agents:[]].some(e=>i(e))||!!e&&[e.query,e.final_result,e.label].some(e=>{let t=String(e||"");return!!t&&n.some(e=>t.includes(e))}))}function o(e){return e?String([e.agentName,e.agent,...Array.isArray(e.agents)?e.agents:[]].find(e=>{let t=String(e||"").trim();return t&&!i(t)})||"").trim():""}e.s(["getPrimaryExecutionAgentName",()=>o,"isEvaluatorAgentName",()=>i,"isEvaluatorTraceRecord",()=>a])},243080,e=>{"use strict";var t=e.i(837926);function n(e){return"string"==typeof e?e.trim():""}function r(e,t){let r=[],i=new Set,a=n(t),o=(e,t)=>{let a=n(e);if(!a)return;let o=`${t}:${a}`;i.has(o)||(i.add(o),r.push({name:a,agentType:t}))};for(let t of(a&&o(a,"main"),e||[])){if(!t||"object"!=typeof t)continue;let e=n(t.role).toLowerCase(),r=n(t.subagent_name),i=n(t.agent);if(r){o(r,"subagent");continue}("subagent"===e||"opencode"===e)&&i&&i!==a?o(i,"subagent"):!a&&i&&o(i,"main")}return r}function i(e){return r(e).map(e=>e.name)}function a(e,n){let i=r(e,n),a=i.find(e=>"main"===e.agentType&&!(0,t.isEvaluatorAgentName)(e.name));return a?a.name:i.find(e=>!(0,t.isEvaluatorAgentName)(e.name))?.name||""}e.s(["extractObservedAgentNames",()=>i,"extractObservedAgentRegistrations",()=>r,"getPrimaryObservedAgentName",()=>a])},384660,e=>{"use strict";function t(e){return"routing"===e||"outcome"===e||"combined"===e?e:"combined"}function n(e,n){let r=t(e);return"combined"===r||r===n}function r(e,n){let r=t(e);return"any"===n?"combined"===r?1:2:r===n?3:2*("combined"===r)}function i(e){return Array.isArray(e)?e.map(e=>{if("string"==typeof e){let t=e.trim();return t?{skill:t,version:null}:null}if(!e||"object"!=typeof e)return null;let t="skill"in e?e.skill:null,n="string"==typeof t?t.trim():"";if(!n)return null;let r="version"in e?e.version:null,i=null;if("number"==typeof r&&Number.isInteger(r)&&r>=0)i=r;else if("string"==typeof r&&r.trim()){let e=parseInt(r,10);i=Number.isNaN(e)||e<0?null:e}return{skill:n,version:i}}).filter(e=>!!e):[]}e.s(["configSupportsDatasetType",()=>n,"getDatasetTypePriority",()=>r,"normalizeConfigDatasetType",()=>t,"normalizeExpectedSkills",()=>i])},262197,e=>{"use strict";function t(e){return"string"!=typeof e?null:e.trim()||null}function n(e){return"string"!=typeof e?"":e.trim()}function r(e){if("number"==typeof e&&Number.isInteger(e)&&e>=0)return e;if("string"==typeof e&&e.trim()){let t=parseInt(e,10);if(!Number.isNaN(t)&&t>=0)return t}return null}function i(e,r="Skill benchmark"){var a,o;let s;return t(e.query)||(a=e.skill,o=e.skillVersion,(s=n(a))?null!=o?`${s} (v${o})`:s:null)||r}e.s(["getConfigSubjectLabel",()=>i,"normalizeConfigQuery",()=>t,"normalizeConfigSkillName",()=>n,"normalizeOptionalSkillVersion",()=>r])},274149,e=>e.a(async(t,n)=>{try{e.i(889228);var r=e.i(88045),i=e.i(637351),a=e.i(106411),o=t([a]);[a]=o.then?(await o)():o;let d=new Map;function s(e){return e.trim().toLowerCase().replace(/[`"'“”‘’]/g,"").replace(/[.,,。!?!?;;::、·…()[\]{}<>]/g," ").replace(/\s+/g," ").trim()}function l(e){return s(e).replace(/\s/g,"")}async function u(e,t){let n=e.trim();if(!n)return null;let o=`${t||"__global__"}::${n}`;if(d.has(o))return d.get(o);let l=(async()=>{let e=await (0,a.getActiveConfig)(t);if(!e)throw Error("No active model configuration for routing signature extraction");let{customFetch:o}=(0,i.getProxyConfig)(),l=new r.OpenAI({apiKey:e.apiKey||"no-api-key-required",baseURL:e.baseUrl||"https://api.deepseek.com",fetch:o}),u=`
1
+ module.exports=[68987,e=>{"use strict";function t(e){if(null==e)return null;if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e){let t=e.trim();if(!t)return null;if(/^\d+$/.test(t)){let e=Number(t);return Number.isFinite(e)?e:null}let n=Date.parse(t);return Number.isFinite(n)?n:null}return null}function n(e){let n=0,r=0,i="",a="",o="",l=0,s=0,u=0,c=0,d=0,m=0,p=0,f=0,g=0,h=Number.MAX_SAFE_INTEGER,y=0;for(let r of e||[]){if(!r)continue;let e=r.role,_="assistant"===e||"subagent"===e;if("assistant"===e){let e="string"==typeof r.content?r.content:"";e&&e.trim()&&(a=e),"string"==typeof r.model&&r.model?i=r.model:"string"==typeof r.modelID&&r.modelID&&(i=r.modelID)}r.agent&&"string"==typeof r.agent&&!o&&(o=r.agent);let k=t(r.timeInfo?.created),b=t(r.timeInfo?.completed),x=t(r.timestamp);if(k&&(h=Math.min(h,k),y=Math.max(y,k)),b&&(y=Math.max(y,b)),x&&(h=Math.min(h,x),y=Math.max(y,x)),!_)continue;m++;let A=r.usage;if(A){let e=function(e){let t=Number(e?.input_tokens??e?.input??0)||0,n=Number(e?.output_tokens??e?.output??0)||0,r=Number(e?.cache?.read??e?.cache_read_input_tokens??0)||0,i=Number(e?.cache?.write??e?.cache_creation_input_tokens??0)||0,a=Number(e?.reasoning??e?.reasoning_tokens??e?.completion_tokens_details?.reasoning_tokens??0)||0,o=e?.reasoning!==void 0&&a>0&&n<a?n+a:n;return{total:e?.total!==void 0?Number(e.total)||0:t+o+r+i,input:t,output:o,cacheRead:r,cacheWrite:i,reasoning:a,maxSingleCallTokens:t+o+r+i}}(A);n+=e.total,l+=e.input,s+=e.output,u+=e.cacheRead,c+=e.cacheWrite,d+=e.reasoning,e.maxSingleCallTokens>g&&(g=e.maxSingleCallTokens)}if(Array.isArray(r.tool_calls))for(let e of(p+=r.tool_calls.length,r.tool_calls))(e?.state==="error"||e?.state==="failed")&&f++}return h!==Number.MAX_SAFE_INTEGER&&y>h&&(r=y-h),{model:i||void 0,agentName:o||void 0,final_result:a||void 0,tokens:Math.round(n),latency:r/1e3,input_tokens:Math.round(l),output_tokens:Math.round(s),tool_call_count:p,tool_call_error_count:f,llm_call_count:m,cache_read_input_tokens:Math.round(u),cache_creation_input_tokens:Math.round(c),max_single_call_tokens:Math.round(g),reasoning_tokens:Math.round(d)}}e.s(["deriveOpencodeExecutionFields",()=>n])},596767,e=>{"use strict";var t=e.i(286372);function n(e,r="zh"){let i=function(e){if(!Array.isArray(e))return[];let t=[];for(let n of e)if(n){if(Array.isArray(n.requestMessages)||n.responseMessage){for(let e of n.requestMessages||[])e&&t.push(e);n.responseMessage&&t.push(n.responseMessage);continue}t.push(n)}return t}(e),a=[],s=e=>{a.push({...e,stepIndex:a.length+1})},d=i.find(e=>e?.role==="user"&&String(e.content||"").trim());d&&s({id:"input:root",name:"zh"===r?"用户输入":"User input",meta:d.usage?.input?`req ${d.usage.input} tok`:c(String(d.content||""),110),kind:"user",status:"ok",depth:0,interactionIndex:i.indexOf(d),startedAt:l(d.timeInfo?.created)??l(d.timestamp),completedAt:l(d.timeInfo?.completed),rawText:String(d.content||""),rawInput:String(d.content||"")});let m=(0,t.buildAgentCallTree)(i);return m&&(0,t.walkTree)(m,e=>{let t=e.events.find(e=>"user"===e.kind),n=[...e.events].reverse().find(e=>"llm"===e.kind),a=t&&(t.summary||t.interaction?.content)||void 0,l=n&&(n.interaction?.content||n.summary)||void 0;s({id:`agent:${e.id}`,name:0===e.depth?"zh"===r?"控制器路由":"Controller routing":"zh"===r?"子任务执行":"Subtask execution",meta:o(e,r),kind:"agent",status:"ok",depth:e.depth,startedAt:e.startedAt,completedAt:e.endedAt,rawText:[e.agentName,e.subagentType,o(e,r)].filter(Boolean).join(" "),rawInput:a,rawOutput:l}),e.events.forEach((t,n)=>{let a,o,l=function(e,t){var n,r,i;let a="zh"===t;if("user"===e.kind)return{name:a?"用户输入":"User input",meta:e.usage?.input?`req ${e.usage.input} tok`:c(e.summary||"",96)};if("llm"===e.kind){let t;return{name:a?"模型调用":"Model call",meta:[(t=[(n=e).name,n.interaction?.providerID,n.interaction?.modelID,n.summary].filter(Boolean).join(" ").toLowerCase()).includes("openai")||t.includes("gpt")||t.includes("chat.completions")?"OpenAI":t.includes("deepseek")?"DeepSeek":t.includes("anthropic")||t.includes("claude")?"Anthropic":"LLM Provider",e.usage?.input?`req ${e.usage.input} tok`:"",e.usage?.output?`out ${e.usage.output} tok`:""].filter(Boolean).join(" · ")||c(e.summary||"assistant response",96)}}if("skill"===e.kind){let t=e.args?.name||e.args?.skill||e.name||"skill";return{name:a?"执行 Skill":"Run skill",meta:`skill ${t}`}}if("task"===e.kind){let t=e.args?.subagent_type||e.args?.subagentType||"subagent";return{name:a?"调度子任务":"Dispatch subtask",meta:`spawn ${t}`}}return{name:a?"工具调用":"Tool call",meta:(r=e.name||"tool",i=e.args,"bash"===r?`bash ${c(i?.command||"",72)}`:"read"===r?`read ${i?.path||i?.file_path||""}`.trim():"write"===r?`write ${i?.path||i?.file_path||""}`.trim():"glob"===r?`glob ${i?.pattern||""}`.trim():"grep"===r?`grep ${i?.pattern||""}`.trim():`${r}${i?` ${c(u(i,90),90)}`:""}`)}}(t,r),d=t.completedAt||t.startedAt?"ok":"skipped";if("user"===t.kind)a=t.summary||t.interaction?.content||"";else if("llm"===t.kind){let n=t.interactionIndex??-1,l=new Set(e.interactionIndices.filter(e=>e<n)),s=[];for(let t of e.systemPrompts||[])t.text?.trim()&&s.push(`[System]
2
+ ${c(t.text,1500)}`);for(let e of Array.from(l).sort((e,t)=>e-t)){let t=i[e];if(!t||"system"===t.role)continue;let n="string"==typeof t.content?t.content:u(t.content,2e3);n.trim()&&("user"===t.role||"opencode"===t.role?s.push(`[User]
3
+ ${c(n,2e3)}`):("assistant"===t.role||"subagent"===t.role)&&s.push(`[Assistant]
4
+ ${c(n,2e3)}`))}a=s.length>0?s.join("\n\n---\n\n"):void 0;let d=function(e,t){if(!Array.isArray(e)||0===e.length)return"";let n=e.map(e=>e?.function?.name||e?.name||"tool").slice(0,3),r=e.length>n.length?", ...":"";return"zh"===t?`${e.length} 个工具调用: ${n.join(", ")}${r}`:`${e.length} tool call${e.length>1?"s":""}: ${n.join(", ")}${r}`}(t.interaction?.tool_calls,r);o=[t.interaction?.content,d].filter(Boolean).join("\n")||t.summary||""}else("tool"===t.kind||"skill"===t.kind||"task"===t.kind)&&(void 0!==t.args&&(a=u(t.args,2e3)),("tool"===t.kind||"skill"===t.kind)&&void 0!==t.output&&null!==t.output&&(o=u(t.output,2e3)));s({id:`event:${e.id}:${n}`,name:l.name,meta:l.meta,kind:t.kind,status:d,depth:e.depth+1,interactionIndex:t.interactionIndex,eventIndex:n,toolCallId:t._toolCallId,startedAt:t.startedAt,completedAt:t.completedAt,rawText:[l.name,l.meta,t.name,t.summary,u(t.args,500),u(t.output,500)].filter(Boolean).join(" "),rawInput:a||void 0,rawOutput:o||void 0})})}),0===a.length&&s({id:"system:missing-trace",name:"zh"===r?"链路详情缺失":"Trace unavailable",meta:"zh"===r?"未找到可还原的 interactions。":"No interactions were available.",kind:"system",status:"skipped",depth:0,rawText:""}),a}function r(e,t,n="zh"){return Array.isArray(e)&&0!==e.length?e.map(e=>{if(e.trace_anchor?.step_id&&t.some(t=>t.id===e.trace_anchor?.step_id))return e;let r=function(e,t,n="zh"){if(!t.length)return null;let r=String(e.anchor_step_id||e.trace_anchor?.step_id||"").trim();if(r){let e=t.find(e=>e.id===r);if(e)return a(e,"step_id",.98,"zh"===n?"LLM 返回了候选步骤 ID,且后端校验存在":"The model returned a valid step id")}let i=/推理判断|时间窗口匹配/i.test(e.step||"")?null:String(e.step||"").match(/第\s*(\d+)\s*步/i);if(i){let e=Number(i[1]),r=t.find(t=>t.stepIndex===e);if(r)return a(r,"step_index",.9,"zh"===n?"来自故障记录的步骤编号":"Matched by failure step index")}let o=function(e,t,n){let r=u(e,2e3),i=r.match(/(?:tool_call_id|toolCallId|call_)[\"':\s-]*([A-Za-z0-9_.:-]{6,})/)?.[1];if(i){let e=t.find(e=>e.toolCallId===i);if(e)return a(e,"tool_call_id",.99,"zh"===n?"根据 tool_call_id 精确匹配":"Matched exactly by tool_call_id")}let o=r.match(/(?:interaction_index|interactionIndex)[\"':\s-]*(\d+)/)?.[1];if(o){let e=Number(o),r=t.find(t=>t.interactionIndex===e);if(r)return a(r,"interaction_index",.94,"zh"===n?"根据 interaction_index 精确匹配":"Matched by interaction_index")}return null}(e,t,n);if(o)return o;let l=s([e.failure_type,e.description,e.context,e.recovery,e.step].filter(Boolean).join(" ")),c=t.map(e=>{let t=0,n=s(e.rawText||`${e.name} ${e.meta}`);for(let e of Array.from(new Set(l.split(/[^a-z0-9_\-.]+/i).map(e=>e.trim().toLowerCase()).filter(e=>e.length>=3))).slice(0,12))n.includes(e)&&(t+=e.length>4?2:1);return/401|authentication|unauthori[sz]ed|api[_\s-]?key|认证|鉴权|权限/.test(l)&&"llm"===e.kind&&(t+=8),/tool|工具|bash|command|exit code|stderr|非零/.test(l)&&"tool"===e.kind&&(t+=7),/skill|技能|SKILL\.md/i.test(l)&&"skill"===e.kind&&(t+=7),/timeout|超时|卡住/.test(l)&&(t+=3),{step:e,score:t}}).sort((e,t)=>t.score-e.score);if(c[0]?.score>0){let e=c[0].score>=7?"type_rule":"text_match",t=c[0].score>=7?.78:.58;return a(c[0].step,e,t,c[0].score>=7?"zh"===n?"根据错误内容和节点类型匹配":"Matched by error content and step type":"zh"===n?"根据错误上下文文本匹配":"Matched by error context text")}let d=[...t].reverse().find(e=>"llm"===e.kind||"tool"===e.kind||"skill"===e.kind)||[...t].reverse().find(e=>"skipped"!==e.status);return d?a(d,"fallback",.35,"zh"===n?"未找到精确锚点,回退到最后一个已执行关键节点":"Fell back to the latest meaningful executed step"):null}(e,t,n);return r?{...e,trace_anchor:r}:e}):e}function i(e){return[`- step_id: ${e.id}`,` step_index: ${e.stepIndex}`,` name: ${e.name}`,` kind: ${e.kind}`,` meta: ${e.meta||"-"}`,null!=e.interactionIndex?` interaction_index: ${e.interactionIndex}`:"",e.toolCallId?` tool_call_id: ${e.toolCallId}`:"",null!=e.startedAt?` started_at: ${e.startedAt}`:"",null!=e.completedAt?` completed_at: ${e.completedAt}`:"",e.rawText?` evidence_text: ${c(e.rawText,220)}`:""].filter(Boolean).join("\n")}function a(e,t,n,r){return{step_id:e.id,step_index:e.stepIndex,display_name:e.name,kind:e.kind,interaction_index:e.interactionIndex,event_index:e.eventIndex,tool_call_id:e.toolCallId,started_at:e.startedAt,completed_at:e.completedAt,match_method:t,confidence:n,evidence:r}}function o(e,t){let n=[];e.agentName&&n.push(e.agentName),e.subagentType&&n.push(`type ${e.subagentType}`);let r=[e.stats.llmCalls?`${e.stats.llmCalls} LLM`:"",e.stats.toolCalls?`${e.stats.toolCalls} tool`:"",e.stats.skillCalls?`${e.stats.skillCalls} skill`:"",e.stats.taskCalls?`${e.stats.taskCalls} task`:""].filter(Boolean).join(" · ");return r&&n.push(r),n.join(" · ")||("zh"===t?"执行 Agent":"Agent")}function l(e){if(null!=e){if("number"==typeof e&&Number.isFinite(e))return e>0&&e<1e10?1e3*e:e;if("string"==typeof e){let t=e.trim();if(!t)return;if(/^\d+(\.\d+)?$/.test(t)){let e=Number(t);if(!Number.isFinite(e))return;return e>0&&e<1e10?1e3*e:e}let n=Date.parse(t);return Number.isFinite(n)?n:void 0}}}function s(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function u(e,t=300){if(null==e)return"";if("string"==typeof e)return c(e,t);try{return c(JSON.stringify(e),t)}catch{return c(String(e),t)}}function c(e,t){let n=String(e||"");return n.length>t?`${n.slice(0,t)}...`:n}e.s(["attachFailureAnchors",()=>r,"buildFaultPathSteps",()=>n,"formatFaultPathStepForPrompt",()=>i])},837926,e=>{"use strict";let t=["evaluator","checker","judge","locator","assessor","grader","评估器"],n=["你是「轨迹评估器」的总协调者","你是「Agent 任务完成度」评估器","trace-quality-evaluator","task-completion-evaluator","reference_trajectory","actual_trace","key_point_findings","key-points-checker","detect_redundancy_and_loops","已写入 final_result.json"],r=new Set(["trace-quality-evaluator","task-completion-evaluator"]);function i(e){let n=String(e||"").trim().toLowerCase();return!!n&&(!!r.has(n)||t.some(e=>n.includes(e)))}function a(e){return!!e&&(!![e.agentName,e.agent,...Array.isArray(e.agents)?e.agents:[]].some(e=>i(e))||!!e&&[e.query,e.final_result,e.label].some(e=>{let t=String(e||"");return!!t&&n.some(e=>t.includes(e))}))}function o(e){return e?String([e.agentName,e.agent,...Array.isArray(e.agents)?e.agents:[]].find(e=>{let t=String(e||"").trim();return t&&!i(t)})||"").trim():""}e.s(["getPrimaryExecutionAgentName",()=>o,"isEvaluatorAgentName",()=>i,"isEvaluatorTraceRecord",()=>a])},243080,e=>{"use strict";var t=e.i(837926);function n(e){return"string"==typeof e?e.trim():""}function r(e,t){let r=[],i=new Set,a=n(t),o=(e,t)=>{let a=n(e);if(!a)return;let o=`${t}:${a}`;i.has(o)||(i.add(o),r.push({name:a,agentType:t}))};for(let t of(a&&o(a,"main"),e||[])){if(!t||"object"!=typeof t)continue;let e=n(t.role).toLowerCase(),r=n(t.subagent_name),i=n(t.agent);if(r){o(r,"subagent");continue}("subagent"===e||"opencode"===e)&&i&&i!==a?o(i,"subagent"):!a&&i&&o(i,"main")}return r}function i(e){return r(e).map(e=>e.name)}function a(e,n){let i=r(e,n),a=i.find(e=>"main"===e.agentType&&!(0,t.isEvaluatorAgentName)(e.name));return a?a.name:i.find(e=>!(0,t.isEvaluatorAgentName)(e.name))?.name||""}e.s(["extractObservedAgentNames",()=>i,"extractObservedAgentRegistrations",()=>r,"getPrimaryObservedAgentName",()=>a])},384660,e=>{"use strict";function t(e){return"routing"===e||"outcome"===e||"combined"===e?e:"combined"}function n(e,n){let r=t(e);return"combined"===r||r===n}function r(e,n){let r=t(e);return"any"===n?"combined"===r?1:2:r===n?3:2*("combined"===r)}function i(e){return Array.isArray(e)?e.map(e=>{if("string"==typeof e){let t=e.trim();return t?{skill:t,version:null}:null}if(!e||"object"!=typeof e)return null;let t="skill"in e?e.skill:null,n="string"==typeof t?t.trim():"";if(!n)return null;let r="version"in e?e.version:null,i=null;if("number"==typeof r&&Number.isInteger(r)&&r>=0)i=r;else if("string"==typeof r&&r.trim()){let e=parseInt(r,10);i=Number.isNaN(e)||e<0?null:e}return{skill:n,version:i}}).filter(e=>!!e):[]}e.s(["configSupportsDatasetType",()=>n,"getDatasetTypePriority",()=>r,"normalizeConfigDatasetType",()=>t,"normalizeExpectedSkills",()=>i])},262197,e=>{"use strict";function t(e){return"string"!=typeof e?null:e.trim()||null}function n(e){return"string"!=typeof e?"":e.trim()}function r(e){if("number"==typeof e&&Number.isInteger(e)&&e>=0)return e;if("string"==typeof e&&e.trim()){let t=parseInt(e,10);if(!Number.isNaN(t)&&t>=0)return t}return null}function i(e,r="Skill benchmark"){var a,o;let l;return t(e.query)||(a=e.skill,o=e.skillVersion,(l=n(a))?null!=o?`${l} (v${o})`:l:null)||r}e.s(["getConfigSubjectLabel",()=>i,"normalizeConfigQuery",()=>t,"normalizeConfigSkillName",()=>n,"normalizeOptionalSkillVersion",()=>r])},274149,e=>e.a(async(t,n)=>{try{e.i(889228);var r=e.i(88045),i=e.i(637351),a=e.i(106411),o=t([a]);[a]=o.then?(await o)():o;let d=new Map;function l(e){return e.trim().toLowerCase().replace(/[`"'“”‘’]/g,"").replace(/[.,,。!?!?;;::、·…()[\]{}<>]/g," ").replace(/\s+/g," ").trim()}function s(e){return l(e).replace(/\s/g,"")}async function u(e,t){let n=e.trim();if(!n)return null;let o=`${t||"__global__"}::${n}`;if(d.has(o))return d.get(o);let s=(async()=>{let e=await (0,a.getActiveConfig)(t);if(!e)throw Error("No active model configuration for routing signature extraction");let{customFetch:o}=(0,i.getProxyConfig)(),s=new r.OpenAI({apiKey:e.apiKey||"no-api-key-required",baseURL:e.baseUrl||"https://api.deepseek.com",fetch:o}),u=`
5
5
  You are extracting a routing signature for skill benchmark matching.
6
6
 
7
7
  Given one user query, produce a compact semantic signature that captures the query's routing intent rather than the full scenario wording.
@@ -27,6 +27,6 @@ Rules:
27
27
  - Preserve domain terms, repo terms, tool names, protocol names, object names, and constraints that affect routing.
28
28
  - Remove storytelling details, hostnames, dates, and incidental wording unless they are essential to routing.
29
29
  - The output language must match the query language.
30
- `.trim(),c=await l.chat.completions.create({messages:[{role:"user",content:u}],model:e.model||"deepseek-chat",temperature:.1}),d=c.choices[0]?.message?.content;if(!d)throw Error("No content returned for routing signature extraction");let m=function(e){let t=e.trim(),n=t.match(/```(?:json)?\s*([\s\S]*?)\s*```/i);if(n)t=n[1];else{let e=t.indexOf("{"),n=t.lastIndexOf("}");-1!==e&&-1!==n&&n>=e&&(t=t.slice(e,n+1))}let r=JSON.parse(t),i="string"==typeof r.intent?r.intent.trim():"",a=Array.isArray(r.anchors)?r.anchors.filter(e=>"string"==typeof e).map(e=>e.trim()):[];return{intent:i,anchors:(function(e){let t=new Set,n=[];for(let r of e){let e=s(r);!e||t.has(e)||(t.add(e),n.push(r.trim()))}return n})(a).slice(0,8)}}(d);if(!m.intent||0===m.anchors.length)throw Error("Routing signature extraction returned empty intent or anchors");return m})().finally(()=>{d.delete(o)});return d.set(o,l),l}function c(e,t){let n=l(e),r=l(t.intent),i=t.anchors.filter(e=>{let t=l(e);return!!t&&n.includes(t)});return{intentMatched:!!(n&&r&&(n===r||n.includes(r)||r.includes(n))),matchedAnchors:i,anchorCoverage:t.anchors.length>0?i.length/t.anchors.length:0}}e.s(["deriveRoutingSignature",()=>u,"matchQueryToStoredRoutingSignature",()=>c]),n()}catch(e){n(e)}},!1)];
30
+ `.trim(),c=await s.chat.completions.create({messages:[{role:"user",content:u}],model:e.model||"deepseek-chat",temperature:.1}),d=c.choices[0]?.message?.content;if(!d)throw Error("No content returned for routing signature extraction");let m=function(e){let t=e.trim(),n=t.match(/```(?:json)?\s*([\s\S]*?)\s*```/i);if(n)t=n[1];else{let e=t.indexOf("{"),n=t.lastIndexOf("}");-1!==e&&-1!==n&&n>=e&&(t=t.slice(e,n+1))}let r=JSON.parse(t),i="string"==typeof r.intent?r.intent.trim():"",a=Array.isArray(r.anchors)?r.anchors.filter(e=>"string"==typeof e).map(e=>e.trim()):[];return{intent:i,anchors:(function(e){let t=new Set,n=[];for(let r of e){let e=l(r);!e||t.has(e)||(t.add(e),n.push(r.trim()))}return n})(a).slice(0,8)}}(d);if(!m.intent||0===m.anchors.length)throw Error("Routing signature extraction returned empty intent or anchors");return m})().finally(()=>{d.delete(o)});return d.set(o,s),s}function c(e,t){let n=s(e),r=s(t.intent),i=t.anchors.filter(e=>{let t=s(e);return!!t&&n.includes(t)});return{intentMatched:!!(n&&r&&(n===r||n.includes(r)||r.includes(n))),matchedAnchors:i,anchorCoverage:t.anchors.length>0?i.length/t.anchors.length:0}}e.s(["deriveRoutingSignature",()=>u,"matchQueryToStoredRoutingSignature",()=>c]),n()}catch(e){n(e)}},!1)];
31
31
 
32
- //# sourceMappingURL=src_lib_ac48c2f3._.js.map
32
+ //# sourceMappingURL=src_lib_beee2d37._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[137165,e=>{"use strict";var t=e.i(522734),n=e.i(814747);let i={"claude-opus-4-6":{inputTokenPrice:5,outputTokenPrice:25,cacheReadInputTokenPrice:.5,cacheCreationInputTokenPrice:6.25},"claude-sonnet-4-6":{inputTokenPrice:3,outputTokenPrice:15,cacheReadInputTokenPrice:.3,cacheCreationInputTokenPrice:3.75},"deepseek-chat":{inputTokenPrice:.28,outputTokenPrice:.42,cacheReadInputTokenPrice:.028},"deepseek-reasoner":{inputTokenPrice:.28,outputTokenPrice:.42,cacheReadInputTokenPrice:.028},"minimax-m2.5-free":{inputTokenPrice:0,outputTokenPrice:0}},l={"claude-opus-4-6":1e6,"claude-sonnet-4-6":1e6,"deepseek-chat":128e3,"deepseek-reasoner":128e3,"minimax-m2.5-free":196608},r=n.default.join(process.cwd(),"custom-models.json"),s={},o={},a=-1;function u(){try{let e=t.default.statSync(r).mtimeMs;if(e===a)return{pricing:s,contextWindows:o};let n=JSON.parse(t.default.readFileSync(r,"utf-8")),i={},l={};for(let[e,t]of Object.entries(n))e.startsWith("_")||("number"==typeof t.inputTokenPrice&&"number"==typeof t.outputTokenPrice&&(i[e]=t),"number"==typeof t.contextWindow&&(l[e]=t.contextWindow));s=i,o=l,a=e}catch(e){e instanceof SyntaxError&&console.warn("[model-config] Failed to parse custom-models.json:",e.message),s={},o={},a=-1}return{pricing:s,contextWindows:o}}function c(e,t){if(t[e])return t[e];for(let[n,i]of Object.entries(t).sort((e,t)=>t[0].length-e[0].length))if(e.startsWith(n))return i;return null}function d(e){let{pricing:t}=u(),n=c(e,t);if(n)return{pricing:n,source:"custom"};let l=c(e,i);return l?{pricing:l,source:"default"}:null}function k(e){let{contextWindows:t}=u(),n=c(e,t);if(null!=n)return{contextWindow:n,source:"custom"};let i=c(e,l);return null!=i?{contextWindow:i,source:"default"}:null}function m(e,t,n,i,l){let r=n.cacheReadInputTokenPrice??.1*n.inputTokenPrice,s=n.cacheCreationInputTokenPrice??1.25*n.inputTokenPrice;return(e*n.inputTokenPrice+(i??0)*r+(l??0)*s+t*n.outputTokenPrice)/1e6}e.s(["DEFAULT_CACHE_CREATION_RATIO",0,1.25,"DEFAULT_CACHE_READ_RATIO",0,.1,"calculateCost",()=>m,"getModelContextWindow",()=>k,"getModelPricing",()=>d])},711340,e=>{"use strict";function t(e){let t="string"==typeof e.incomingLabel?e.incomingLabel.trim():void 0;if(void 0!==t){if(!t)return;return t}let n="string"==typeof e.existingLabel?e.existingLabel.trim():"",i="string"==typeof e.skill?e.skill.trim():"",l=e.skillVersion??null;if(n&&!(n&&"without-skill"===n))return n;if(i){let e="number"==typeof l&&Number.isFinite(l)?l:0;return`${i}-v${e}`}return"without-skill"}e.s(["chooseExecutionLabel",()=>t])},160570,e=>{"use strict";function t(e){let t="string"==typeof e?e.trim():"";if(!t||"without-skill"===t)return null;let n=t.match(/^(.+)-v(\d+)$/);if(!n)return null;let i=(n[1]||"").trim(),l=Number(n[2]);return i&&Number.isFinite(l)&&!(l<0)?{skill:i,skill_version:l,skills:[i],invokedSkills:[{name:i,version:l}]}:null}e.s(["parseLabelSkillVersionBinding",()=>t])},524913,e=>{"use strict";function t(e){if(null==e)return null;if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e){let t=e.trim();if(!t)return null;if(/^\d+$/.test(t)){let e=Number(t);return Number.isFinite(e)?e:null}let n=Date.parse(t);return Number.isFinite(n)?n:null}return null}function n(e){let n=e.id??e.message_id??e.messageID;if("string"==typeof n&&n.trim())return`id:${n.trim()}`;let i="string"==typeof e.role?e.role:"unknown",l=t(e.timestamp)??t(e.timeInfo?.created)??t(e.timeInfo?.completed)??0,r="string"==typeof e.subagent_session_id?e.subagent_session_id:"";return`k:${r}:${l}:${i}`}function i(e,i){let l=Array.isArray(e)?e:[],r=Array.isArray(i)?i:[],s=new Map,o=new Map,a=0;for(let e of l){if(!e)continue;let t=n(e);s.has(t)||(s.set(t,e),o.set(t,a++))}for(let e of r){if(!e)continue;let t=n(e),i=s.get(t);i?s.set(t,function(e,t){let n={...e,...t},i="string"==typeof e.content?e.content:"",l="string"==typeof t.content?t.content:"";return i&&!l?n.content=i:i&&l&&l.length<i.length&&(n.content=i),e.subagent_name&&!t.subagent_name&&(n.subagent_name=e.subagent_name),e.agent&&!t.agent&&(n.agent=e.agent),e.subagent_session_id&&!t.subagent_session_id&&(n.subagent_session_id=e.subagent_session_id),n.tool_calls=function(e,t){let n=Array.isArray(e)?e:[],i=Array.isArray(t)?t:[];if(0===n.length)return i;if(0===i.length)return n;let l=new Set,r=[];for(let e of[...n,...i]){let t=function(e){let t=e?.id??e?.callID??e?.callId??e?.call_id;if("string"==typeof t&&t.trim())return`id:${t.trim()}`;let n=e?.function?.name??e?.name??"",i=e?.function?.arguments??e?.arguments??"";return`sig:${n}:${function(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t^e.charCodeAt(n);return(t>>>0).toString(16)}(function(e){if(null==e)return"";if("string"==typeof e)return e;try{return JSON.stringify(e)}catch{return String(e)}}(i))}`}(e);l.has(t)||(l.add(t),r.push(e))}return r}(e.tool_calls,t.tool_calls),e.usage&&!t.usage&&(n.usage=e.usage),e.timeInfo&&!t.timeInfo&&(n.timeInfo=e.timeInfo),n}(i,e)):(s.set(t,e),o.set(t,a++))}let u=Array.from(s.entries()).map(([e,n])=>({k:e,v:n,ts:t(n.timestamp)??t(n.timeInfo?.created)??t(n.timeInfo?.completed)??0,order:o.get(e)??0}));return u.sort((e,t)=>e.ts-t.ts||e.order-t.order),u.map(e=>e.v)}e.s(["mergeSessionInteractionsMonotonic",()=>i])},365759,e=>{"use strict";var t=e.i(997215),n=e.i(738282);let i={descriptor:{id:"claude",aliases:["claudecode"],label:"Claude Code",onboard:"watcher",platform:"claude"},normalizeForStorage:t.normalizeClaudeCodeInteractionsForStorage,extractSkills:n.extractSkillsWithVersionsFromClaudeSession},l={descriptor:{id:"hermes",label:"Hermes",onboard:"plugin",platform:"hermes"},capabilities:{skills:!0,subagentTree:!0},sessionMergeStrategy:"snapshot-replace",extractSkills:n.extractSkillsWithVersionsFromHermesSession},r={descriptor:{id:"openclaw",label:"OpenClaw",onboard:"plugin",platform:"openclaw"},extractSkills:n.extractSkillsWithVersionsFromOpenClawSession},s={descriptor:{id:"opencode",label:"OpenCode",onboard:"plugin",platform:"opencode"},extractSkills:n.extractSkillsWithVersionsFromOpencodeSession},o={descriptor:{id:"unknown",label:"Unknown",onboard:"env"}},a=new Map;for(let e of[s,i,r,l])for(let t of(a.set(e.descriptor.id.toLowerCase(),e),e.descriptor.aliases??[]))a.set(t.toLowerCase(),e);function u(e){return String(e??"").trim().toLowerCase()}function c(e){return a.get(u(e))??o}function d(e){let t=u(e);return a.get(t)?.descriptor.id??t}e.s(["getAdapter",()=>c,"resolveFrameworkId",()=>d],365759)},948594,e=>e.a(async(t,n)=>{try{var i=e.i(522734),l=e.i(814747),r=e.i(307692),s=e.i(854763),o=e.i(137165),a=e.i(384660),u=e.i(262197),c=e.i(274149),d=e.i(68987),k=e.i(243080),m=e.i(711340),p=e.i(160570),f=e.i(8129),_=e.i(524913),g=e.i(286372),y=e.i(837926),h=e.i(365759),v=e.i(738282),w=t([r,s,c,f]);[r,s,c,f]=w.then?(await w)():w;let K=!process.env.DB_HOST,Z=/^[a-zA-Z0-9_\-\.]+$/;function S(e){let t=new Set,n=[];for(let i of e.events||[]){if("skill"!==i.kind)continue;let e=i.args&&"object"==typeof i.args?i.args:{},l=e.name??e.skill_name??e.skillName??e.skill;if(null==l||!String(l).trim())continue;let r=String(l).trim().replace(/^['"]+|['"]+$/g,"");if(!Z.test(r)||t.has(r))continue;t.add(r);let s=null!=e.version?Number(e.version):null;n.push({name:r,version:null===s||isNaN(s)?null:s})}return n}async function b(e,t){let n=Array.from(new Set(e.filter(e=>null==e.version).map(e=>e.name))),i=new Map;if(n.length>0)try{for(let e of(await s.prisma.skill.findMany({where:{name:{in:n},...t?{OR:[{user:t},{user:null}]}:{}},select:{name:!0,activeVersion:!0}})))"number"==typeof e.activeVersion&&i.set(e.name,e.activeVersion)}catch(e){console.warn("[Data-Service] snapshotSkillVersions lookup failed:",e)}return e.map(e=>null!=e.version?e:{name:e.name,version:i.get(e.name)??null})}async function x(e,t,n={}){if(K&&e)try{if(await s.prismaRaw.executionSkill.deleteMany({where:{executionId:e}}),!t.length)return;let i=new Set,l=[];for(let r of t){if(!r?.name)continue;let t=`${r.name}@@${r.version??""}`;i.has(t)||(i.add(t),l.push({executionId:e,skillName:r.name,skillVersion:r.version??null,isPrimary:null!=n.primaryName&&r.name===n.primaryName,user:n.user??null}))}l.length&&await s.prismaRaw.executionSkill.createMany({data:l})}catch(t){console.warn(`[Data-Service] persistExecutionSkills failed for ${e}:`,t)}}let Y=new Set([...(process.env.TRACE_SERVICE_OWNERS||"admin,anonymous").split(",").map(e=>e.trim()).filter(Boolean),"","debug-user","anonymous"]);function I(e){return Y.has((e||"").trim())}async function T(e,t){let n=(e||"").trim(),i=(t||"").trim();if(!n||!i||I(i))return!1;let l=await s.prismaRaw.execution.findUnique({where:{id:n},select:{id:!0,taskId:!0,user:!0}});if(l||(l=await s.prismaRaw.execution.findFirst({where:{taskId:n},select:{id:!0,taskId:!0,user:!0}})),!l)return!1;let r=(l.user||"").trim();if(r===i||!I(r))return!1;let o=[...Y].filter(Boolean);await s.prismaRaw.execution.update({where:{id:l.id},data:{user:i}}),await s.prismaRaw.execution.updateMany({where:{rootExecutionId:l.id,OR:[{user:{in:o}},{user:null}]},data:{user:i}});try{await s.prismaRaw.executionSkill.updateMany({where:{executionId:l.id},data:{user:i}})}catch{}if(l.taskId)try{await s.prismaRaw.session.updateMany({where:{taskId:l.taskId},data:{user:i}})}catch{}return!0}let G="未找到匹配的效果评测配置";function C(e){let t=e.trim(),n=[['"','"'],["'","'"],["“","”"],["‘","’"],["`","`"],["《","》"],["(",")"],["(",")"],["【","】"],["[","]"],["{","}"],["<",">"]];for(let e=0;e<6;e++){let e=t;for(let[e,i]of(t=t.trim(),n))t.startsWith(e)&&t.endsWith(i)&&t.length>=e.length+i.length+1&&(t=t.slice(e.length,-i.length));if(t===e)break}return t=(t=(t=t.replace(/[\s"'“”‘’`。.]/g,"")).replace(/^[\s.,,。!?!?;;::、·…]+|[\s.,,。!?!?;;::、·…]+$/g,"")).replace(/\s+/g," ").trim()}function A(e,t,n="any"){if(!t)return;let i=C(t);if(!i)return;let l=e.filter(e=>e.query&&e.query.trim()).filter(e=>{let t=C(e.query||"");return!!t&&i.endsWith(t)}).filter(e=>"any"===n||(0,a.configSupportsDatasetType)(e.dataset_type,n));if(0!==l.length)return l.reduce((e,t)=>{let i=C(e.query||"").length,l=C(t.query||"").length;if(l!==i)return l>i?t:e;let r=(0,a.getDatasetTypePriority)(e.dataset_type,n);return(0,a.getDatasetTypePriority)(t.dataset_type,n)>r?t:e})}async function N(e,t,n){let i=(0,u.normalizeConfigQuery)(t);if(!i)return;let l=e.filter(e=>(0,a.configSupportsDatasetType)(e.dataset_type,"routing")),r=[];for(let e of l){let t=function(e){let t=Array.isArray(e.routing_anchors)?e.routing_anchors.filter(e=>"string"==typeof e&&e.trim()):[];return e.routing_intent?.trim()&&t.length>0?{intent:e.routing_intent.trim(),anchors:t}:null}(e);if(!t)continue;let n=(0,c.matchQueryToStoredRoutingSignature)(i,t);(0!==n.matchedAnchors.length||n.intentMatched)&&r.push({config:e,signature:t,matchedAnchors:n.matchedAnchors,anchorCoverage:n.anchorCoverage,intentMatched:n.intentMatched})}if(0===r.length)return;r.sort((e,t)=>{if(t.matchedAnchors.length!==e.matchedAnchors.length)return t.matchedAnchors.length-e.matchedAnchors.length;if(t.anchorCoverage!==e.anchorCoverage)return t.anchorCoverage-e.anchorCoverage;if(Number(t.intentMatched)!==Number(e.intentMatched))return Number(t.intentMatched)-Number(e.intentMatched);let n=(0,a.getDatasetTypePriority)(e.config.dataset_type,"routing"),i=(0,a.getDatasetTypePriority)(t.config.dataset_type,"routing");if(i!==n)return i-n;let l=e.signature.anchors.join("").length;return t.signature.anchors.join("").length-l});let s=r[0];return s.config.routing_intent=s.signature.intent,s.config.routing_anchors=s.signature.anchors,s.config}function E(e,t){let n=function(e){let t=(0,u.normalizeConfigSkillName)(e.skill);if(t)return{skill:t,version:e.skill_version??null};let n=O(e),i=Array.from(new Map(n.filter(e=>e.name?.trim()).map(e=>[`${e.name.trim()}::${e.version??"any"}`,e])).values());if(1===i.length)return{skill:i[0].name.trim(),version:i[0].version??null}}(t);if(!n)return;let i=(0,u.normalizeConfigQuery)(t.query),l=e.filter(e=>(0,a.configSupportsDatasetType)(e.dataset_type,"outcome")).filter(e=>(0,u.normalizeConfigSkillName)(e.skill)===n.skill).filter(e=>{let t=e.skillVersion??null;return null===t||t===n.version}).filter(e=>{let t=(0,u.normalizeConfigQuery)(e.query);return!t||t===i});if(0!==l.length)return l.reduce((e,t)=>{let l=(e.skillVersion??null)!==null&&e.skillVersion===n.version,r=(t.skillVersion??null)!==null&&t.skillVersion===n.version;if(l!==r)return r?t:e;let s=(0,u.normalizeConfigQuery)(e.query)===i,o=(0,u.normalizeConfigQuery)(t.query)===i;if(s!==o)return o?t:e;let c=!(0,u.normalizeConfigQuery)(e.query),d=!(0,u.normalizeConfigQuery)(t.query);if(c!==d)return d?t:e;let k=(0,a.getDatasetTypePriority)(e.dataset_type,"outcome");return(0,a.getDatasetTypePriority)(t.dataset_type,"outcome")>k?t:e})}function R(e){if(!e)return[];let t=(0,a.normalizeExpectedSkills)(e.expectedSkills);return t.length>0?t:e.skill?.trim()?[{skill:e.skill.trim(),version:e.skillVersion??null}]:[]}function O(e){return Array.isArray(e.invokedSkills)&&e.invokedSkills.length>0?e.invokedSkills.filter(e=>e?.name?.trim()).map(e=>({name:e.name.trim(),version:e.version??null})):Array.isArray(e.skills)&&e.skills.length>0?e.skills.filter(e=>"string"==typeof e&&e.trim()).map(e=>({name:e.trim(),version:null})):[]}function M(e,t){if(!Array.isArray(t))return null;let n=(0,v.normalizeInteractions)(t);return(0,h.getAdapter)(e).extractSkills?.(n)??null}function V(e,t,n){let i=new Map,l=(e,t)=>{let n=e?.trim();if(!n)return;let l=i.get(n)||{skill:n,expected_version:null,invoked_version:null,primary_version:null,is_expected:!1,is_invoked:!1,is_primary:!1,is_outcome_anchor:!1};i.set(n,{...l,...t,expected_version:void 0!==t.expected_version?t.expected_version:l.expected_version,invoked_version:void 0!==t.invoked_version?t.invoked_version:l.invoked_version,primary_version:void 0!==t.primary_version?t.primary_version:l.primary_version,is_expected:t.is_expected??l.is_expected,is_invoked:t.is_invoked??l.is_invoked,is_primary:t.is_primary??l.is_primary,is_outcome_anchor:t.is_outcome_anchor??l.is_outcome_anchor})};for(let n of(l(e.skill,{is_primary:!0,primary_version:e.skill_version??null}),R(t)))l(n.skill,{is_expected:!0,expected_version:n.version??null});for(let t of O(e))l(t.name,{is_invoked:!0,invoked_version:t.version??null});return n?.skill?.trim()&&l(n.skill,{is_outcome_anchor:!0}),Array.from(i.values()).sort((e,t)=>{let n=4*Number(e.is_primary)+2*Number(e.is_invoked)+Number(e.is_expected),i=4*Number(t.is_primary)+2*Number(t.is_invoked)+Number(t.is_expected);return n!==i?i-n:e.skill.localeCompare(t.skill)})}async function q(e,t){if(!e||Array.isArray(e.key_actions)&&e.key_actions.length>0)return;let n=function(e){let t=new Map,n=(e,n)=>{let i=(0,u.normalizeConfigSkillName)(e);if(!i)return;let l=n??null;t.set(`${i}::${l??"any"}`,{skill:i,version:l})};for(let t of(n(e.skill,e.skillVersion??null),(0,a.normalizeExpectedSkills)(e.expectedSkills)))n(t.skill,t.version??null);return Array.from(t.values())}(e);if(0===n.length)return;let i=[];for(let e of n){let n=await s.db.findSkill(e.skill,t||null);if(!n)continue;let l=e.version??n.activeVersion??n.versions?.[0]?.version??null;if(null==l)continue;let r=await s.db.findParsedFlow(n.id,l,t||null);if(!r?.flowJson)continue;let o=JSON.parse(r.flowJson),a=(0,f.extractKeyActionsFromFlow)(o).map(t=>({...t,skillSource:t.skillSource||e.skill}));a.length>0&&i.push({name:e.skill,actions:a})}if(0===i.length)return;let l=1===i.length?i[0].actions:(0,f.mergeKeyActionsFromMultipleSkills)(i);e.key_actions=l.map(e=>({content:e.content,weight:e.weight,..."required"!==e.controlFlowType?{controlFlowType:e.controlFlowType}:{},...e.condition?{condition:e.condition}:{},...e.branchLabel?{branchLabel:e.branchLabel}:{},...e.loopCondition?{loopCondition:e.loopCondition}:{},...void 0!==e.expectedMinCount?{expectedMinCount:e.expectedMinCount}:{},...void 0!==e.expectedMaxCount?{expectedMaxCount:e.expectedMaxCount}:{},...e.groupId?{groupId:e.groupId}:{}})),e.extractedKeyActions=l;try{await s.db.updateConfig(e.id,{keyActions:JSON.stringify(e.key_actions),extractedKeyActions:JSON.stringify(l)}),console.log(`[AutoExtract] Auto-filled key_actions for config ${e.id} from ${n.map(e=>e.skill).join(", ")}`)}catch(e){console.error("[AutoExtract] Error updating config with extracted key_actions:",e)}}async function D(e,t,n){let i=O(e),l=V(e,t);if(!t)return{status:"missing",expected_skills:[],invoked_skills:i,matched_skills:[],matched_anchors:[],expected_count:0,matched_count:0,is_correct:!1,trigger_rate:null,skill_breakdown:l.map(e=>({skill:e.skill,expected:e.is_expected,invoked:e.is_invoked,matched:!1,status:e.is_invoked?"unexpected":"not_applicable",expected_version:e.expected_version,invoked_version:e.invoked_version}))};let r=R(t),o=[],c=0,d=new Map,k=r.filter(e=>null!==e.version&&!i.some(t=>t.name===e.skill&&null!==t.version)).map(e=>e.skill);if(k.length>0)try{for(let e of(await s.db.findSkills({name:{in:k},user:n||null})))d.set(e.name,e)}catch(e){console.error("[RoutingEvaluation] Error fetching skills for version check:",e)}for(let e of r){let t=i.find(t=>t.name===e.skill);if(!t)continue;let n=!1;if(null===e.version)n=!0;else if(null!==t.version)n=t.version===e.version;else{let t=d.get(e.skill);n=(t?t.activeVersion||0:null)===e.version}n&&(c+=1,o.push({skill:e.skill,expected_version:e.version,invoked_version:t.version??null}))}let m=l.map(e=>{let t=o.some(t=>t.skill===e.skill),n="not_applicable";return e.is_expected?n=t?"matched":"missed":e.is_invoked&&(n="unexpected"),{skill:e.skill,expected:e.is_expected,invoked:e.is_invoked,matched:t,status:n,expected_version:e.expected_version,invoked_version:e.invoked_version}});return{status:"available",matched_config_id:t.id,matched_query:(0,u.normalizeConfigQuery)(t.query)||void 0,matched_intent:t.routing_intent||void 0,matched_anchors:t.routing_anchors||[],dataset_type:(0,a.normalizeConfigDatasetType)(t.dataset_type),expected_skills:r,invoked_skills:i,matched_skills:o,expected_count:r.length,matched_count:c,is_correct:c>0,trigger_rate:r.length>0?c/r.length:null,skill_breakdown:m}}async function P(e,t,n){let i=e.query?await N(t,e.query,n??e.user??null):void 0,l=E(t,e),r=await D(e,i,n??e.user??null),o=e.task_id||e.upload_id||"",c=null;if(o)try{let e=await s.db.findExecutionMatch(o);e&&(c={matchJson:e.matchJson??null,matchedAt:e.matchedAt??null,mode:e.mode??null})}catch{c=null}return{...e,routing_evaluation:r,outcome_evaluation:function(e,t,n,i){let l=V(e,n,t),r=(e,t)=>l.map(n=>{let l="context_only";n.is_primary?l="primary":n.is_invoked?l="invoked":n.is_expected&&(l="expected_only");let r=i?.status==="available"?i.skill_breakdown.find(e=>e.skill===n.skill)?.status||"not_applicable":"missing_dataset";return{skill:n.skill,version:n.invoked_version??n.primary_version??n.expected_version??null,role:l,is_primary:n.is_primary,is_invoked:n.is_invoked,is_expected:n.is_expected,routing_status:r,shares_execution_outcome:!0,score:e,is_correct:t}});if(!t)return{status:"missing",is_correct:null,score:null,reason:e.judgment_reason||G,standard_answer_present:!1,root_cause_count:0,key_action_count:0,skill_breakdown:r(null,null)};let s="结果评估中..."===e.judgment_reason?"pending":"available",o="pending"===s?null:e.answer_score??null,c="pending"===s?null:e.is_answer_correct??null;return{status:s,matched_config_id:t.id,matched_query:(0,u.normalizeConfigQuery)(t.query)||void 0,matched_skill:(0,u.normalizeConfigSkillName)(t.skill)||void 0,matched_skill_version:t.skillVersion??null,dataset_type:(0,a.normalizeConfigDatasetType)(t.dataset_type),is_correct:c,score:o,reason:e.judgment_reason||void 0,standard_answer_present:!!t.standard_answer,root_cause_count:t.root_causes?.length??0,key_action_count:t.key_actions?.length??0,skill_breakdown:r(o,c)}}(e,l,i,r),execution_match:c}}let X=l.default.join(process.cwd(),"data"),ee=l.default.join(X,"evaluation_result.json"),et="1"===process.env.AUDIT_DATA_MUTATIONS||"true"===process.env.AUDIT_DATA_MUTATIONS;async function $(e){let t={isSubagent:!1};e&&(t.OR=[{user:e},{user:null}]);let n=await s.db.findExecutions(t,{timestamp:"desc"}),i=[],l=new Set;for(let e of n){let t=String(e?.agentName||"").trim();!t||l.has(t)||(0,y.isEvaluatorAgentName)(t)||(l.add(t),i.push(t))}return i}async function J(e){let t=new Map;if(K)try{let n={};for(let i of(e&&(n.OR=[{user:e},{user:null}]),await s.prismaRaw.executionSkill.findMany({where:n,select:{skillName:!0,skillVersion:!0},distinct:["skillName","skillVersion"]}))){if(!i.skillName)continue;let e=t.get(i.skillName)??new Set;"number"==typeof i.skillVersion&&e.add(i.skillVersion),t.set(i.skillName,e)}}catch(e){console.warn("[listObservedSkills] ExecutionSkill query failed, falling back to legacy column:",e)}if(0===t.size){let n={};for(let i of(e&&(n.OR=[{user:e},{user:null}]),await s.db.findExecutions(n,{timestamp:"desc"},{skill:!0,skillVersion:!0}))){let e=String(i?.skill||"").trim();if(!e)continue;let n=t.get(e)??new Set;"number"==typeof i.skillVersion&&n.add(i.skillVersion),t.set(e,n)}}return Array.from(t.entries()).map(([e,t])=>({name:e,versions:Array.from(t).sort((e,t)=>e-t)})).sort((e,t)=>e.name.localeCompare(t.name))}async function F(e,t){let n={isSubagent:!1};e&&(n.OR=[{user:e},{user:null}]),t&&(n.agentName=t);let i=await s.db.findExecutions(n,{timestamp:"desc"}),l=[],r=new Set;for(let e of i){let t=String(e?.taskId||"").trim();if(t){if(r.has(t))continue;r.add(t),l.push(t);continue}let n=String(e?.id||"").trim();n&&l.push(n)}return l}let en={id:!0,taskId:!0,query:!0,framework:!0,tokens:!0,cost:!0,latency:!0,toolCallCount:!0,llmCallCount:!0,inputTokens:!0,outputTokens:!0,toolCallErrorCount:!0,cacheReadInputTokens:!0,cacheCreationInputTokens:!0,maxSingleCallTokens:!0,reasoningTokens:!0,timestamp:!0,model:!0,agentName:!0,agentId:!0,skill:!0,skills:!0,invokedSkills:!0,isSkillCorrect:!0,isAnswerCorrect:!0,answerScore:!0,skillScore:!0,judgmentReason:!0,failures:!0,skillIssues:!0,skillVersion:!0,label:!0,user:!0,skillTriggerRate:!0,parentExecutionId:!0,rootExecutionId:!0,agentSessionId:!0,subagentType:!0,subagentName:!0,isSubagent:!0,observedAgents:!0},ei=Math.max(1,Math.trunc(Number(process.env.READ_RECORDS_HYDRATE_BATCH_SIZE))||100);async function j(e,t){let{user:n,light:i,attachEvaluations:l,getConfigsForEvaluationUser:r}=t,a=e.map(e=>e.id),u=!i&&a.length>0?await s.db.findExecutions({id:{in:a}},void 0,{id:!0,finalResult:!0}):[];if(u.length>0){let t=new Map;for(let e of u)t.set(e.id,e.finalResult??null);for(let n of e)t.has(n.id)&&(n.finalResult=t.get(n.id))}let c=new Map,d=new Map;if(K&&a.length>0)try{for(let e of(await s.prismaRaw.executionSkill.findMany({where:{executionId:{in:a}},select:{executionId:!0,skillName:!0,skillVersion:!0,isPrimary:!0}}))){let t={name:e.skillName,version:e.skillVersion??null},n=c.get(e.executionId);n?n.push(t):c.set(e.executionId,[t]),e.isPrimary&&!d.has(e.executionId)&&d.set(e.executionId,t)}}catch(e){console.warn("[readRecords] ExecutionSkill batch fetch failed, falling back to legacy columns:",e)}let k=new Map,m=new Map;e.forEach(e=>{var t;let n,i=e.taskId||e.id,l=function(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>"string"==typeof e&&e.trim().length>0):[]}catch{return[]}}(e.observedAgents);k.set(i,l),m.set(i,(t=e.agentName,(n=(t||"").trim())||l.find(e=>e&&!(0,y.isEvaluatorAgentName)(e))||""))});let p={system:2,user:1},f=new Map,_=new Map;if(e.forEach(e=>{let t=e.taskId||e.id,n=m.get(t)||"";if(e.framework&&n){let t=`${e.framework}::${n}`;_.has(t)||_.set(t,{platform:e.framework,name:n})}}),_.size>0)try{for(let e of(await s.prisma.registeredAgent.findMany({where:{OR:Array.from(_.values())},select:{platform:!0,name:!0,agentOwnership:!0}}))){let t=`${e.platform}::${e.name}`,n=f.get(t);(!n||(p[e.agentOwnership]??0)>(p[n]??0))&&f.set(t,e.agentOwnership)}}catch{}let g=new Set;e.forEach(e=>{e.skill&&null==e.skillVersion&&!e.isSubagent&&g.add(String(e.skill))});let h=new Map;if(g.size>0&&n)try{for(let e of(await s.prisma.skill.findMany({where:{name:{in:Array.from(g)},OR:[{user:n},{user:null}]},select:{name:!0,activeVersion:!0}})))"number"==typeof e.activeVersion&&h.set(e.name,e.activeVersion)}catch(e){console.warn("[readRecords] skill version backfill lookup failed:",e)}return await Promise.all(e.map(async e=>{let t=e.model??null,a=t?(0,o.getModelPricing)(t):null,u=a?.pricing??null,p=t&&null!=e.maxSingleCallTokens?(0,o.getModelContextWindow)(t):null,_=e.taskId||e.id,g=k.get(_)||[],y=m.get(_)||"",v=c.get(e.id)??null;if(!v&&e.invokedSkills)try{let t=JSON.parse(e.invokedSkills);Array.isArray(t)&&(v=t)}catch{}let w=(!e.isSubagent&&e.skill?{name:String(e.skill),version:"number"==typeof e.skillVersion?e.skillVersion:null}:null)??d.get(e.id)??null;if(e.skill&&null==e.skillVersion&&!e.isSubagent&&h.has(String(e.skill))){let t=h.get(String(e.skill));e.skillVersion=t,s.prisma.execution.updateMany({where:{id:e.id,skillVersion:null},data:{skillVersion:t}}).catch(t=>console.warn("[readRecords] backfill skillVersion failed for",e.id,":",t))}!w&&e.skill&&(w={name:String(e.skill),version:"number"==typeof e.skillVersion?e.skillVersion:null});let S={...e,upload_id:e.id,task_id:e.taskId||void 0,query:e.query||void 0,framework:e.framework||void 0,agent:e.agentName||void 0,agentName:e.agentName||void 0,agentOwnership:e.framework&&y?f.get(`${e.framework}::${y}`)??"user":"user",tokens:e.tokens||void 0,cost:u&&null!=e.inputTokens&&null!=e.outputTokens?(0,o.calculateCost)(e.inputTokens,e.outputTokens,u,e.cacheReadInputTokens??void 0,e.cacheCreationInputTokens??void 0):void 0,latency:e.latency||void 0,timestamp:e.timestamp?.toISOString?.()||e.timestamp,final_result:e.finalResult||void 0,skill:e.skill||void 0,rootSkill:w,root_skill:w,skills:v?v.map(e=>e.name):e.skills?JSON.parse(e.skills):void 0,invokedSkills:v??void 0,invoked_skills:v??void 0,is_skill_correct:e.isSkillCorrect??!1,is_answer_correct:e.isAnswerCorrect??null,answer_score:void 0!==e.answerScore?e.answerScore:void 0,skill_score:void 0!==e.skillScore?e.skillScore:void 0,judgment_reason:e.judgmentReason||void 0,failures:e.failures?JSON.parse(e.failures):void 0,label:e.label??null,user:e.user??null,skill_issues:e.skillIssues?JSON.parse(e.skillIssues):[],skill_version:e.skillVersion??null,model:t,tool_call_count:e.toolCallCount??void 0,llm_call_count:e.llmCallCount??void 0,input_tokens:e.inputTokens??void 0,output_tokens:e.outputTokens??void 0,tool_call_error_count:e.toolCallErrorCount??void 0,cache_read_input_tokens:e.cacheReadInputTokens??void 0,cache_creation_input_tokens:e.cacheCreationInputTokens??void 0,max_single_call_tokens:e.maxSingleCallTokens??void 0,reasoning_tokens:e.reasoningTokens??void 0,expected_skill_version:e.expectedSkillVersion??null,skill_trigger_rate:e.skillTriggerRate??null,context_window_pct:null!=e.maxSingleCallTokens&&p?Math.round(e.maxSingleCallTokens/p.contextWindow*1e3)/10:void 0,context_window_limit:p?.contextWindow,context_window_source:p?.source,cost_pricing:u?{inputTokenPrice:u.inputTokenPrice,outputTokenPrice:u.outputTokenPrice,cacheReadInputTokenPrice:u.cacheReadInputTokenPrice??u.inputTokenPrice*o.DEFAULT_CACHE_READ_RATIO,cacheCreationInputTokenPrice:u.cacheCreationInputTokenPrice??u.inputTokenPrice*o.DEFAULT_CACHE_CREATION_RATIO,source:a?.source??"default"}:null,agents:g,parent_execution_id:e.parentExecutionId??null,root_execution_id:e.rootExecutionId??null,agent_session_id:e.agentSessionId??null,subagent_type:e.subagentType??null,subagent_name:e.subagentName??null,is_subagent:e.isSubagent??!1},b=S.task_id||S.upload_id||"",x=null;if(!i&&b)try{let e=await s.db.findExecutionMatch(b);e&&(x={matchJson:e.matchJson??null,matchedAt:e.matchedAt??null,mode:e.mode??null})}catch{x=null}if(S.execution_match=x,!l)return S;let I=S.user??n??null,T=await r(I);return P(S,T,I)}))}async function z(e,t,n){let i=n?.lightweight===!0,l=!i&&(n?.attachEvaluations??!0),r=n?.page&&Number.isFinite(n.page)?Math.max(1,Math.trunc(n.page)):1,o=n?.pageSize&&Number.isFinite(n.pageSize)?Math.max(1,Math.trunc(n.pageSize)):0,a={};e&&!t?.showAllUsers&&(a.OR=[{user:e},{user:null}]);let u=!!(t?.taskIds?.length||t?.taskId),c=K&&t?.skill!==void 0;if(t?.onlySubagents===!0?a.isSubagent=!0:t?.includeSubagents===!0||t?.parentExecutionId!==void 0||u||c||(a.isSubagent=!1),t?.parentExecutionId!==void 0&&(a.parentExecutionId=t.parentExecutionId),t?.taskIds&&t.taskIds.length>0?(a.taskId={in:t.taskIds},t.framework&&(a.framework=t.framework)):!t?.query&&t?.taskId?(a.taskId=t.taskId,t.framework&&(a.framework=t.framework)):t?.query&&(a.query=t.query,t.framework&&(a.framework=t.framework)),c){let n={skillName:t.skill};t?.skillVersion!==void 0&&(n.skillVersion=t.skillVersion),e&&!t?.showAllUsers&&(n.OR=[{user:e},{user:null}]);try{let e=await s.prismaRaw.executionSkill.findMany({where:n,select:{executionId:!0}});a.id={in:Array.from(new Set(e.map(e=>e.executionId)))}}catch(e){console.warn("[readRecords] ExecutionSkill filter failed, falling back to legacy skill column:",e),a.skill=t.skill,t?.skillVersion!==void 0&&(a.skillVersion=t.skillVersion)}}else t?.skill!==void 0&&(a.skill=t.skill),t?.skillVersion!==void 0&&(a.skillVersion=t.skillVersion);t?.agentName!==void 0&&(a.agentName=t.agentName);let d=await s.db.findExecutions(a,{timestamp:"desc"},en),{keepIds:k,byTaskId:m}=function(e){let t=new Map;for(let n of e){let e=n.taskId||null;e&&(t.has(e)||t.set(e,[]),t.get(e).push(n))}let n=new Set;for(let[e,i]of t.entries()){if(1===i.length){n.add(i[0].id);continue}let t=i.find(t=>t.id===e);if(t){n.add(t.id);continue}let l=i.slice().sort((e,t)=>{let n=new Date(e.timestamp??0).getTime(),i=new Date(t.timestamp??0).getTime();return i!==n?i-n:String(e.id).localeCompare(String(t.id))});n.add(l[0].id)}return{keepIds:n,byTaskId:t}}(d),p=d.filter(e=>!e.taskId||k.has(e.id)),f=p.length,_=o>0?p.slice((r-1)*o,(r-1)*o+o):p;for(let[e,t]of m.entries())if(!(t.length<=1)){for(let n of t)if(!k.has(n.id)){if(et){let i=t.find(e=>k.has(e.id))?.id??"unknown";console.warn(`[Data-Audit] deleteExecution (read dedup): taskId=${e} deleteId=${n.id} keepId=${i}`)}s.db.deleteExecution(n.id).catch(()=>{})}}let g=new Map,y=e=>{let t=e||"__global__";return g.has(t)||g.set(t,U(e||void 0)),g.get(t)},h=[];for(let t of function(e,t){let n=Math.max(1,Math.trunc(t)),i=[];for(let t=0;t<e.length;t+=n)i.push(e.slice(t,t+n));return i}(_,ei)){let n=await j(t,{user:e,light:i,attachEvaluations:l,getConfigsForEvaluationUser:y});h.push(...n)}return{records:h,total:f}}async function L(e,t,n){return(await z(e,t,n)).records}async function W(e,t,n){return z(e,t,n)}async function U(e,t="any"){let n={};e&&(n.OR=[{user:e},{user:null}]);let i=(await s.db.findConfigs(n)).map(e=>{let t=(t,n)=>{if(t)try{return JSON.parse(t)}catch(t){console.error(`[readConfig] Failed to parse ${n} for config ${e.id}:`,t);return}};return{id:e.id,query:e.query??null,dataset_type:(0,a.normalizeConfigDatasetType)(e.datasetType),skill:e.skill,skillVersion:e.skillVersion,routing_intent:e.routingIntent||void 0,routing_anchors:t(e.routingAnchors,"routingAnchors"),expectedSkills:(0,a.normalizeExpectedSkills)(t(e.expectedSkills,"expectedSkills")),standard_answer:e.standardAnswer||"",root_causes:t(e.rootCauses,"rootCauses"),key_actions:t(e.keyActions,"keyActions"),extractedKeyActions:t(e.extractedKeyActions,"extractedKeyActions"),parse_status:e.parseStatus||"completed"}});return"any"===t?i:i.filter(e=>(0,a.configSupportsDatasetType)(e.dataset_type,t))}async function B(e){var t,n,l,o;let a,c=e.upload_id||e.task_id||crypto.randomUUID();if(e.task_id)try{let t={taskId:e.task_id};e.framework&&(t.framework=e.framework);let n=await s.db.findExecutions(t,{timestamp:"desc"});if(n&&n.length>0&&n[0]?.id){let t=n.find(t=>t.id===e.task_id),i=t&&t.id?t.id:n[0].id;i!==c&&(c=i)}}catch{}let f=null,y=await s.db.findExecutionById(c);y&&(f={...y,upload_id:y.id,task_id:y.taskId||void 0,query:y.query||void 0,framework:y.framework||void 0,tokens:y.tokens??void 0,cost:y.cost??void 0,latency:y.latency??void 0,timestamp:y.timestamp?.toISOString?.()||y.timestamp,final_result:y.finalResult||void 0,skill:y.skill||void 0,skills:y.skills?JSON.parse(y.skills):void 0,invokedSkills:y.invokedSkills?(()=>{try{return JSON.parse(y.invokedSkills)}catch{return}})():void 0,is_skill_correct:y.isSkillCorrect??!1,is_answer_correct:y.isAnswerCorrect??null,answer_score:y.answerScore??void 0,skill_score:y.skillScore??void 0,judgment_reason:y.judgmentReason||void 0,failures:y.failures?JSON.parse(y.failures):void 0,skill_issues:y.skillIssues?JSON.parse(y.skillIssues):void 0,label:y.label||void 0,user:y.user||void 0,skill_version:y.skillVersion??void 0,expected_skill_version:y.expectedSkillVersion??null,skill_trigger_rate:y.skillTriggerRate??null,model:y.model||void 0,tool_call_count:y.toolCallCount??void 0,llm_call_count:y.llmCallCount??void 0,input_tokens:y.inputTokens??void 0,output_tokens:y.outputTokens??void 0,tool_call_error_count:y.toolCallErrorCount??void 0,cache_read_input_tokens:y.cacheReadInputTokens??void 0,cache_creation_input_tokens:y.cacheCreationInputTokens??void 0,max_single_call_tokens:y.maxSingleCallTokens??void 0});let v=f?{...f}:{},w=!!f;w||v.timestamp||e.timestamp?e.timestamp&&(v.timestamp=e.timestamp):v.timestamp=new Date().toISOString();let I=!!e.force_query_update,T="string"==typeof f?.query?f.query.trim():"",C="string"==typeof e.query?e.query.trim():"",A=!1;if("string"==typeof e.label){let t=(0,p.parseLabelSkillVersionBinding)(e.label);t&&(e.skill=t.skill,e.skill_version=t.skill_version,e.skills=t.skills,e.invokedSkills=t.invokedSkills,A=!0)}v={...v,...e};let O=function(e){let{isUpdate:t,existingSkillVersion:n,incomingSkillVersion:i,explicitRewrite:l}=e;return!t||null==n||l?{resolved:i,blocked:!1}:i===n?{resolved:n,blocked:!1}:{resolved:n,blocked:!0}}({isUpdate:w,existingSkillVersion:f?.skill_version??null,incomingSkillVersion:v.skill_version??null,explicitRewrite:A});if(O.blocked&&console.warn(`[Data-Service] Preserving existing skill_version for execution ${c}: existing=${f?.skill_version}, incoming=${v.skill_version} blocked. Skill version is immutable history; only NULL → value or explicit label-binding rewrite is allowed.`),v.skill_version=O.resolved??void 0,!v.agentName&&v.agent&&(v.agentName=v.agent),T&&!I?v.query=T:!T&&C?v.query=C:"string"!=typeof v.query||v.query.trim()?"string"==typeof v.query&&(v.query=v.query.trim()):v.query=void 0,!v.upload_id&&v.task_id&&(v.upload_id=v.task_id),!v.task_id&&v.upload_id&&(v.task_id=v.upload_id),v.upload_id=c,(!v.label||!v.model||!v.user)&&v.task_id){let e=await s.db.findSessionByTaskId(v.task_id);e&&(!v.label&&e.label&&(v.label=e.label),!v.model&&e.model&&(v.model=e.model),!v.user&&e.user&&(v.user=e.user))}if(!v.user)try{let e=s.db.getClient();if("query"in e){let t=await e.query('SELECT username FROM "User" LIMIT 1');t.rows[0]&&(v.user=t.rows[0].username,console.log(`[Data-Service] Fallback resolved user for task ${v.task_id} to: ${v.user}`))}}catch(e){console.warn("[Data-Service] Fallback user lookup failed:",e)}let V=e.Token||e.token||e.tokens;void 0!==V&&(v.tokens=Number(V)),void 0!==e.tool_call_count&&(v.tool_call_count=Number(e.tool_call_count)),void 0!==e.llm_call_count&&(v.llm_call_count=Number(e.llm_call_count)),void 0!==e.input_tokens&&(v.input_tokens=Number(e.input_tokens)),void 0!==e.output_tokens&&(v.output_tokens=Number(e.output_tokens)),void 0!==e.tool_call_error_count&&(v.tool_call_error_count=Number(e.tool_call_error_count)),void 0!==e.cache_read_input_tokens&&(v.cache_read_input_tokens=Number(e.cache_read_input_tokens)),void 0!==e.cache_creation_input_tokens&&(v.cache_creation_input_tokens=Number(e.cache_creation_input_tokens)),void 0!==e.max_single_call_tokens&&(v.max_single_call_tokens=Number(e.max_single_call_tokens)),void 0!==e.reasoning_tokens&&(v.reasoning_tokens=Number(e.reasoning_tokens));let D=null;if(v.task_id&&v.interactions){let e=(0,h.getAdapter)(v.framework),t=t=>e.normalizeForStorage?.(t)??t,n="string"==typeof v.interactions?(()=>{try{return JSON.parse(v.interactions)}catch{return[]}})():v.interactions;D=n=t(n);try{let i=v.session_merge_strategy||e.sessionMergeStrategy||"monotonic";if("snapshot-replace"!==i){let e=await s.db.findSessionByTaskId(v.task_id),i=e?.interactions?(()=>{try{return JSON.parse(e.interactions)}catch{return[]}})():[];i=t(i),Array.isArray(i)&&i.length>0&&(D=(0,_.mergeSessionInteractionsMonotonic)(i,n))}}catch{}if(D=t(D),v.interactions=D,"opencode"===v.framework&&Array.isArray(D)){let e=(0,d.deriveOpencodeExecutionFields)(D);e.model&&(v.model=e.model),e.final_result&&(v.final_result=e.final_result),e.agentName&&!v.agentName&&(v.agentName=e.agentName),v.tokens=e.tokens,v.latency=e.latency,v.input_tokens=e.input_tokens,v.output_tokens=e.output_tokens,v.tool_call_count=e.tool_call_count,v.tool_call_error_count=e.tool_call_error_count,v.llm_call_count=e.llm_call_count,v.cache_read_input_tokens=e.cache_read_input_tokens,v.cache_creation_input_tokens=e.cache_creation_input_tokens,v.max_single_call_tokens=e.max_single_call_tokens,v.reasoning_tokens=e.reasoning_tokens}}let $=!1,J=v.is_answer_correct||!1,F=v.judgment_reason||G;v.skill_trigger_rate=null;let j=await U(v.user);if(j.length>0){let n=await N(j,v.query,v.user),i=E(j,v);if(n){let e=Array.isArray(v.invokedSkills)?v.invokedSkills:[],t=(Array.isArray(v.skills)?v.skills:[]).map(e=>({name:e,version:null})),i=R(n);if(i.length>0){let n=e.length>0?e:t;if(n.length>0){let e=0,t=i.filter(e=>e.skill?.trim()),l=t.map(e=>e.skill.trim()),r=new Map;if(l.length>0)try{for(let e of(await s.db.findSkills({name:{in:l},user:v.user||null})))r.set(e.name,e)}catch(e){console.error("[Judgment] Error fetching skills for version check:",e)}for(let i of t){let t=i.skill.trim(),l=i.version??null,s=n.find(e=>e.name===t);if(s){let n=!1;if(null===l)n=!0;else if(null!==s.version)n=s.version===l;else{let e=r.get(t);n=!!e&&(e.activeVersion||0)===l}n&&(e++,$||($=!0))}}t.length>0&&(v.skill_trigger_rate=e/t.length)}}v.is_skill_correct=$}if(i){if(await q(i,v.user),void 0!==v.final_result){let l=!0;if(w&&!e.force_judgment&&f&&f.query===v.query&&f.final_result===v.final_result&&(l=!1),e.skip_internal_judgment&&(l=!1),l&&!v.skip_evaluation){let e,l=(v.skill||i.skill||n?.skill||"").trim();if(l)try{let t=await s.db.findSkill(l,v.user||null);if(t){let n=i.skillVersion??v.skill_version??t.activeVersion??0,l=t.versions?.find(e=>e.version===n);if(l&&l.content)e=l.content,(void 0===v.skill_version||null===v.skill_version)&&(v.skill_version=l.version);else if(t.versions&&t.versions.length>0){let n=t.versions[0];n&&n.content&&(e=n.content,(void 0===v.skill_version||null===v.skill_version)&&(v.skill_version=n.version))}}}catch(e){console.error("[Judgment] Error fetching skill definition:",e)}let o=null;try{let e=await s.db.findExecutionMatch(v.task_id||v.upload_id||"");e?.extractedSteps&&(o="string"==typeof e.extractedSteps?JSON.parse(e.extractedSteps):e.extractedSteps)}catch(e){console.warn("[Judgment] Failed to load execution steps for KA evaluation:",e)}let a=await (0,r.judgeAnswer)((t=v,(0,u.getConfigSubjectLabel)({query:t.query,skill:t.skill||i?.skill||null,skillVersion:t.skill_version??i?.skillVersion??null},"Skill execution benchmark")),{standard_answer_example:i.standard_answer,root_causes:i.root_causes,key_actions:i.key_actions,skill_definition:e},v.final_result,v.user,o);J=a.is_correct,v.answer_score=a.score,F=a.reason||"Judged by Evaluation Model"}}}else(!w||e.force_judgment)&&(J=!1,F=G,v.answer_score=null)}e.skip_evaluation&&(v.answer_score=null,J=!1,F="结果评估中..."),v.is_skill_correct=$,v.is_answer_correct=J,v.judgment_reason=F,v=await P(v,j,v.user);let z=Array.isArray(v.skills)&&v.skills.length>0?v.skills[0]:void 0;if(z){let e=function(){if(!i.default.existsSync(ee))return{};try{return JSON.parse(i.default.readFileSync(ee,"utf-8"))}catch{return{}}}()[z];e&&(v.skill_score=parseFloat(e))}if(v.label=(0,m.chooseExecutionLabel)({existingLabel:f?.label,incomingLabel:e.label,skill:v.skill,skillVersion:v.skill_version??null}),v.framework){let e=v.framework,t=v.user||null,n=(0,k.extractObservedAgentRegistrations)(D,v.agentName);try{for(let i of n){let n=await s.prisma.registeredAgent.findFirst({where:{platform:e,name:i.name,user:t}});n||(n=await s.prisma.registeredAgent.create({data:{platform:e,name:i.name,user:t,agentOwnership:"user",agentType:"main"===i.agentType?v.agentType||"main":"subagent"}})),"main"===i.agentType&&i.name===v.agentName&&(a=n.id)}}catch(e){console.error("[Data-Service] Failed to query or create RegisteredAgent:",e)}}let L=Array.isArray(D)&&D.length>0?JSON.stringify((0,k.extractObservedAgentNames)(D)):null;if(await s.db.upsertExecution({where:{id:c},create:{id:c,taskId:v.task_id,query:v.query,framework:v.framework,tokens:v.tokens,cost:v.cost,latency:v.latency,timestamp:v.timestamp?new Date(v.timestamp):new Date,finalResult:v.final_result,skill:v.skill,skills:v.skills?JSON.stringify(v.skills):null,invokedSkills:v.invokedSkills?JSON.stringify(v.invokedSkills):null,isSkillCorrect:v.is_skill_correct,isAnswerCorrect:v.is_answer_correct,answerScore:v.answer_score,skillScore:v.skill_score,judgmentReason:v.judgment_reason,failures:v.failures?JSON.stringify(v.failures):null,skillIssues:v.skill_issues?JSON.stringify(v.skill_issues):null,label:v.label,user:v.user,agentName:v.agentName,agentId:a,skillVersion:v.skill_version,model:v.model,toolCallCount:v.tool_call_count,llmCallCount:v.llm_call_count,inputTokens:v.input_tokens,outputTokens:v.output_tokens,toolCallErrorCount:v.tool_call_error_count,skillTriggerRate:v.skill_trigger_rate,cacheReadInputTokens:v.cache_read_input_tokens,cacheCreationInputTokens:v.cache_creation_input_tokens,maxSingleCallTokens:v.max_single_call_tokens,reasoningTokens:v.reasoning_tokens,observedAgents:L},update:{taskId:v.task_id,query:v.query,framework:v.framework,tokens:v.tokens,cost:v.cost,latency:v.latency,timestamp:v.timestamp?new Date(v.timestamp):new Date,finalResult:v.final_result,skill:v.skill,skills:v.skills?JSON.stringify(v.skills):null,invokedSkills:v.invokedSkills?JSON.stringify(v.invokedSkills):null,isSkillCorrect:v.is_skill_correct,isAnswerCorrect:v.is_answer_correct,answerScore:v.answer_score,skillScore:v.skill_score,judgmentReason:v.judgment_reason,failures:v.failures?JSON.stringify(v.failures):null,skillIssues:v.skill_issues?JSON.stringify(v.skill_issues):null,label:v.label,user:v.user,agentName:v.agentName,agentId:a,skillVersion:v.skill_version,model:v.model,toolCallCount:v.tool_call_count,llmCallCount:v.llm_call_count,inputTokens:v.input_tokens,outputTokens:v.output_tokens,toolCallErrorCount:v.tool_call_error_count,skillTriggerRate:v.skill_trigger_rate,cacheReadInputTokens:v.cache_read_input_tokens,cacheCreationInputTokens:v.cache_creation_input_tokens,maxSingleCallTokens:v.max_single_call_tokens,reasoningTokens:v.reasoning_tokens,observedAgents:L}}),e.upload_id&&e.task_id&&e.upload_id!==c)try{let t=await s.db.findExecutionById(e.upload_id);t&&t.taskId===e.task_id&&(et&&console.warn(`[Data-Audit] deleteExecution (dedup on save): upload_id=${e.upload_id} task_id=${e.task_id} recordId=${c}`),await s.db.deleteExecution(e.upload_id))}catch{}if(K)try{let e=Array.isArray(D)&&D.length>0,t=(n=A?Array.isArray(v.invokedSkills)?v.invokedSkills:[]:e?function(e,t){if(!Array.isArray(t)||0===t.length)return[];if("opencode"===e||"hermes"===e){let e=(0,g.buildAgentCallTree)(t);return e?S(e):[]}return M(e,t)??[]}(v.framework,D):Array.isArray(v.invokedSkills)?v.invokedSkills:[],l=v.skill??null,o=v.skill_version??null,l&&"number"==typeof o?n.map(e=>e.name===l&&null==e.version?{...e,version:o}:e):n),i=await b(t,v.user);await x(c,i,{user:v.user,primaryName:v.skill??null}),await s.prismaRaw.execution.update({where:{id:c},data:{skills:i.length?JSON.stringify(i.map(e=>e.name)):null,invokedSkills:i.length?JSON.stringify(i):null}})}catch(e){console.warn(`[Data-Service] root ExecutionSkill persist failed for ${c}:`,e)}if(("opencode"===v.framework||"hermes"===v.framework)&&v.task_id&&Array.isArray(D))try{await Q({parentExecutionId:c,parentTaskId:v.task_id,parentFramework:v.framework,parentUser:v.user,interactions:D})}catch(e){console.warn(`[Data-Service] deriveSubagentExecutions failed for parent=${c}:`,e)}return v.task_id&&D&&(await s.db.upsertSession(v.task_id,{taskId:v.task_id,query:v.query,label:v.label,user:v.user,model:v.model,interactions:JSON.stringify(D)},{query:v.query,label:v.label,user:v.user,model:v.model,interactions:JSON.stringify(D)}),"opencode"===v.framework&&!0===v.opencode_cli_completed&&await s.db.updateSession(v.task_id,{endTime:new Date})),{success:!0,record:v}}async function Q(e){let{parentExecutionId:t,parentTaskId:n,parentFramework:i,parentUser:l,interactions:r}=e;if(!Array.isArray(r)||0===r.length)return;let o=(0,g.buildAgentCallTree)(r);if(!o)return void await H(t,new Set);let a=[],u=new Set;if((0,g.walkTree)(o,e=>{if(!e||0===e.depth)return;let t="string"==typeof e.sessionId?e.sessionId.trim():"";!t||t===n||u.has(t)||(u.add(t),a.push({node:e,sessionId:t,parentNodeId:e.parentId}))}),0===a.length)return;a.sort((e,t)=>e.node.depth-t.node.depth);let c=new Map;c.set(o.id,t);let d=new Set;for(let e of a){let{node:n,sessionId:o,parentNodeId:a}=e,u=c.get(a)??t,m=`${u}__sub__${o}`;c.set(n.id,m),d.add(m);let p=new Set,f=[],_=e=>{for(let t of e.interactionIndices||[])p.add(t);for(let t of(Array.isArray(e.systemPrompts)&&e.systemPrompts.length>0&&e.sessionId&&f.push({sessionId:e.sessionId,entries:e.systemPrompts}),e.children||[]))_(t)};_(n);let g=[...p].sort((e,t)=>e-t).map(e=>r[e]).filter(Boolean),y=[];for(let e of f)for(let t of e.entries)y.push({role:"system",content:t.text,subagent_session_id:e.sessionId,system_prompt_sha256:t.sha256,system_prompt_length:t.length,system_prompt_modelID:t.modelID,system_prompt_providerID:t.providerID});let h=[...y,...g],v=function(e,t){let n=(e.interactionIndices||[]).map(e=>t[e]).filter(Boolean),i=n.map(e=>(function e(t){return null==t?"":"string"==typeof t?t:Array.isArray(t)?t.map(t=>e(t?.text??t?.content??t)).filter(Boolean).join("\n"):"object"==typeof t?e(t.text??t.content??""):String(t)})(e?.content).trim()).filter(Boolean),l=i[0]||e.agentName||e.sessionId,r=(e.events||[]).filter(e=>"llm"===e.kind),s=r.filter(e=>{let t=e.usage;return!!t&&((t.total||0)>0||(t.input||0)>0||(t.output||0)>0||(t.reasoning||0)>0)}),o=e.interactionIndices?.[0],a=r.filter(e=>e.interactionIndex!==o&&(!!e.summary?.trim()||(e.interaction?.tool_calls?.length||0)>0)).length,u=(e.events||[]).filter(e=>"tool"===e.kind||"skill"===e.kind||"task"===e.kind),c=n.map(e=>e?.model??e?.modelID).find(e=>"string"==typeof e&&e.trim())||null;return{query:l,finalResult:i.length>1?i[i.length-1]:null,model:c,tokens:e.stats.totalTokens,inputTokens:e.stats.inputTokens,outputTokens:e.stats.outputTokens,reasoningTokens:e.stats.reasoningTokens,cacheReadInputTokens:e.stats.cacheReadTokens,cacheCreationInputTokens:e.stats.cacheWriteTokens,latency:e.stats.durationMs??null,llmCallCount:s.length||a,toolCallCount:u.length,toolCallErrorCount:u.filter(function e(t){let n=Array.isArray(t?.interaction?.tool_calls)?t.interaction.tool_calls:[],i=t?._toolCallId,l=n.find(e=>!i||e?.id===i),r=String(l?.state||"").toLowerCase();if("error"===r||"failed"===r)return!0;let s=t?.output??l?.output??l?.result;if(s&&"object"==typeof s){let e=String(s.status||s.state||"").toLowerCase();return"error"===e||"failed"===e||!!s.error}if("string"==typeof s&&s.trim().startsWith("{"))try{return e({...t,output:JSON.parse(s),interaction:void 0})}catch{}return!1}).length}}(n,r),w=v.query.slice(0,500),I=S(n);if(K)try{I=await b(I,l)}catch(e){console.warn(`[Data-Service] sub skill version snapshot failed sub=${o}:`,e)}let T=n.startedAt?new Date(n.startedAt):new Date,C={taskId:o,framework:i,timestamp:T,agentName:n.agentName??null,user:l??null,query:w,finalResult:v.finalResult,model:v.model,tokens:v.tokens,inputTokens:v.inputTokens,outputTokens:v.outputTokens,reasoningTokens:v.reasoningTokens,cacheReadInputTokens:v.cacheReadInputTokens,cacheCreationInputTokens:v.cacheCreationInputTokens,latency:v.latency,llmCallCount:v.llmCallCount,toolCallCount:v.toolCallCount,toolCallErrorCount:v.toolCallErrorCount,skills:I.length?JSON.stringify(I.map(e=>e.name)):null,invokedSkills:I.length?JSON.stringify(I):null,parentExecutionId:u,rootExecutionId:t,agentSessionId:o,subagentType:n.subagentType??null,subagentName:n.agentName??null,isSubagent:!0,observedAgents:JSON.stringify((0,k.extractObservedAgentNames)(h))};try{await s.db.upsertExecution({where:{id:m},create:{id:m,...C},update:{...C}})}catch(e){console.warn(`[Data-Service] upsertExecution(sub) failed sub=${o}:`,e);continue}if(K)try{await x(m,I,{user:l??null})}catch(e){console.warn(`[Data-Service] sub ExecutionSkill persist failed sub=${o}:`,e)}try{await s.db.upsertSession(o,{taskId:o,label:n.agentName??null,user:l??null,query:w,interactions:JSON.stringify(h)},{label:n.agentName??null,user:l??null,query:w,interactions:JSON.stringify(h)})}catch(e){console.warn(`[Data-Service] upsertSession(sub) failed sub=${o}:`,e)}}await H(t,d)}async function H(e,t){try{for(let n of(await s.db.findExecutions({rootExecutionId:e,isSubagent:!0},{timestamp:"desc"})))if(!(!n?.id||t.has(n.id)))try{await s.db.deleteExecution(n.id)}catch(e){console.warn(`[Data-Service] sweepStaleSubagents: deleteExecution(${n.id}) failed:`,e)}}catch(t){console.warn(`[Data-Service] sweepStaleSubagents query failed root=${e}:`,t)}}e.s(["extractInvokedSkillsFromSessionInteractions",()=>M,"findBestMatchConfig",()=>A,"listObservedAgentNames",()=>$,"listObservedSkills",()=>J,"listObservedTraceIds",()=>F,"readConfig",()=>U,"readRecordPage",()=>W,"readRecords",()=>L,"reattributeServiceTraceOwner",()=>T,"saveExecutionRecord",()=>B]),n()}catch(e){n(e)}},!1)];
2
+
3
+ //# sourceMappingURL=src_lib_c6d9db51._.js.map