@capybara-hq/kernel 0.1.0-rc.1 → 0.1.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (670) hide show
  1. package/dist/admin/admin.controller.d.ts +17 -17
  2. package/dist/admin/admin.controller.js +43 -26
  3. package/dist/admin/admin.module.d.ts +3 -0
  4. package/dist/admin/admin.module.js +22 -0
  5. package/dist/admin/extensions.controller.d.ts +14 -14
  6. package/dist/admin/extensions.controller.js +30 -17
  7. package/dist/admin/setup-lock.d.ts +16 -0
  8. package/dist/admin/setup-lock.js +47 -0
  9. package/dist/admin/setup.controller.d.ts +8 -8
  10. package/dist/admin/setup.controller.js +27 -25
  11. package/dist/admin/setup.service.d.ts +19 -27
  12. package/dist/admin/setup.service.js +61 -61
  13. package/dist/agents/agent-lookup.d.ts +53 -0
  14. package/dist/agents/agent-lookup.js +187 -0
  15. package/dist/agents/agents.controller.d.ts +1 -1
  16. package/dist/agents/agents.controller.js +14 -8
  17. package/dist/agents/agents.module.d.ts +7 -0
  18. package/dist/agents/agents.module.js +41 -0
  19. package/dist/agents/agents.service.d.ts +39 -58
  20. package/dist/agents/agents.service.js +280 -335
  21. package/dist/agents/definition.d.ts +39 -8
  22. package/dist/agents/definition.js +201 -17
  23. package/dist/agents/models.controller.d.ts +1 -1
  24. package/dist/agents/models.controller.js +2 -2
  25. package/dist/agents/templates.controller.d.ts +1 -1
  26. package/dist/agents/templates.controller.js +2 -2
  27. package/dist/agents/templates.d.ts +6 -8
  28. package/dist/agents/templates.js +39 -8
  29. package/dist/app.d.ts +93 -0
  30. package/dist/app.js +150 -0
  31. package/dist/catalog/admin-catalog.controller.d.ts +3 -3
  32. package/dist/catalog/admin-catalog.controller.js +27 -13
  33. package/dist/catalog/catalog-content.d.ts +185 -0
  34. package/dist/catalog/catalog-content.js +326 -0
  35. package/dist/catalog/catalog-items.d.ts +186 -0
  36. package/dist/catalog/catalog-items.js +410 -0
  37. package/dist/catalog/catalog.module.d.ts +14 -0
  38. package/dist/catalog/catalog.module.js +71 -0
  39. package/dist/catalog/catalog.service.d.ts +34 -188
  40. package/dist/catalog/catalog.service.js +155 -489
  41. package/dist/catalog/claude/agents.js +13 -10
  42. package/dist/catalog/cli.d.ts +3 -2
  43. package/dist/catalog/cli.js +13 -31
  44. package/dist/catalog/job-ids.d.ts +15 -0
  45. package/dist/catalog/job-ids.js +15 -0
  46. package/dist/catalog/jobs.d.ts +27 -0
  47. package/dist/catalog/jobs.js +70 -0
  48. package/dist/catalog/locks.d.ts +24 -0
  49. package/dist/catalog/locks.js +63 -0
  50. package/dist/catalog/marketplaces.controller.d.ts +4 -4
  51. package/dist/catalog/marketplaces.controller.js +22 -11
  52. package/dist/catalog/marketplaces.service.d.ts +31 -14
  53. package/dist/catalog/marketplaces.service.js +330 -256
  54. package/dist/catalog/org-catalog.controller.d.ts +4 -3
  55. package/dist/catalog/org-catalog.controller.js +29 -14
  56. package/dist/catalog/org-catalog.service.d.ts +32 -198
  57. package/dist/catalog/org-catalog.service.js +159 -400
  58. package/dist/catalog/plugin-import.d.ts +73 -34
  59. package/dist/catalog/plugin-import.js +356 -217
  60. package/dist/catalog/plugin-install.d.ts +83 -41
  61. package/dist/catalog/plugin-install.js +421 -269
  62. package/dist/catalog/plugin-upgrade.d.ts +59 -4
  63. package/dist/catalog/plugin-upgrade.js +407 -282
  64. package/dist/catalog/requests.service.d.ts +27 -15
  65. package/dist/catalog/requests.service.js +201 -145
  66. package/dist/catalog/upgrade-targets.d.ts +4 -7
  67. package/dist/channels/actions.d.ts +6 -4
  68. package/dist/channels/actions.js +1 -1
  69. package/dist/channels/cards.d.ts +10 -4
  70. package/dist/channels/cards.js +16 -8
  71. package/dist/channels/channels.module.d.ts +40 -0
  72. package/dist/channels/channels.module.js +128 -0
  73. package/dist/channels/connections.controller.d.ts +1 -1
  74. package/dist/channels/connections.controller.js +11 -6
  75. package/dist/channels/connections.service.d.ts +43 -21
  76. package/dist/channels/connections.service.js +236 -131
  77. package/dist/channels/inbound.d.ts +34 -38
  78. package/dist/channels/inbound.js +107 -41
  79. package/dist/channels/job-ids.d.ts +10 -0
  80. package/dist/channels/job-ids.js +10 -0
  81. package/dist/channels/jobs.d.ts +85 -0
  82. package/dist/channels/jobs.js +157 -0
  83. package/dist/channels/outbound.d.ts +60 -82
  84. package/dist/channels/outbound.js +165 -194
  85. package/dist/channels/supervisor.d.ts +88 -46
  86. package/dist/channels/supervisor.js +230 -132
  87. package/dist/channels/threads.d.ts +29 -8
  88. package/dist/channels/threads.js +71 -13
  89. package/dist/channels/webhook.d.ts +20 -14
  90. package/dist/channels/webhook.js +51 -20
  91. package/dist/config/load.d.ts +3 -2
  92. package/dist/config/load.js +3 -2
  93. package/dist/config/nacos-source.js +11 -2
  94. package/dist/config/schema.d.ts +1 -0
  95. package/dist/config/schema.js +12 -6
  96. package/dist/conversations/access.d.ts +29 -0
  97. package/dist/conversations/access.js +86 -0
  98. package/dist/conversations/artifacts.d.ts +11 -11
  99. package/dist/conversations/artifacts.js +36 -10
  100. package/dist/conversations/attachments.controller.d.ts +1 -1
  101. package/dist/conversations/attachments.controller.js +8 -6
  102. package/dist/conversations/attachments.module.d.ts +7 -0
  103. package/dist/conversations/attachments.module.js +25 -0
  104. package/dist/conversations/attachments.service.d.ts +30 -22
  105. package/dist/conversations/attachments.service.js +119 -46
  106. package/dist/conversations/conversations.controller.d.ts +8 -7
  107. package/dist/conversations/conversations.controller.js +59 -29
  108. package/dist/conversations/conversations.module.d.ts +8 -0
  109. package/dist/conversations/conversations.module.js +69 -0
  110. package/dist/conversations/conversations.service.d.ts +40 -38
  111. package/dist/conversations/conversations.service.js +130 -140
  112. package/dist/conversations/event-log.d.ts +39 -18
  113. package/dist/conversations/event-log.js +93 -27
  114. package/dist/conversations/events.d.ts +23 -3
  115. package/dist/conversations/events.js +26 -14
  116. package/dist/conversations/files.d.ts +10 -10
  117. package/dist/conversations/files.js +37 -11
  118. package/dist/conversations/idem-keys.d.ts +5 -0
  119. package/dist/conversations/idem-keys.js +5 -0
  120. package/dist/conversations/job-ids.d.ts +6 -0
  121. package/dist/conversations/job-ids.js +6 -0
  122. package/dist/conversations/outputs-read.d.ts +11 -11
  123. package/dist/conversations/outputs-read.js +31 -7
  124. package/dist/conversations/queue.d.ts +48 -56
  125. package/dist/conversations/queue.js +13 -289
  126. package/dist/conversations/queue.service.d.ts +60 -0
  127. package/dist/conversations/queue.service.js +343 -0
  128. package/dist/conversations/sandbox-status.d.ts +13 -10
  129. package/dist/conversations/sandbox-status.js +36 -8
  130. package/dist/conversations/titles.d.ts +71 -24
  131. package/dist/conversations/titles.js +159 -63
  132. package/dist/ctx/bus.js +9 -3
  133. package/dist/ctx/create-ctx.d.ts +6 -0
  134. package/dist/ctx/create-ctx.js +7 -9
  135. package/dist/ctx/lock.d.ts +7 -3
  136. package/dist/ctx/lock.js +9 -20
  137. package/dist/ctx/secrets.d.ts +10 -2
  138. package/dist/ctx/secrets.js +7 -3
  139. package/dist/db/kernel-schema.d.ts +4 -4
  140. package/dist/db/pool.d.ts +5 -0
  141. package/dist/db/pool.js +1 -0
  142. package/dist/errors.d.ts +1 -0
  143. package/dist/errors.js +1 -0
  144. package/dist/evals/budget.d.ts +42 -21
  145. package/dist/evals/budget.js +114 -62
  146. package/dist/evals/evals.module.d.ts +31 -0
  147. package/dist/evals/evals.module.js +114 -0
  148. package/dist/evals/jobs.d.ts +20 -0
  149. package/dist/evals/jobs.js +45 -0
  150. package/dist/evals/recorded-tools.d.ts +27 -1
  151. package/dist/evals/recorded-tools.js +85 -10
  152. package/dist/evals/run-replay.d.ts +61 -8
  153. package/dist/evals/run-replay.js +159 -85
  154. package/dist/evals/runs.controller.d.ts +1 -1
  155. package/dist/evals/runs.controller.js +17 -8
  156. package/dist/evals/runs.service.d.ts +23 -45
  157. package/dist/evals/runs.service.js +245 -234
  158. package/dist/evals/sets.controller.d.ts +1 -1
  159. package/dist/evals/sets.controller.js +17 -8
  160. package/dist/evals/sets.service.d.ts +22 -6
  161. package/dist/evals/sets.service.js +248 -194
  162. package/dist/evals/snapshot.d.ts +2 -2
  163. package/dist/evals/step-replay.d.ts +2 -2
  164. package/dist/evals/step-replay.js +1 -1
  165. package/dist/evals/trajectory.controller.d.ts +1 -1
  166. package/dist/evals/trajectory.controller.js +11 -7
  167. package/dist/evals/trajectory.d.ts +2 -2
  168. package/dist/evals/trajectory.service.d.ts +5 -4
  169. package/dist/evals/trajectory.service.js +30 -7
  170. package/dist/evals/worker.d.ts +44 -27
  171. package/dist/evals/worker.js +220 -121
  172. package/dist/extensions/admin-ops.d.ts +61 -33
  173. package/dist/extensions/admin-ops.js +248 -154
  174. package/dist/extensions/admin-view.d.ts +38 -27
  175. package/dist/extensions/admin-view.js +126 -55
  176. package/dist/extensions/approvals.d.ts +12 -8
  177. package/dist/extensions/approvals.js +73 -46
  178. package/dist/extensions/blobs.d.ts +27 -10
  179. package/dist/extensions/blobs.js +111 -45
  180. package/dist/extensions/bootstrap.d.ts +58 -31
  181. package/dist/extensions/bootstrap.js +175 -121
  182. package/dist/extensions/cli.d.ts +20 -10
  183. package/dist/extensions/cli.js +41 -96
  184. package/dist/extensions/config-issues.d.ts +7 -0
  185. package/dist/extensions/config-issues.js +31 -0
  186. package/dist/extensions/deployment-config-store.d.ts +49 -0
  187. package/dist/extensions/deployment-config-store.js +133 -0
  188. package/dist/extensions/deployment-config.d.ts +58 -67
  189. package/dist/extensions/deployment-config.js +202 -230
  190. package/dist/extensions/enabled.d.ts +5 -5
  191. package/dist/extensions/extensions.module.d.ts +8 -0
  192. package/dist/extensions/extensions.module.js +77 -0
  193. package/dist/extensions/hooks.d.ts +3 -2
  194. package/dist/extensions/hooks.js +1 -1
  195. package/dist/extensions/host.d.ts +72 -68
  196. package/dist/extensions/host.js +191 -152
  197. package/dist/extensions/installs.d.ts +49 -16
  198. package/dist/extensions/installs.js +128 -32
  199. package/dist/extensions/job-ids.d.ts +6 -0
  200. package/dist/extensions/job-ids.js +6 -0
  201. package/dist/extensions/lifecycle-topics.d.ts +18 -0
  202. package/dist/extensions/lifecycle-topics.js +18 -0
  203. package/dist/extensions/lifecycle.d.ts +35 -47
  204. package/dist/extensions/lifecycle.js +103 -39
  205. package/dist/extensions/locks.d.ts +33 -0
  206. package/dist/extensions/locks.js +86 -0
  207. package/dist/extensions/migrate-lock.d.ts +3 -4
  208. package/dist/extensions/org-config.controller.d.ts +1 -1
  209. package/dist/extensions/org-config.controller.js +8 -5
  210. package/dist/extensions/org-config.d.ts +48 -46
  211. package/dist/extensions/org-config.js +284 -226
  212. package/dist/extensions/registry.d.ts +50 -2
  213. package/dist/extensions/registry.js +89 -4
  214. package/dist/extensions/sources.d.ts +12 -8
  215. package/dist/extensions/sources.js +34 -13
  216. package/dist/files/files.module.d.ts +3 -0
  217. package/dist/files/files.module.js +22 -0
  218. package/dist/files/previewers.controller.d.ts +7 -2
  219. package/dist/files/previewers.controller.js +17 -9
  220. package/dist/files/previewers.d.ts +13 -18
  221. package/dist/files/previewers.js +83 -36
  222. package/dist/http/adapter.d.ts +3 -0
  223. package/dist/http/adapter.js +25 -0
  224. package/dist/http/api.module.d.ts +3 -110
  225. package/dist/http/api.module.js +47 -355
  226. package/dist/http/app.d.ts +11 -15
  227. package/dist/http/app.js +17 -62
  228. package/dist/http/error-filter.module.d.ts +5 -0
  229. package/dist/http/error-filter.module.js +18 -0
  230. package/dist/http/error.filter.js +2 -2
  231. package/dist/identity/accounts.d.ts +82 -29
  232. package/dist/identity/accounts.js +294 -175
  233. package/dist/identity/api-tokens.d.ts +11 -7
  234. package/dist/identity/api-tokens.js +71 -44
  235. package/dist/identity/audit.d.ts +7 -4
  236. package/dist/identity/audit.js +5 -1
  237. package/dist/identity/auth.controller.d.ts +11 -10
  238. package/dist/identity/auth.controller.js +31 -25
  239. package/dist/identity/auth.guard.d.ts +3 -3
  240. package/dist/identity/auth.guard.js +6 -4
  241. package/dist/identity/binding.d.ts +9 -11
  242. package/dist/identity/binding.js +41 -13
  243. package/dist/identity/enterprise-admin.d.ts +18 -12
  244. package/dist/identity/enterprise-admin.js +67 -13
  245. package/dist/identity/external-identity-lock.d.ts +17 -0
  246. package/dist/identity/external-identity-lock.js +39 -0
  247. package/dist/identity/external.d.ts +19 -15
  248. package/dist/identity/external.js +163 -125
  249. package/dist/identity/identity.module.d.ts +6 -0
  250. package/dist/identity/identity.module.js +56 -0
  251. package/dist/identity/me.controller.d.ts +16 -15
  252. package/dist/identity/me.controller.js +37 -31
  253. package/dist/identity/sessions.d.ts +12 -10
  254. package/dist/identity/sessions.js +74 -42
  255. package/dist/identity/settings.d.ts +20 -14
  256. package/dist/identity/settings.js +86 -58
  257. package/dist/identity/sso.controller.d.ts +7 -7
  258. package/dist/identity/sso.controller.js +13 -9
  259. package/dist/identity/sso.d.ts +9 -12
  260. package/dist/identity/sso.js +54 -24
  261. package/dist/inbox/inbox.module.d.ts +3 -0
  262. package/dist/inbox/inbox.module.js +22 -0
  263. package/dist/inbox/inbox.service.d.ts +7 -9
  264. package/dist/inbox/inbox.service.js +32 -11
  265. package/dist/index.d.ts +16 -11
  266. package/dist/index.js +9 -6
  267. package/dist/infra/cache/cache.module.d.ts +3 -0
  268. package/dist/infra/cache/cache.module.js +16 -0
  269. package/dist/infra/cache/cache.service.d.ts +21 -0
  270. package/dist/infra/cache/cache.service.js +80 -0
  271. package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
  272. package/dist/infra/cache/cacheable.decorator.js +83 -0
  273. package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
  274. package/dist/infra/cli/kernel-cli.module.js +165 -0
  275. package/dist/infra/close-within.d.ts +15 -0
  276. package/dist/infra/close-within.js +36 -0
  277. package/dist/infra/config/config.module.d.ts +13 -0
  278. package/dist/infra/config/config.module.js +39 -0
  279. package/dist/infra/config/kernel-config.service.d.ts +25 -0
  280. package/dist/infra/config/kernel-config.service.js +126 -0
  281. package/dist/infra/database/after-commit.d.ts +6 -0
  282. package/dist/infra/database/after-commit.js +9 -0
  283. package/dist/infra/database/database.module.d.ts +25 -0
  284. package/dist/infra/database/database.module.js +90 -0
  285. package/dist/infra/database/kernel-db.d.ts +22 -0
  286. package/dist/infra/database/kernel-db.js +65 -0
  287. package/dist/infra/database/transaction-host.d.ts +50 -0
  288. package/dist/infra/database/transaction-host.js +125 -0
  289. package/dist/infra/database/transactional.decorator.d.ts +15 -0
  290. package/dist/infra/database/transactional.decorator.js +27 -0
  291. package/dist/infra/database/xact-lock.d.ts +17 -0
  292. package/dist/infra/database/xact-lock.js +43 -0
  293. package/dist/infra/events/kernel-events.d.ts +96 -0
  294. package/dist/infra/events/kernel-events.js +65 -0
  295. package/dist/infra/health/health.controller.d.ts +26 -0
  296. package/dist/infra/health/health.controller.js +104 -0
  297. package/dist/infra/health/health.module.d.ts +9 -0
  298. package/dist/infra/health/health.module.js +24 -0
  299. package/dist/infra/health/health.options.d.ts +10 -0
  300. package/dist/infra/health/health.options.js +15 -0
  301. package/dist/infra/health/shutdown-state.d.ts +6 -0
  302. package/dist/infra/health/shutdown-state.js +2 -0
  303. package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
  304. package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
  305. package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
  306. package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
  307. package/dist/infra/lifecycle/process-guards.d.ts +52 -0
  308. package/dist/infra/lifecycle/process-guards.js +86 -0
  309. package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
  310. package/dist/infra/lifecycle/shutdown-signals.js +48 -0
  311. package/dist/infra/lock/key-template.d.ts +13 -0
  312. package/dist/infra/lock/key-template.js +46 -0
  313. package/dist/infra/lock/lock.module.d.ts +3 -0
  314. package/dist/infra/lock/lock.module.js +16 -0
  315. package/dist/infra/lock/lock.service.d.ts +120 -0
  316. package/dist/infra/lock/lock.service.js +343 -0
  317. package/dist/infra/lock/shared-lease.d.ts +44 -0
  318. package/dist/infra/lock/shared-lease.js +121 -0
  319. package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
  320. package/dist/infra/lock/with-lock.decorator.js +49 -0
  321. package/dist/infra/logging/logging.module.d.ts +16 -0
  322. package/dist/infra/logging/logging.module.js +34 -0
  323. package/dist/infra/queue/configured-processor.d.ts +18 -0
  324. package/dist/infra/queue/configured-processor.js +23 -0
  325. package/dist/infra/queue/job-failure.d.ts +18 -0
  326. package/dist/infra/queue/job-failure.js +26 -0
  327. package/dist/infra/queue/queue-shutdown.d.ts +27 -0
  328. package/dist/infra/queue/queue-shutdown.js +81 -0
  329. package/dist/infra/queue/queue.module.d.ts +16 -0
  330. package/dist/infra/queue/queue.module.js +61 -0
  331. package/dist/infra/queue/redis-connection.d.ts +7 -0
  332. package/dist/infra/queue/redis-connection.js +18 -0
  333. package/dist/infra/queue/retired-schedulers.d.ts +7 -0
  334. package/dist/infra/queue/retired-schedulers.js +9 -0
  335. package/dist/infra/queue/run-job.d.ts +16 -0
  336. package/dist/infra/queue/run-job.js +19 -0
  337. package/dist/infra/redis/redis.module.d.ts +24 -0
  338. package/dist/infra/redis/redis.module.js +87 -0
  339. package/dist/infra/schedule/cron-tick.d.ts +12 -0
  340. package/dist/infra/schedule/cron-tick.js +25 -0
  341. package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
  342. package/dist/infra/schedule/locked-cron.decorator.js +53 -0
  343. package/dist/infra/schedule/locked-interval.d.ts +69 -0
  344. package/dist/infra/schedule/locked-interval.js +190 -0
  345. package/dist/infra/schedule/locked-tick.d.ts +90 -0
  346. package/dist/infra/schedule/locked-tick.js +137 -0
  347. package/dist/infra/schedule/schedule.module.d.ts +8 -0
  348. package/dist/infra/schedule/schedule.module.js +27 -0
  349. package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
  350. package/dist/infra/schedule/scheduled-runs.js +163 -0
  351. package/dist/infra/swagger/swagger.d.ts +16 -0
  352. package/dist/infra/swagger/swagger.js +31 -0
  353. package/dist/infra/throttler/credential-throttler.d.ts +35 -0
  354. package/dist/infra/throttler/credential-throttler.js +77 -0
  355. package/dist/infra/throttler/named-throttlers.d.ts +31 -0
  356. package/dist/infra/throttler/named-throttlers.js +119 -0
  357. package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
  358. package/dist/infra/throttler/redis-throttler-storage.js +130 -0
  359. package/dist/infra/throttler/throttler.guard.d.ts +23 -0
  360. package/dist/infra/throttler/throttler.guard.js +68 -0
  361. package/dist/infra/throttler/throttler.module.d.ts +15 -0
  362. package/dist/infra/throttler/throttler.module.js +53 -0
  363. package/dist/infra/tokens.d.ts +15 -0
  364. package/dist/infra/tokens.js +15 -0
  365. package/dist/infra/validation/create-zod-dto.d.ts +23 -0
  366. package/dist/infra/validation/create-zod-dto.js +35 -0
  367. package/dist/infra/validation/parse-with-zod.d.ts +7 -0
  368. package/dist/infra/validation/parse-with-zod.js +12 -0
  369. package/dist/infra/validation/validation.module.d.ts +3 -0
  370. package/dist/infra/validation/validation.module.js +16 -0
  371. package/dist/infra/validation/zod-params.d.ts +7 -0
  372. package/dist/infra/validation/zod-params.js +42 -0
  373. package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
  374. package/dist/infra/validation/zod-validation.pipe.js +31 -0
  375. package/dist/kernel.d.ts +9 -244
  376. package/dist/kernel.js +8 -1305
  377. package/dist/kernel.module.d.ts +17 -0
  378. package/dist/kernel.module.js +136 -0
  379. package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
  380. package/dist/lifecycle/kernel-lifecycle.js +456 -0
  381. package/dist/lifecycle/tokens.d.ts +3 -0
  382. package/dist/lifecycle/tokens.js +3 -0
  383. package/dist/log-context.d.ts +2 -0
  384. package/dist/log-context.js +4 -0
  385. package/dist/models/models.module.d.ts +3 -0
  386. package/dist/models/models.module.js +24 -0
  387. package/dist/models/prices.d.ts +8 -2
  388. package/dist/models/prices.js +65 -37
  389. package/dist/models/purposes.controller.d.ts +1 -1
  390. package/dist/models/purposes.controller.js +5 -6
  391. package/dist/models/purposes.d.ts +35 -13
  392. package/dist/models/purposes.js +101 -51
  393. package/dist/orgs/directory-sync.controller.d.ts +1 -1
  394. package/dist/orgs/directory-sync.controller.js +2 -2
  395. package/dist/orgs/directory-sync.d.ts +61 -31
  396. package/dist/orgs/directory-sync.js +212 -125
  397. package/dist/orgs/invitations.controller.d.ts +8 -8
  398. package/dist/orgs/invitations.controller.js +27 -26
  399. package/dist/orgs/invitations.service.d.ts +12 -9
  400. package/dist/orgs/invitations.service.js +130 -92
  401. package/dist/orgs/job-ids.d.ts +8 -0
  402. package/dist/orgs/job-ids.js +8 -0
  403. package/dist/orgs/members.service.d.ts +19 -12
  404. package/dist/orgs/members.service.js +161 -117
  405. package/dist/orgs/offboarding.d.ts +54 -57
  406. package/dist/orgs/offboarding.js +161 -71
  407. package/dist/orgs/org-lock.d.ts +28 -19
  408. package/dist/orgs/org-lock.js +81 -35
  409. package/dist/orgs/org.guard.d.ts +1 -1
  410. package/dist/orgs/org.guard.js +2 -2
  411. package/dist/orgs/orgs.controller.d.ts +13 -13
  412. package/dist/orgs/orgs.controller.js +29 -17
  413. package/dist/orgs/orgs.module.d.ts +6 -0
  414. package/dist/orgs/orgs.module.js +68 -0
  415. package/dist/orgs/orgs.service.d.ts +30 -19
  416. package/dist/orgs/orgs.service.js +139 -86
  417. package/dist/orgs/settings.controller.d.ts +1 -1
  418. package/dist/orgs/settings.controller.js +8 -6
  419. package/dist/orgs/settings.service.d.ts +16 -10
  420. package/dist/orgs/settings.service.js +77 -48
  421. package/dist/overrides.d.ts +56 -0
  422. package/dist/overrides.js +30 -0
  423. package/dist/roles/gateway-role.d.ts +43 -0
  424. package/dist/roles/gateway-role.js +98 -0
  425. package/dist/roles/gateway.module.d.ts +8 -0
  426. package/dist/roles/gateway.module.js +28 -0
  427. package/dist/roles/worker-role.d.ts +63 -0
  428. package/dist/roles/worker-role.js +144 -0
  429. package/dist/roles/worker.module.d.ts +14 -0
  430. package/dist/roles/worker.module.js +90 -0
  431. package/dist/runtime/abort.js +19 -2
  432. package/dist/runtime/checkpointer.d.ts +8 -3
  433. package/dist/runtime/checkpointer.js +87 -55
  434. package/dist/runtime/context/build.d.ts +6 -6
  435. package/dist/runtime/context/build.js +18 -8
  436. package/dist/runtime/context/claude-tools.d.ts +2 -1
  437. package/dist/runtime/context/claude-tools.js +9 -10
  438. package/dist/runtime/context/legacy-text.d.ts +22 -0
  439. package/dist/runtime/context/legacy-text.js +37 -0
  440. package/dist/runtime/context/skills.d.ts +29 -11
  441. package/dist/runtime/context/skills.js +37 -30
  442. package/dist/runtime/conversation-lock.d.ts +20 -11
  443. package/dist/runtime/conversation-lock.js +62 -72
  444. package/dist/runtime/hook-calls.d.ts +3 -3
  445. package/dist/runtime/hook-calls.js +1 -6
  446. package/dist/runtime/job-ids.d.ts +10 -0
  447. package/dist/runtime/job-ids.js +10 -0
  448. package/dist/runtime/langgraph-loop.js +1 -1
  449. package/dist/runtime/loop.d.ts +8 -1
  450. package/dist/runtime/loop.js +14 -0
  451. package/dist/runtime/maintenance-queue.d.ts +10 -0
  452. package/dist/runtime/maintenance-queue.js +10 -0
  453. package/dist/runtime/maintenance.d.ts +45 -74
  454. package/dist/runtime/maintenance.js +139 -137
  455. package/dist/runtime/model-call.d.ts +7 -4
  456. package/dist/runtime/model-call.js +25 -58
  457. package/dist/runtime/providers.d.ts +17 -6
  458. package/dist/runtime/providers.js +66 -25
  459. package/dist/runtime/quota.d.ts +17 -3
  460. package/dist/runtime/quota.js +27 -2
  461. package/dist/runtime/retired-schedulers.d.ts +7 -0
  462. package/dist/runtime/retired-schedulers.js +31 -0
  463. package/dist/runtime/run-control.d.ts +33 -0
  464. package/dist/runtime/run-control.js +77 -0
  465. package/dist/runtime/run-finish.d.ts +27 -18
  466. package/dist/runtime/run-finish.js +98 -51
  467. package/dist/runtime/run-jobs.d.ts +48 -0
  468. package/dist/runtime/run-jobs.js +95 -0
  469. package/dist/runtime/run-processors.d.ts +60 -0
  470. package/dist/runtime/run-processors.js +185 -0
  471. package/dist/runtime/run-queue.d.ts +32 -57
  472. package/dist/runtime/run-queue.js +291 -295
  473. package/dist/runtime/run-steps.d.ts +39 -0
  474. package/dist/runtime/run-steps.js +96 -0
  475. package/dist/runtime/run-worker.d.ts +122 -76
  476. package/dist/runtime/run-worker.js +343 -229
  477. package/dist/runtime/runtime.module.d.ts +10 -0
  478. package/dist/runtime/runtime.module.js +112 -0
  479. package/dist/runtime/step-log.d.ts +40 -0
  480. package/dist/runtime/step-log.js +94 -0
  481. package/dist/runtime/stream.controller.d.ts +5 -8
  482. package/dist/runtime/stream.controller.js +14 -12
  483. package/dist/runtime/stream.d.ts +24 -6
  484. package/dist/runtime/stream.js +78 -7
  485. package/dist/runtime/subagents/child.d.ts +3 -44
  486. package/dist/runtime/subagents/child.js +0 -79
  487. package/dist/runtime/subagents/definition.d.ts +5 -10
  488. package/dist/runtime/subagents/definition.js +13 -14
  489. package/dist/runtime/subagents/dispatch.d.ts +89 -8
  490. package/dist/runtime/subagents/dispatch.js +137 -142
  491. package/dist/runtime/subagents/limits.d.ts +9 -4
  492. package/dist/runtime/subagents/limits.js +4 -2
  493. package/dist/runtime/subagents/org-agents.d.ts +4 -4
  494. package/dist/runtime/subagents/org-agents.js +3 -2
  495. package/dist/runtime/subagents/progress.d.ts +2 -2
  496. package/dist/runtime/subagents/roster.d.ts +4 -4
  497. package/dist/runtime/subagents/roster.js +2 -2
  498. package/dist/runtime/subagents/skill-fork.d.ts +8 -9
  499. package/dist/runtime/subagents/skill-fork.js +17 -6
  500. package/dist/runtime/subagents/subagents.service.d.ts +40 -0
  501. package/dist/runtime/subagents/subagents.service.js +101 -0
  502. package/dist/runtime/usage-report.d.ts +94 -52
  503. package/dist/runtime/usage-report.js +200 -100
  504. package/dist/runtime/waits.d.ts +127 -59
  505. package/dist/runtime/waits.js +433 -210
  506. package/dist/sandbox/job-ids.d.ts +10 -0
  507. package/dist/sandbox/job-ids.js +10 -0
  508. package/dist/sandbox/jobs.d.ts +41 -0
  509. package/dist/sandbox/jobs.js +113 -0
  510. package/dist/sandbox/leases.d.ts +39 -31
  511. package/dist/sandbox/leases.js +117 -257
  512. package/dist/sandbox/providers.d.ts +19 -0
  513. package/dist/sandbox/providers.js +38 -0
  514. package/dist/sandbox/sandbox.module.d.ts +8 -0
  515. package/dist/sandbox/sandbox.module.js +30 -0
  516. package/dist/sandbox/sandbox.service.d.ts +24 -29
  517. package/dist/sandbox/sandbox.service.js +106 -75
  518. package/dist/skills/catalog.d.ts +37 -24
  519. package/dist/skills/catalog.js +100 -57
  520. package/dist/skills/changes.controller.d.ts +4 -4
  521. package/dist/skills/changes.controller.js +15 -9
  522. package/dist/skills/changes.service.d.ts +30 -20
  523. package/dist/skills/changes.service.js +425 -367
  524. package/dist/skills/invocable.controller.d.ts +1 -1
  525. package/dist/skills/invocable.controller.js +8 -5
  526. package/dist/skills/invocation-keys.d.ts +1 -1
  527. package/dist/skills/invocation-keys.js +1 -1
  528. package/dist/skills/invoke.d.ts +17 -16
  529. package/dist/skills/invoke.js +53 -21
  530. package/dist/skills/skills.controller.d.ts +1 -1
  531. package/dist/skills/skills.controller.js +11 -6
  532. package/dist/skills/skills.module.d.ts +6 -0
  533. package/dist/skills/skills.module.js +30 -0
  534. package/dist/skills/skills.service.d.ts +47 -30
  535. package/dist/skills/skills.service.js +221 -158
  536. package/dist/storage/job-ids.d.ts +6 -0
  537. package/dist/storage/job-ids.js +6 -0
  538. package/dist/storage/purge.d.ts +22 -7
  539. package/dist/storage/purge.js +55 -3
  540. package/dist/storage/storage.module.d.ts +6 -0
  541. package/dist/storage/storage.module.js +23 -0
  542. package/dist/storage/storage.service.d.ts +18 -4
  543. package/dist/storage/storage.service.js +44 -3
  544. package/dist/tools/approvals.controller.d.ts +1 -1
  545. package/dist/tools/approvals.controller.js +12 -8
  546. package/dist/tools/approvals.service.d.ts +33 -25
  547. package/dist/tools/approvals.service.js +343 -259
  548. package/dist/tools/breaker.d.ts +2 -2
  549. package/dist/tools/breaker.js +21 -3
  550. package/dist/tools/builtin-names.d.ts +73 -0
  551. package/dist/tools/builtin-names.js +116 -0
  552. package/dist/tools/builtins/agent.d.ts +7 -7
  553. package/dist/tools/builtins/agent.js +7 -11
  554. package/dist/tools/builtins/ask-user.d.ts +3 -3
  555. package/dist/tools/builtins/ask-user.js +3 -3
  556. package/dist/tools/builtins/builtin-tools.d.ts +21 -0
  557. package/dist/tools/builtins/builtin-tools.js +80 -0
  558. package/dist/tools/builtins/read-tool-output.d.ts +3 -3
  559. package/dist/tools/builtins/read-tool-output.js +3 -3
  560. package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
  561. package/dist/tools/builtins/sandbox/bash.js +33 -30
  562. package/dist/tools/builtins/sandbox/common.d.ts +5 -4
  563. package/dist/tools/builtins/sandbox/common.js +2 -2
  564. package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
  565. package/dist/tools/builtins/sandbox/deliver.js +13 -13
  566. package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
  567. package/dist/tools/builtins/sandbox/edit.js +42 -31
  568. package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
  569. package/dist/tools/builtins/sandbox/file-state.js +34 -0
  570. package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
  571. package/dist/tools/builtins/sandbox/glob-match.js +1 -1
  572. package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
  573. package/dist/tools/builtins/sandbox/glob.js +6 -6
  574. package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
  575. package/dist/tools/builtins/sandbox/grep.js +149 -32
  576. package/dist/tools/builtins/sandbox/index.d.ts +1 -1
  577. package/dist/tools/builtins/sandbox/index.js +1 -1
  578. package/dist/tools/builtins/sandbox/read.d.ts +2 -2
  579. package/dist/tools/builtins/sandbox/read.js +22 -15
  580. package/dist/tools/builtins/sandbox/write.d.ts +1 -1
  581. package/dist/tools/builtins/sandbox/write.js +38 -34
  582. package/dist/tools/builtins/skill-load.d.ts +6 -6
  583. package/dist/tools/builtins/skill-load.js +33 -17
  584. package/dist/tools/builtins/skill-write.d.ts +4 -4
  585. package/dist/tools/builtins/skill-write.js +10 -10
  586. package/dist/tools/builtins/tool-search.d.ts +13 -9
  587. package/dist/tools/builtins/tool-search.js +25 -14
  588. package/dist/tools/canonical-json.d.ts +6 -0
  589. package/dist/tools/canonical-json.js +16 -0
  590. package/dist/tools/connector-content.controller.d.ts +1 -1
  591. package/dist/tools/connector-content.controller.js +11 -6
  592. package/dist/tools/connector-content.d.ts +12 -15
  593. package/dist/tools/connector-content.js +53 -18
  594. package/dist/tools/connectors.controller.d.ts +1 -1
  595. package/dist/tools/connectors.controller.js +21 -10
  596. package/dist/tools/connectors.service.d.ts +31 -13
  597. package/dist/tools/connectors.service.js +438 -348
  598. package/dist/tools/credentials.d.ts +17 -20
  599. package/dist/tools/credentials.js +55 -34
  600. package/dist/tools/display-names.d.ts +9 -0
  601. package/dist/tools/display-names.js +24 -0
  602. package/dist/tools/drift.d.ts +29 -41
  603. package/dist/tools/drift.js +116 -84
  604. package/dist/tools/elicitation.js +1 -1
  605. package/dist/tools/info.d.ts +32 -13
  606. package/dist/tools/info.js +88 -39
  607. package/dist/tools/job-ids.d.ts +13 -0
  608. package/dist/tools/job-ids.js +15 -0
  609. package/dist/tools/jobs.d.ts +24 -0
  610. package/dist/tools/jobs.js +69 -0
  611. package/dist/tools/legacy-data.d.ts +34 -0
  612. package/dist/tools/legacy-data.js +76 -0
  613. package/dist/tools/legacy-keys.d.ts +51 -0
  614. package/dist/tools/legacy-keys.js +115 -0
  615. package/dist/tools/naming.d.ts +1 -5
  616. package/dist/tools/naming.js +1 -7
  617. package/dist/tools/oauth/flow-paths.d.ts +16 -0
  618. package/dist/tools/oauth/flow-paths.js +38 -0
  619. package/dist/tools/oauth/flow.d.ts +30 -30
  620. package/dist/tools/oauth/flow.js +109 -81
  621. package/dist/tools/oauth/oauth.controller.d.ts +3 -3
  622. package/dist/tools/oauth/oauth.controller.js +12 -9
  623. package/dist/tools/oauth/tokens.d.ts +11 -3
  624. package/dist/tools/oauth/tokens.js +15 -14
  625. package/dist/tools/outputs.d.ts +13 -4
  626. package/dist/tools/outputs.js +48 -4
  627. package/dist/tools/pipeline.d.ts +72 -50
  628. package/dist/tools/pipeline.js +239 -100
  629. package/dist/tools/policy.d.ts +3 -16
  630. package/dist/tools/policy.js +13 -19
  631. package/dist/tools/questions.controller.d.ts +2 -2
  632. package/dist/tools/questions.controller.js +9 -6
  633. package/dist/tools/questions.service.d.ts +26 -25
  634. package/dist/tools/questions.service.js +201 -142
  635. package/dist/tools/registry.d.ts +43 -38
  636. package/dist/tools/registry.js +100 -72
  637. package/dist/tools/resources.d.ts +1 -1
  638. package/dist/tools/resources.js +1 -1
  639. package/dist/tools/specs.d.ts +5 -4
  640. package/dist/tools/specs.js +3 -1
  641. package/dist/tools/tools.module.d.ts +10 -0
  642. package/dist/tools/tools.module.js +91 -0
  643. package/dist/ui/call-extension.d.ts +16 -0
  644. package/dist/ui/call-extension.js +38 -0
  645. package/dist/ui/embed-token.d.ts +9 -5
  646. package/dist/ui/embed-token.js +34 -6
  647. package/dist/ui/ui-stream.d.ts +22 -17
  648. package/dist/ui/ui-stream.js +72 -12
  649. package/dist/ui/ui.module.d.ts +7 -0
  650. package/dist/ui/ui.module.js +28 -0
  651. package/dist/ui/views.controller.d.ts +14 -12
  652. package/dist/ui/views.controller.js +32 -25
  653. package/dist/ui/views.d.ts +9 -57
  654. package/dist/ui/views.js +43 -45
  655. package/package.json +10 -3
  656. package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
  657. package/dist/http/health.controller.d.ts +0 -26
  658. package/dist/http/health.controller.js +0 -79
  659. package/dist/http/tokens.d.ts +0 -131
  660. package/dist/http/tokens.js +0 -131
  661. package/dist/http/zod.pipe.d.ts +0 -8
  662. package/dist/http/zod.pipe.js +0 -14
  663. package/dist/identity/rate-limit.d.ts +0 -55
  664. package/dist/identity/rate-limit.js +0 -121
  665. package/dist/sandbox/lifecycle.d.ts +0 -21
  666. package/dist/sandbox/lifecycle.js +0 -68
  667. package/dist/tools/builtins/sandbox/names.d.ts +0 -7
  668. package/dist/tools/builtins/sandbox/names.js +0 -20
  669. /package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +0 -0
  670. /package/dist/http/{gateway.module.js → gateway-routes.js} +0 -0
@@ -1,13 +1,17 @@
1
1
  import { type ContentBlock, type Logger, type ModelUsage, type StopReason } from "@capybara-hq/plugin-sdk";
2
- import type { KernelConfig } from "../config/schema.js";
3
- import type { EventLog } from "../conversations/event-log.js";
4
- import type { KernelDb } from "../db/kernel-schema.js";
2
+ import { type ModelRef } from "../agents/definition.js";
3
+ import { EventLog } from "../conversations/event-log.js";
4
+ import type { KernelSchemaDb } from "../db/kernel-schema.js";
5
+ import type { KernelConfigService } from "../infra/config/kernel-config.service.js";
6
+ import { KernelDb } from "../infra/database/kernel-db.js";
7
+ import { TransactionHost } from "../infra/database/transaction-host.js";
5
8
  import type { KyselyCheckpointSaver } from "../runtime/checkpointer.js";
6
9
  import type { LoopDeps } from "../runtime/langgraph-loop.js";
7
10
  import type { AgentLoop, LoopOutcome } from "../runtime/loop.js";
8
11
  import { type MediaSourceDeps } from "../runtime/model-call.js";
9
12
  import type { ProviderRegistry } from "../runtime/providers.js";
10
- import type { CaseSnapshot } from "./snapshot.js";
13
+ import type { RunFinish } from "../runtime/run-finish.js";
14
+ import type { CaseSnapshot, SnapshotEvent } from "./snapshot.js";
11
15
  import type { ResolvedCandidate } from "./step-replay.js";
12
16
  /**
13
17
  * 整轮回放(D2 / C6):在 `kind = 'eval'` 的隐藏对话里跑**同一个** `LangGraphLoop`,工具管线换成
@@ -33,6 +37,11 @@ export interface RunReplayResult {
33
37
  usage: ModelUsage;
34
38
  steps: number;
35
39
  unmatched: number;
40
+ /**
41
+ * Set when a call was matched with a recording made under the release-candidate tool names
42
+ * (`sandbox_edit` for `Edit`, `docs__search` for `mcp__docs__search`, old parameter names).
43
+ */
44
+ legacyKeyMatch?: true;
36
45
  }
37
46
  /** 原运行(基线)的同形摘要。 */
38
47
  export type RunBaseline = Omit<RunReplayResult, "conversationId" | "outcome" | "unmatched">;
@@ -50,9 +59,14 @@ export interface EvalReplayHooks {
50
59
  beforeJudge?(evalRunId: string): Promise<void>;
51
60
  }
52
61
  export interface RunReplayDeps {
53
- db: KernelDb;
62
+ /** The context-aware handle (reads, the eval conversation's cleanup). */
63
+ readonly db: KernelSchemaDb;
54
64
  eventLog: EventLog;
55
- config: () => KernelConfig;
65
+ /** Writes the seed (the eval conversation, its events, the run) in a transaction of its own. */
66
+ seeder: Pick<EvalReplaySeeder, "seed">;
67
+ /** Writes the replayed run's terminal state. */
68
+ runFinish: Pick<RunFinish, "finish">;
69
+ config: Pick<KernelConfigService, "get">;
56
70
  log: Logger;
57
71
  registry: Pick<ProviderRegistry, "resolve">;
58
72
  media?: MediaSourceDeps;
@@ -64,15 +78,54 @@ export interface RunReplayDeps {
64
78
  /** 本次执行是否仍持有结果的认领(失去认领 → 不再发请求);不给 = 不检查。 */
65
79
  stillClaimed?: () => Promise<boolean>;
66
80
  /**
67
- * 种子事务内调用:把评测对话记到结果上(以认领为条件)。返回 false = 已失去认领,种子回滚、抛 {@link ReplayClaimLost}。
81
+ * 种子事务内调用(its queries join the seed's transaction through the context-aware handle):把评测对话记到结果上
82
+ * (以认领为条件)。返回 false = 已失去认领,种子回滚、抛 {@link ReplayClaimLost}。
68
83
  */
69
- onSeeded?: (trx: KernelDb, conversationId: string) => Promise<boolean>;
84
+ onSeeded?: (conversationId: string) => Promise<boolean>;
70
85
  hooks?: EvalReplayHooks;
71
86
  }
72
87
  /** 写种子时发现已失去认领或运行已不在执行:本次执行停下,不留评测对话。 */
73
88
  export declare class ReplayClaimLost extends Error {
74
89
  constructor();
75
90
  }
91
+ /** What {@link EvalReplaySeeder.seed} writes. */
92
+ export interface ReplaySeed {
93
+ evalRunId: string;
94
+ orgId: string;
95
+ agentId: string;
96
+ accountId: string;
97
+ conversationId: string;
98
+ runId: string;
99
+ /** The original run's `run_started` seq: the seeds are the events before it. */
100
+ runStartedSeq: number;
101
+ /** The conversation's `consumed_seq` when the original run started. */
102
+ consumed: number;
103
+ seeds: SnapshotEvent[];
104
+ /** The run's trigger seq (the last user message before it). */
105
+ trigger: number;
106
+ agentVersion: number;
107
+ model: ModelRef;
108
+ /** The original run's `skills_catalog` event, its payload copied as is. */
109
+ catalog: {
110
+ payload: unknown;
111
+ } | undefined;
112
+ }
113
+ /**
114
+ * The seed of a full-run replay (C6): the `kind = 'eval'` conversation with the events before the
115
+ * original run at their original seqs, the run row and its `run_started` (and the original
116
+ * `skills_catalog`), in one transaction of its own.
117
+ */
118
+ export declare class EvalReplaySeeder {
119
+ private readonly db;
120
+ private readonly eventLog;
121
+ readonly txHost: TransactionHost;
122
+ constructor(db: KernelDb, eventLog: Pick<EventLog, "appendIn">, txHost: TransactionHost);
123
+ /**
124
+ * Writes the seed; `onSeeded` runs inside the same transaction (false = the claim is lost: the
125
+ * seed rolls back and {@link ReplayClaimLost} is thrown).
126
+ */
127
+ seed(p: ReplaySeed, onSeeded?: (conversationId: string) => Promise<boolean>): Promise<void>;
128
+ }
76
129
  /** 整轮回放被停下的原因(`run_aborted.detail`)。 */
77
130
  export type StopDetail = "cancelled" | "capped" | "too_many_errors" | "claim_lost" | "shutdown";
78
131
  /** 原运行(快照)的摘要,作为整轮回放的基线。 */
@@ -1,15 +1,28 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
8
+ return function (target, key) { decorator(target, key, paramIndex); }
9
+ };
1
10
  import { randomUUID } from "node:crypto";
2
11
  import { ModelError, } from "@capybara-hq/plugin-sdk";
12
+ import { Inject, Injectable } from "@nestjs/common";
3
13
  import { sql } from "kysely";
4
14
  import { normalizeStoredDefinition } from "../agents/definition.js";
15
+ import { EventLog } from "../conversations/event-log.js";
5
16
  import { ApiError } from "../errors.js";
17
+ import { KernelDb } from "../infra/database/kernel-db.js";
18
+ import { TransactionHost } from "../infra/database/transaction-host.js";
19
+ import { Transactional } from "../infra/database/transactional.decorator.js";
6
20
  import { estimateTokens } from "../runtime/context/tokens.js";
7
21
  import { RunError } from "../runtime/model-call.js";
8
- import { finishRun } from "../runtime/run-finish.js";
9
22
  import { recordedSkillForks } from "../runtime/subagents/skill-fork.js";
10
23
  import { skillsCatalogIdemKey } from "../skills/catalog.js";
11
24
  import { ACTIVE_EVAL_STATUSES, addUsage, consumeTokens, TOO_MANY_ERRORS, usageTokens, } from "./budget.js";
12
- import { RecordedToolPipeline, recordedCalls } from "./recorded-tools.js";
25
+ import { currentCall, legacyScopeOf, RecordedToolPipeline, recordedCalls, } from "./recorded-tools.js";
13
26
  /** 写种子时发现已失去认领或运行已不在执行:本次执行停下,不留评测对话。 */
14
27
  export class ReplayClaimLost extends Error {
15
28
  constructor() {
@@ -17,6 +30,111 @@ export class ReplayClaimLost extends Error {
17
30
  this.name = "ReplayClaimLost";
18
31
  }
19
32
  }
33
+ /**
34
+ * The seed of a full-run replay (C6): the `kind = 'eval'` conversation with the events before the
35
+ * original run at their original seqs, the run row and its `run_started` (and the original
36
+ * `skills_catalog`), in one transaction of its own.
37
+ */
38
+ let EvalReplaySeeder = class EvalReplaySeeder {
39
+ db;
40
+ eventLog;
41
+ txHost;
42
+ constructor(db, eventLog, txHost) {
43
+ this.db = db;
44
+ this.eventLog = eventLog;
45
+ this.txHost = txHost;
46
+ }
47
+ /**
48
+ * Writes the seed; `onSeeded` runs inside the same transaction (false = the claim is lost: the
49
+ * seed rolls back and {@link ReplayClaimLost} is thrown).
50
+ */
51
+ async seed(p, onSeeded) {
52
+ const { conversationId, runId, evalRunId } = p;
53
+ // 运行行加共享锁并复核仍在执行:与取消 / 删除评测集(UPDATE 持行锁)互斥,删除之后不会再长出评测对话
54
+ const live = await this.db
55
+ .selectFrom("eval_runs")
56
+ .select("id")
57
+ .where("id", "=", evalRunId)
58
+ .where("status", "in", [...ACTIVE_EVAL_STATUSES])
59
+ .forShare()
60
+ .executeTakeFirst();
61
+ if (!live)
62
+ throw new ReplayClaimLost();
63
+ await this.db
64
+ .insertInto("conversations")
65
+ .values({
66
+ id: conversationId,
67
+ org_id: p.orgId,
68
+ agent_id: p.agentId,
69
+ account_id: p.accountId,
70
+ last_seq: p.runStartedSeq - 1,
71
+ consumed_seq: p.consumed,
72
+ kind: "eval",
73
+ eval_run_id: evalRunId,
74
+ })
75
+ .execute();
76
+ for (let i = 0; i < p.seeds.length; i += SEED_BATCH) {
77
+ await this.db
78
+ .insertInto("conversation_events")
79
+ .values(p.seeds.slice(i, i + SEED_BATCH).map((e) => ({
80
+ conversation_id: conversationId,
81
+ seq: e.seq,
82
+ type: e.type,
83
+ run_id: e.runId,
84
+ idem_key: null,
85
+ payload: JSON.stringify(e.payload),
86
+ created_at: new Date(e.createdAt),
87
+ })))
88
+ .execute();
89
+ }
90
+ await this.db
91
+ .insertInto("runs")
92
+ .values({
93
+ id: runId,
94
+ conversation_id: conversationId,
95
+ status: "running",
96
+ agent_version: p.agentVersion,
97
+ trigger_account_id: p.accountId,
98
+ trigger_seq: p.trigger,
99
+ started_at: new Date(),
100
+ })
101
+ .execute();
102
+ await this.eventLog.appendIn(conversationId, [
103
+ {
104
+ type: "run_started",
105
+ runId,
106
+ idemKey: `run_started:${runId}`,
107
+ payload: {
108
+ agentVersion: p.agentVersion,
109
+ model: p.model,
110
+ triggerAccountId: p.accountId,
111
+ },
112
+ },
113
+ ...(p.catalog
114
+ ? [
115
+ {
116
+ type: "skills_catalog",
117
+ runId,
118
+ idemKey: skillsCatalogIdemKey(runId),
119
+ payload: p.catalog.payload,
120
+ },
121
+ ]
122
+ : []),
123
+ ]);
124
+ if (onSeeded && !(await onSeeded(conversationId)))
125
+ throw new ReplayClaimLost();
126
+ }
127
+ };
128
+ __decorate([
129
+ Transactional({ propagation: "requires_new" })
130
+ ], EvalReplaySeeder.prototype, "seed", null);
131
+ EvalReplaySeeder = __decorate([
132
+ Injectable(),
133
+ __param(0, Inject(KernelDb)),
134
+ __param(1, Inject(EventLog)),
135
+ __param(2, Inject(TransactionHost))
136
+ ], EvalReplaySeeder);
137
+ export { EvalReplaySeeder };
20
138
  /** 运行不再执行或失去认领时的原因;还能继续为 null。 */
21
139
  async function stopReason(db, evalRunId, stillClaimed) {
22
140
  const r = await db
@@ -59,7 +177,7 @@ const ZERO = {
59
177
  cacheWriteTokens: 0,
60
178
  };
61
179
  /** 一次运行的工具调用序列、最后的回复、停止原因、用量与步数(基线与候选同一算法)。 */
62
- function summarize(events, runId) {
180
+ function summarize(events, runId, scope) {
63
181
  const toolCalls = [];
64
182
  let usage = ZERO;
65
183
  let last = null;
@@ -71,8 +189,14 @@ function summarize(events, runId) {
71
189
  const p = e.payload;
72
190
  steps.add(p.step);
73
191
  for (const b of p.content) {
74
- if (b.type === "tool_call")
192
+ if (b.type !== "tool_call")
193
+ continue;
194
+ if (scope === undefined)
75
195
  toolCalls.push({ name: b.name, input: b.input });
196
+ else {
197
+ const { name, input } = currentCall(b.name, b.input, scope);
198
+ toolCalls.push({ name, input });
199
+ }
76
200
  }
77
201
  last = { content: p.content, stopReason: p.stopReason };
78
202
  }
@@ -96,7 +220,9 @@ function summarize(events, runId) {
96
220
  }
97
221
  /** 原运行(快照)的摘要,作为整轮回放的基线。 */
98
222
  export function runBaseline(s) {
99
- return summarize(s.events, s.runId);
223
+ // an rc recording is read in the current tool names, so the diff against a candidate only
224
+ // shows real differences
225
+ return summarize(s.events, s.runId, legacyScopeOf(s));
100
226
  }
101
227
  /**
102
228
  * 删掉一个评测对话(崩溃重跑前清掉上一次的残留):先删它各次运行的 checkpoint,再删对话(事件、运行随之级联删除)。
@@ -183,81 +309,21 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
183
309
  };
184
310
  const conversationId = randomUUID();
185
311
  const runId = randomUUID();
186
- await db.transaction().execute(async (t) => {
187
- // 运行行加共享锁并复核仍在执行:与取消 / 删除评测集(UPDATE 持行锁)互斥,删除之后不会再长出评测对话
188
- const live = await t
189
- .selectFrom("eval_runs")
190
- .select("id")
191
- .where("id", "=", evalRunId)
192
- .where("status", "in", [...ACTIVE_EVAL_STATUSES])
193
- .forShare()
194
- .executeTakeFirst();
195
- if (!live)
196
- throw new ReplayClaimLost();
197
- await t
198
- .insertInto("conversations")
199
- .values({
200
- id: conversationId,
201
- org_id: s.orgId,
202
- agent_id: s.agentId,
203
- account_id: accountId,
204
- last_seq: R - 1,
205
- consumed_seq: consumed,
206
- kind: "eval",
207
- eval_run_id: evalRunId,
208
- })
209
- .execute();
210
- for (let i = 0; i < seeds.length; i += SEED_BATCH) {
211
- await t
212
- .insertInto("conversation_events")
213
- .values(seeds.slice(i, i + SEED_BATCH).map((e) => ({
214
- conversation_id: conversationId,
215
- seq: e.seq,
216
- type: e.type,
217
- run_id: e.runId,
218
- idem_key: null,
219
- payload: JSON.stringify(e.payload),
220
- created_at: new Date(e.createdAt),
221
- })))
222
- .execute();
223
- }
224
- await t
225
- .insertInto("runs")
226
- .values({
227
- id: runId,
228
- conversation_id: conversationId,
229
- status: "running",
230
- agent_version: candidate.agentVersion,
231
- trigger_account_id: accountId,
232
- trigger_seq: trigger,
233
- started_at: new Date(),
234
- })
235
- .execute();
236
- await eventLog.append(conversationId, [
237
- {
238
- type: "run_started",
239
- runId,
240
- idemKey: `run_started:${runId}`,
241
- payload: {
242
- agentVersion: candidate.agentVersion,
243
- model: agent.model,
244
- triggerAccountId: accountId,
245
- },
246
- },
247
- ...(catalog
248
- ? [
249
- {
250
- type: "skills_catalog",
251
- runId,
252
- idemKey: skillsCatalogIdemKey(runId),
253
- payload: catalog.payload,
254
- },
255
- ]
256
- : []),
257
- ], t);
258
- if (d.onSeeded && !(await d.onSeeded(t, conversationId)))
259
- throw new ReplayClaimLost();
260
- });
312
+ await d.seeder.seed({
313
+ evalRunId,
314
+ orgId: s.orgId,
315
+ agentId: s.agentId,
316
+ accountId,
317
+ conversationId,
318
+ runId,
319
+ runStartedSeq: R,
320
+ consumed,
321
+ seeds,
322
+ trigger,
323
+ agentVersion: candidate.agentVersion,
324
+ model: agent.model,
325
+ catalog,
326
+ }, d.onSeeded);
261
327
  await d.hooks?.afterRunSeeded?.(evalRunId, conversationId);
262
328
  // 停止:取消 / 越限 / 熔断 / 失去认领 / 截止时间 → 中止 loop(进行中的请求立即停下,loop 以 aborted 返回)
263
329
  const stopper = new AbortController();
@@ -412,7 +478,7 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
412
478
  }
413
479
  return out;
414
480
  };
415
- const runtime = d.config().runtime;
481
+ const runtime = d.config.get().runtime;
416
482
  const deadline = Date.now() + runtime.maxRunSeconds * 1000;
417
483
  let deadlineHit = false;
418
484
  const timer = setTimeout(() => {
@@ -447,13 +513,15 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
447
513
  }
448
514
  catch (e) {
449
515
  const err = e instanceof RunError ? e : new RunError("run.internal", "The run failed unexpectedly");
450
- await finishRun(db, eventLog, {
516
+ await d.runFinish
517
+ .finish({
451
518
  conversationId,
452
519
  runId,
453
520
  status: "failed",
454
521
  consumed: null,
455
522
  event: { type: "run_failed", payload: { error: { code: err.code, message: err.message } } },
456
- }).catch((x) => d.log.warn("cannot finish eval replay run", { runId, err: x }));
523
+ })
524
+ .catch((x) => d.log.warn("cannot finish eval replay run", { runId, err: x }));
457
525
  await Promise.allSettled([...charges]);
458
526
  throw crash ?? e;
459
527
  }
@@ -472,7 +540,7 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
472
540
  if (outcome.kind === "aborted" && stopped === undefined && signal.aborted)
473
541
  stopped = "shutdown";
474
542
  const finalConsumed = Math.max(0, ...fed.values(), trigger);
475
- await finishRun(db, eventLog, {
543
+ await d.runFinish.finish({
476
544
  conversationId,
477
545
  runId,
478
546
  status: outcome.kind === "aborted" ? "aborted" : "completed",
@@ -498,5 +566,11 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
498
566
  });
499
567
  await Promise.allSettled([...charges]);
500
568
  const summary = summarize(await readAll(eventLog, conversationId), runId);
501
- return { conversationId, outcome: outcome.kind, ...summary, unmatched: pipeline.unmatched() };
569
+ return {
570
+ conversationId,
571
+ outcome: outcome.kind,
572
+ ...summary,
573
+ unmatched: pipeline.unmatched(),
574
+ ...(pipeline.legacyMatches() > 0 && { legacyKeyMatch: true }),
575
+ };
502
576
  }
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { type Principal } from "../identity/principal.js";
3
3
  import { type OrgContext } from "../orgs/org.guard.js";
4
- import type { EvalEstimate, EvalResultLight, EvalResultView, EvalRunsService, EvalRunView, EvalTokenCaps } from "./runs.service.js";
4
+ import { type EvalEstimate, type EvalResultLight, type EvalResultView, EvalRunsService, type EvalRunView, type EvalTokenCaps } from "./runs.service.js";
5
5
  /** `tokenCap` 只校验类型,范围由服务判定(`eval.token_cap_invalid`)。 */
6
6
  declare const EstimateBody: z.ZodObject<{
7
7
  mode: z.ZodEnum<{
@@ -7,13 +7,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __param = (this && this.__param) || function (paramIndex, decorator) {
8
8
  return function (target, key) { decorator(target, key, paramIndex); }
9
9
  };
10
- import { Body, Controller, Get, HttpCode, Inject, Param, Post, Put, Query } from "@nestjs/common";
10
+ import { Controller, Get, HttpCode, Inject, Param, Post, Put } from "@nestjs/common";
11
11
  import { z } from "zod";
12
12
  import { ModelRef } from "../agents/definition.js";
13
- import { EVAL_RUNS } from "../http/tokens.js";
14
- import { ZodPipe } from "../http/zod.pipe.js";
15
13
  import { CurrentPrincipal, patTokenId, requireUser, } from "../identity/principal.js";
14
+ import { createZodDto } from "../infra/validation/create-zod-dto.js";
15
+ import { ZBody, ZQuery } from "../infra/validation/zod-params.js";
16
16
  import { CurrentOrg, OrgAction } from "../orgs/org.guard.js";
17
+ import { EvalRunsService, } from "./runs.service.js";
17
18
  const Candidate = z
18
19
  .object({
19
20
  agentVersion: z.number().int().min(1).optional(),
@@ -63,6 +64,14 @@ function candidateOf(c) {
63
64
  ...(c.instructions !== undefined && { instructions: c.instructions }),
64
65
  };
65
66
  }
67
+ class EstimateBodyDto extends createZodDto(EstimateBody, "EvalRunEstimateBody") {
68
+ }
69
+ class StartBodyDto extends createZodDto(StartBody, "EvalRunStartBody") {
70
+ }
71
+ class ResultsQueryDto extends createZodDto(ResultsQuery, "EvalRunResultsQuery") {
72
+ }
73
+ class LabelBodyDto extends createZodDto(LabelBody, "EvalRunLabelBody") {
74
+ }
66
75
  /**
67
76
  * 评测运行(`/api/v1/orgs/:orgId/eval-sets/:setId/runs`、`/api/v1/orgs/:orgId/eval-runs/:runId[/results[/:resultId]]`)与
68
77
  * 结果的人工标注(`/api/v1/orgs/:orgId/eval-results/:resultId/label`):
@@ -136,7 +145,7 @@ __decorate([
136
145
  __param(0, CurrentPrincipal()),
137
146
  __param(1, CurrentOrg()),
138
147
  __param(2, Param("setId")),
139
- __param(3, Body(new ZodPipe(EstimateBody)))
148
+ __param(3, ZBody(EstimateBodyDto))
140
149
  ], EvalRunsController.prototype, "estimate", null);
141
150
  __decorate([
142
151
  Post("eval-sets/:setId/runs"),
@@ -144,7 +153,7 @@ __decorate([
144
153
  __param(0, CurrentPrincipal()),
145
154
  __param(1, CurrentOrg()),
146
155
  __param(2, Param("setId")),
147
- __param(3, Body(new ZodPipe(StartBody)))
156
+ __param(3, ZBody(StartBodyDto))
148
157
  ], EvalRunsController.prototype, "start", null);
149
158
  __decorate([
150
159
  Get("eval-sets/:setId/runs"),
@@ -166,7 +175,7 @@ __decorate([
166
175
  __param(0, CurrentPrincipal()),
167
176
  __param(1, CurrentOrg()),
168
177
  __param(2, Param("runId")),
169
- __param(3, Query(new ZodPipe(ResultsQuery)))
178
+ __param(3, ZQuery(ResultsQueryDto))
170
179
  ], EvalRunsController.prototype, "results", null);
171
180
  __decorate([
172
181
  Get("eval-runs/:runId/results/:resultId"),
@@ -190,10 +199,10 @@ __decorate([
190
199
  __param(0, CurrentPrincipal()),
191
200
  __param(1, CurrentOrg()),
192
201
  __param(2, Param("resultId")),
193
- __param(3, Body(new ZodPipe(LabelBody)))
202
+ __param(3, ZBody(LabelBodyDto))
194
203
  ], EvalRunsController.prototype, "label", null);
195
204
  EvalRunsController = __decorate([
196
205
  Controller("api/v1/orgs/:orgId"),
197
- __param(0, Inject(EVAL_RUNS))
206
+ __param(0, Inject(EvalRunsService))
198
207
  ], EvalRunsController);
199
208
  export { EvalRunsController };
@@ -1,26 +1,21 @@
1
- import type { Logger } from "@capybara-hq/plugin-sdk";
2
- import type { Redis } from "ioredis";
3
1
  import { type AgentDefinition } from "../agents/definition.js";
4
- import type { KernelConfig } from "../config/schema.js";
5
2
  import { type Selection } from "../conversations/selection.js";
6
- import type { EvalResultStatus, EvalRunStatus, JudgeStatus, KernelDb } from "../db/kernel-schema.js";
7
- import type { SettingsService } from "../identity/settings.js";
8
- import { type PricesService } from "../models/prices.js";
9
- import type { ModelPurposesService } from "../models/purposes.js";
10
- import { type ProviderRegistry } from "../runtime/providers.js";
3
+ import type { EvalResultStatus, EvalRunStatus, JudgeStatus, KernelSchemaDb } from "../db/kernel-schema.js";
4
+ import { SettingsService } from "../identity/settings.js";
5
+ import { KernelConfigService } from "../infra/config/kernel-config.service.js";
6
+ import { KernelDb } from "../infra/database/kernel-db.js";
7
+ import { TransactionHost } from "../infra/database/transaction-host.js";
8
+ import { LockService } from "../infra/lock/lock.service.js";
9
+ import { PricesService } from "../models/prices.js";
10
+ import { ModelPurposesService } from "../models/purposes.js";
11
+ import { OrgLock } from "../orgs/org-lock.js";
12
+ import { ProviderRegistry } from "../runtime/providers.js";
13
+ import { EvalBudget } from "./budget.js";
14
+ import { EvalJobs } from "./jobs.js";
11
15
  import type { CaseSnapshot } from "./snapshot.js";
12
16
  import { type EvalCandidate } from "./step-replay.js";
17
+ export { EVAL_QUEUE_NAME, type EvalJobData, evalJobId } from "./jobs.js";
13
18
  export type { EvalCandidate, EvalResultStatus, EvalRunStatus };
14
- /** 评测队列的 BullMQ 队列名(不含 `:`,C7)。 */
15
- export declare const EVAL_QUEUE_NAME = "cap-kernel-evals";
16
- /** 每个用例一个任务(C7;不含 `:`)。 */
17
- export declare const evalJobId: (runId: string, caseId: string) => string;
18
- /** 评测任务的数据。 */
19
- export interface EvalJobData {
20
- runId: string;
21
- caseId: string;
22
- orgId: string;
23
- }
24
19
  /** 运行前的估算(D5:运行前显示预计请求数)。 */
25
20
  export interface EvalEstimate {
26
21
  cases: number;
@@ -126,54 +121,31 @@ export interface EvalResultView {
126
121
  labeledBy: string | null;
127
122
  labeledAt: string | null;
128
123
  }
129
- /** 评测队列(生产方):懒建连接;`close()` 关闭。 */
130
- export declare class EvalQueue {
131
- private readonly redisUrl;
132
- private readonly log;
133
- private queue;
134
- private conn;
135
- private closed;
136
- constructor(redisUrl: string, log: Pick<Logger, "error">);
137
- private get;
138
- enqueue(jobs: EvalJobData[]): Promise<void>;
139
- close(): Promise<void>;
140
- }
141
124
  /**
142
125
  * 用例的原版本与定义:快照里的;快照缺(较早的快照)时查 `agent_versions`。The definition is the
143
126
  * one the run used: with the person's model / effort switch in effect at its `run_started`
144
127
  * applied (UI refresh B, `selectionAt`), which is also returned as `selection`.
145
128
  */
146
- export declare function caseBase(db: KernelDb, s: CaseSnapshot): Promise<{
129
+ export declare function caseBase(db: KernelSchemaDb, s: CaseSnapshot): Promise<{
147
130
  definition: AgentDefinition;
148
131
  agentVersion: number;
149
132
  selection: Selection;
150
133
  } | null>;
151
134
  /** 候选 agent 版本的定义(没给版本 → undefined)。 */
152
- export declare function versionDefinition(db: KernelDb, agentId: string, version: number | undefined): Promise<AgentDefinition | undefined>;
135
+ export declare function versionDefinition(db: KernelSchemaDb, agentId: string, version: number | undefined): Promise<AgentDefinition | undefined>;
153
136
  /**
154
137
  * 轻量列表的 `asOf`:本次读取时数据库的当前时间往前留的余量(毫秒)。下一次轮询以它为 `updatedSince`:
155
138
  * 写结果的事务在读取之前开始、之后才提交时,`updated_at` 早于读取时间,留出余量才不会漏掉;重复的行由调用方按 id 合并。
156
139
  */
157
140
  export declare const RESULTS_ASOF_OVERLAP_MS = 15000;
158
- export interface EvalRunsDeps {
159
- db: KernelDb;
160
- /** 查看结果审计的去重(`SET NX EX`);不给时每次查看都写审计。 */
161
- redis?: Pick<Redis, "set">;
162
- config: () => KernelConfig;
163
- registry: Pick<ProviderRegistry, "resolve">;
164
- prices: Pick<PricesService, "table">;
165
- settings: Pick<SettingsService, "get">;
166
- queue: Pick<EvalQueue, "enqueue">;
167
- /** 模型用途映射:开评委时 `eval` 用途必须已映射(否则 `model.unconfigured`);估算按它给评委定价。 */
168
- purposes: Pick<ModelPurposesService, "resolve">;
169
- }
170
141
  /**
171
142
  * 评测运行(D5、C7):估算、启动(校验候选、预建结果、每个用例入队一个任务)、查看、结果分页、取消。
172
143
  * 执行在 `evals/worker.ts`。写操作在事务里锁组织行并复核角色(`evals.manage`)。
173
144
  */
174
145
  export declare class EvalRunsService {
146
+ readonly txHost: TransactionHost;
175
147
  private readonly d;
176
- constructor(d: EvalRunsDeps);
148
+ constructor(kdb: KernelDb, orgLock: OrgLock, locks: LockService, config: KernelConfigService, registry: ProviderRegistry, prices: PricesService, settings: SettingsService, queue: EvalJobs, budget: EvalBudget, purposes: ModelPurposesService, txHost: TransactionHost);
177
149
  private liveSet;
178
150
  /**
179
151
  * 解析模型;不存在 / 不可用 → `eval.candidate_invalid`(供应商列表暂时失败照常抛出)。
@@ -223,6 +195,10 @@ export declare class EvalRunsService {
223
195
  judge: boolean;
224
196
  tokenCap?: number;
225
197
  }, actorTokenId?: string): Promise<EvalRunView>;
198
+ /** The run row and its pending results, in a transaction of their own (enqueued after the commit). */
199
+ private startIn;
200
+ /** The enqueue failed: the run is `failed`, its pending results `skipped`. */
201
+ private failStartIn;
226
202
  /** 各运行的汇总(只算已结束的)。 */
227
203
  private summaries;
228
204
  private static toView;
@@ -272,4 +248,6 @@ export declare class EvalRunsService {
272
248
  label: "pass" | "fail" | null;
273
249
  note?: string;
274
250
  }, actorTokenId?: string): Promise<EvalResultView>;
251
+ private cancelIn;
252
+ private labelIn;
275
253
  }