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

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 (616) 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 +179 -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 +261 -329
  21. package/dist/agents/definition.d.ts +8 -0
  22. package/dist/agents/definition.js +8 -0
  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 +20 -4
  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 +323 -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/cli.d.ts +3 -2
  42. package/dist/catalog/cli.js +13 -31
  43. package/dist/catalog/job-ids.d.ts +15 -0
  44. package/dist/catalog/job-ids.js +15 -0
  45. package/dist/catalog/jobs.d.ts +27 -0
  46. package/dist/catalog/jobs.js +70 -0
  47. package/dist/catalog/locks.d.ts +24 -0
  48. package/dist/catalog/locks.js +63 -0
  49. package/dist/catalog/marketplaces.controller.d.ts +4 -4
  50. package/dist/catalog/marketplaces.controller.js +22 -11
  51. package/dist/catalog/marketplaces.service.d.ts +30 -13
  52. package/dist/catalog/marketplaces.service.js +330 -256
  53. package/dist/catalog/org-catalog.controller.d.ts +4 -3
  54. package/dist/catalog/org-catalog.controller.js +29 -14
  55. package/dist/catalog/org-catalog.service.d.ts +32 -198
  56. package/dist/catalog/org-catalog.service.js +159 -400
  57. package/dist/catalog/plugin-import.d.ts +73 -34
  58. package/dist/catalog/plugin-import.js +356 -217
  59. package/dist/catalog/plugin-install.d.ts +83 -41
  60. package/dist/catalog/plugin-install.js +421 -269
  61. package/dist/catalog/plugin-upgrade.d.ts +59 -4
  62. package/dist/catalog/plugin-upgrade.js +407 -282
  63. package/dist/catalog/requests.service.d.ts +27 -15
  64. package/dist/catalog/requests.service.js +201 -145
  65. package/dist/catalog/upgrade-targets.d.ts +4 -7
  66. package/dist/channels/actions.d.ts +6 -4
  67. package/dist/channels/actions.js +1 -1
  68. package/dist/channels/cards.d.ts +2 -2
  69. package/dist/channels/channels.module.d.ts +40 -0
  70. package/dist/channels/channels.module.js +128 -0
  71. package/dist/channels/connections.controller.d.ts +1 -1
  72. package/dist/channels/connections.controller.js +11 -6
  73. package/dist/channels/connections.service.d.ts +43 -21
  74. package/dist/channels/connections.service.js +236 -131
  75. package/dist/channels/inbound.d.ts +34 -38
  76. package/dist/channels/inbound.js +107 -41
  77. package/dist/channels/job-ids.d.ts +10 -0
  78. package/dist/channels/job-ids.js +10 -0
  79. package/dist/channels/jobs.d.ts +85 -0
  80. package/dist/channels/jobs.js +157 -0
  81. package/dist/channels/outbound.d.ts +60 -82
  82. package/dist/channels/outbound.js +165 -194
  83. package/dist/channels/supervisor.d.ts +88 -46
  84. package/dist/channels/supervisor.js +230 -132
  85. package/dist/channels/threads.d.ts +29 -8
  86. package/dist/channels/threads.js +71 -13
  87. package/dist/channels/webhook.d.ts +20 -14
  88. package/dist/channels/webhook.js +51 -20
  89. package/dist/config/load.d.ts +3 -2
  90. package/dist/config/load.js +3 -2
  91. package/dist/config/nacos-source.js +11 -2
  92. package/dist/config/schema.d.ts +1 -0
  93. package/dist/config/schema.js +10 -4
  94. package/dist/conversations/access.d.ts +29 -0
  95. package/dist/conversations/access.js +86 -0
  96. package/dist/conversations/artifacts.d.ts +10 -10
  97. package/dist/conversations/artifacts.js +35 -9
  98. package/dist/conversations/attachments.controller.d.ts +1 -1
  99. package/dist/conversations/attachments.controller.js +8 -6
  100. package/dist/conversations/attachments.module.d.ts +7 -0
  101. package/dist/conversations/attachments.module.js +25 -0
  102. package/dist/conversations/attachments.service.d.ts +30 -22
  103. package/dist/conversations/attachments.service.js +119 -46
  104. package/dist/conversations/conversations.controller.d.ts +8 -7
  105. package/dist/conversations/conversations.controller.js +59 -29
  106. package/dist/conversations/conversations.module.d.ts +8 -0
  107. package/dist/conversations/conversations.module.js +69 -0
  108. package/dist/conversations/conversations.service.d.ts +40 -38
  109. package/dist/conversations/conversations.service.js +130 -140
  110. package/dist/conversations/event-log.d.ts +28 -18
  111. package/dist/conversations/event-log.js +74 -27
  112. package/dist/conversations/files.d.ts +10 -10
  113. package/dist/conversations/files.js +37 -11
  114. package/dist/conversations/idem-keys.d.ts +5 -0
  115. package/dist/conversations/idem-keys.js +5 -0
  116. package/dist/conversations/job-ids.d.ts +6 -0
  117. package/dist/conversations/job-ids.js +6 -0
  118. package/dist/conversations/outputs-read.d.ts +11 -11
  119. package/dist/conversations/outputs-read.js +31 -7
  120. package/dist/conversations/queue.d.ts +48 -56
  121. package/dist/conversations/queue.js +13 -289
  122. package/dist/conversations/queue.service.d.ts +60 -0
  123. package/dist/conversations/queue.service.js +343 -0
  124. package/dist/conversations/sandbox-status.d.ts +13 -10
  125. package/dist/conversations/sandbox-status.js +36 -8
  126. package/dist/conversations/titles.d.ts +71 -24
  127. package/dist/conversations/titles.js +159 -63
  128. package/dist/ctx/bus.js +9 -3
  129. package/dist/ctx/create-ctx.d.ts +6 -0
  130. package/dist/ctx/create-ctx.js +7 -9
  131. package/dist/ctx/lock.d.ts +7 -3
  132. package/dist/ctx/lock.js +9 -20
  133. package/dist/ctx/secrets.d.ts +10 -2
  134. package/dist/ctx/secrets.js +7 -3
  135. package/dist/db/kernel-schema.d.ts +2 -2
  136. package/dist/db/pool.d.ts +5 -0
  137. package/dist/db/pool.js +1 -0
  138. package/dist/errors.d.ts +1 -0
  139. package/dist/errors.js +1 -0
  140. package/dist/evals/budget.d.ts +42 -21
  141. package/dist/evals/budget.js +114 -62
  142. package/dist/evals/evals.module.d.ts +31 -0
  143. package/dist/evals/evals.module.js +114 -0
  144. package/dist/evals/jobs.d.ts +20 -0
  145. package/dist/evals/jobs.js +45 -0
  146. package/dist/evals/run-replay.d.ts +56 -8
  147. package/dist/evals/run-replay.js +140 -80
  148. package/dist/evals/runs.controller.d.ts +1 -1
  149. package/dist/evals/runs.controller.js +17 -8
  150. package/dist/evals/runs.service.d.ts +23 -45
  151. package/dist/evals/runs.service.js +245 -234
  152. package/dist/evals/sets.controller.d.ts +1 -1
  153. package/dist/evals/sets.controller.js +17 -8
  154. package/dist/evals/sets.service.d.ts +22 -6
  155. package/dist/evals/sets.service.js +248 -194
  156. package/dist/evals/snapshot.d.ts +2 -2
  157. package/dist/evals/step-replay.d.ts +2 -2
  158. package/dist/evals/step-replay.js +1 -1
  159. package/dist/evals/trajectory.controller.d.ts +1 -1
  160. package/dist/evals/trajectory.controller.js +11 -7
  161. package/dist/evals/trajectory.service.d.ts +5 -4
  162. package/dist/evals/trajectory.service.js +30 -7
  163. package/dist/evals/worker.d.ts +44 -27
  164. package/dist/evals/worker.js +220 -121
  165. package/dist/extensions/admin-ops.d.ts +61 -33
  166. package/dist/extensions/admin-ops.js +248 -154
  167. package/dist/extensions/admin-view.d.ts +38 -27
  168. package/dist/extensions/admin-view.js +126 -55
  169. package/dist/extensions/approvals.d.ts +12 -8
  170. package/dist/extensions/approvals.js +73 -46
  171. package/dist/extensions/blobs.d.ts +27 -10
  172. package/dist/extensions/blobs.js +111 -45
  173. package/dist/extensions/bootstrap.d.ts +58 -31
  174. package/dist/extensions/bootstrap.js +175 -121
  175. package/dist/extensions/cli.d.ts +20 -10
  176. package/dist/extensions/cli.js +41 -96
  177. package/dist/extensions/config-issues.d.ts +7 -0
  178. package/dist/extensions/config-issues.js +31 -0
  179. package/dist/extensions/deployment-config-store.d.ts +49 -0
  180. package/dist/extensions/deployment-config-store.js +133 -0
  181. package/dist/extensions/deployment-config.d.ts +58 -67
  182. package/dist/extensions/deployment-config.js +202 -230
  183. package/dist/extensions/enabled.d.ts +5 -5
  184. package/dist/extensions/extensions.module.d.ts +8 -0
  185. package/dist/extensions/extensions.module.js +77 -0
  186. package/dist/extensions/hooks.d.ts +3 -2
  187. package/dist/extensions/hooks.js +1 -1
  188. package/dist/extensions/host.d.ts +72 -68
  189. package/dist/extensions/host.js +191 -152
  190. package/dist/extensions/installs.d.ts +49 -16
  191. package/dist/extensions/installs.js +128 -32
  192. package/dist/extensions/job-ids.d.ts +6 -0
  193. package/dist/extensions/job-ids.js +6 -0
  194. package/dist/extensions/lifecycle-topics.d.ts +18 -0
  195. package/dist/extensions/lifecycle-topics.js +18 -0
  196. package/dist/extensions/lifecycle.d.ts +35 -47
  197. package/dist/extensions/lifecycle.js +103 -39
  198. package/dist/extensions/locks.d.ts +33 -0
  199. package/dist/extensions/locks.js +86 -0
  200. package/dist/extensions/migrate-lock.d.ts +3 -4
  201. package/dist/extensions/org-config.controller.d.ts +1 -1
  202. package/dist/extensions/org-config.controller.js +8 -5
  203. package/dist/extensions/org-config.d.ts +48 -46
  204. package/dist/extensions/org-config.js +284 -226
  205. package/dist/extensions/registry.d.ts +50 -2
  206. package/dist/extensions/registry.js +89 -4
  207. package/dist/extensions/sources.d.ts +12 -8
  208. package/dist/extensions/sources.js +34 -13
  209. package/dist/files/files.module.d.ts +3 -0
  210. package/dist/files/files.module.js +22 -0
  211. package/dist/files/previewers.controller.d.ts +7 -2
  212. package/dist/files/previewers.controller.js +17 -9
  213. package/dist/files/previewers.d.ts +13 -18
  214. package/dist/files/previewers.js +83 -36
  215. package/dist/http/adapter.d.ts +3 -0
  216. package/dist/http/adapter.js +25 -0
  217. package/dist/http/api.module.d.ts +3 -110
  218. package/dist/http/api.module.js +47 -355
  219. package/dist/http/app.d.ts +11 -15
  220. package/dist/http/app.js +17 -62
  221. package/dist/http/error-filter.module.d.ts +5 -0
  222. package/dist/http/error-filter.module.js +18 -0
  223. package/dist/http/error.filter.js +2 -2
  224. package/dist/identity/accounts.d.ts +82 -29
  225. package/dist/identity/accounts.js +294 -175
  226. package/dist/identity/api-tokens.d.ts +11 -7
  227. package/dist/identity/api-tokens.js +71 -44
  228. package/dist/identity/audit.d.ts +7 -4
  229. package/dist/identity/audit.js +5 -1
  230. package/dist/identity/auth.controller.d.ts +11 -10
  231. package/dist/identity/auth.controller.js +31 -25
  232. package/dist/identity/auth.guard.d.ts +3 -3
  233. package/dist/identity/auth.guard.js +6 -4
  234. package/dist/identity/binding.d.ts +9 -11
  235. package/dist/identity/binding.js +41 -13
  236. package/dist/identity/enterprise-admin.d.ts +18 -12
  237. package/dist/identity/enterprise-admin.js +67 -13
  238. package/dist/identity/external-identity-lock.d.ts +17 -0
  239. package/dist/identity/external-identity-lock.js +39 -0
  240. package/dist/identity/external.d.ts +19 -15
  241. package/dist/identity/external.js +163 -125
  242. package/dist/identity/identity.module.d.ts +6 -0
  243. package/dist/identity/identity.module.js +56 -0
  244. package/dist/identity/me.controller.d.ts +16 -15
  245. package/dist/identity/me.controller.js +37 -31
  246. package/dist/identity/sessions.d.ts +12 -10
  247. package/dist/identity/sessions.js +74 -42
  248. package/dist/identity/settings.d.ts +20 -14
  249. package/dist/identity/settings.js +85 -57
  250. package/dist/identity/sso.controller.d.ts +7 -7
  251. package/dist/identity/sso.controller.js +13 -9
  252. package/dist/identity/sso.d.ts +9 -12
  253. package/dist/identity/sso.js +54 -24
  254. package/dist/inbox/inbox.module.d.ts +3 -0
  255. package/dist/inbox/inbox.module.js +22 -0
  256. package/dist/inbox/inbox.service.d.ts +7 -9
  257. package/dist/inbox/inbox.service.js +32 -11
  258. package/dist/index.d.ts +16 -11
  259. package/dist/index.js +9 -6
  260. package/dist/infra/cache/cache.module.d.ts +3 -0
  261. package/dist/infra/cache/cache.module.js +16 -0
  262. package/dist/infra/cache/cache.service.d.ts +21 -0
  263. package/dist/infra/cache/cache.service.js +80 -0
  264. package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
  265. package/dist/infra/cache/cacheable.decorator.js +83 -0
  266. package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
  267. package/dist/infra/cli/kernel-cli.module.js +165 -0
  268. package/dist/infra/close-within.d.ts +15 -0
  269. package/dist/infra/close-within.js +36 -0
  270. package/dist/infra/config/config.module.d.ts +13 -0
  271. package/dist/infra/config/config.module.js +39 -0
  272. package/dist/infra/config/kernel-config.service.d.ts +25 -0
  273. package/dist/infra/config/kernel-config.service.js +126 -0
  274. package/dist/infra/database/after-commit.d.ts +6 -0
  275. package/dist/infra/database/after-commit.js +9 -0
  276. package/dist/infra/database/database.module.d.ts +25 -0
  277. package/dist/infra/database/database.module.js +90 -0
  278. package/dist/infra/database/kernel-db.d.ts +22 -0
  279. package/dist/infra/database/kernel-db.js +65 -0
  280. package/dist/infra/database/transaction-host.d.ts +50 -0
  281. package/dist/infra/database/transaction-host.js +125 -0
  282. package/dist/infra/database/transactional.decorator.d.ts +15 -0
  283. package/dist/infra/database/transactional.decorator.js +27 -0
  284. package/dist/infra/database/xact-lock.d.ts +17 -0
  285. package/dist/infra/database/xact-lock.js +43 -0
  286. package/dist/infra/events/kernel-events.d.ts +96 -0
  287. package/dist/infra/events/kernel-events.js +65 -0
  288. package/dist/infra/health/health.controller.d.ts +26 -0
  289. package/dist/infra/health/health.controller.js +104 -0
  290. package/dist/infra/health/health.module.d.ts +9 -0
  291. package/dist/infra/health/health.module.js +24 -0
  292. package/dist/infra/health/health.options.d.ts +10 -0
  293. package/dist/infra/health/health.options.js +15 -0
  294. package/dist/infra/health/shutdown-state.d.ts +6 -0
  295. package/dist/infra/health/shutdown-state.js +2 -0
  296. package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
  297. package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
  298. package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
  299. package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
  300. package/dist/infra/lifecycle/process-guards.d.ts +52 -0
  301. package/dist/infra/lifecycle/process-guards.js +86 -0
  302. package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
  303. package/dist/infra/lifecycle/shutdown-signals.js +48 -0
  304. package/dist/infra/lock/key-template.d.ts +13 -0
  305. package/dist/infra/lock/key-template.js +46 -0
  306. package/dist/infra/lock/lock.module.d.ts +3 -0
  307. package/dist/infra/lock/lock.module.js +16 -0
  308. package/dist/infra/lock/lock.service.d.ts +120 -0
  309. package/dist/infra/lock/lock.service.js +343 -0
  310. package/dist/infra/lock/shared-lease.d.ts +44 -0
  311. package/dist/infra/lock/shared-lease.js +121 -0
  312. package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
  313. package/dist/infra/lock/with-lock.decorator.js +49 -0
  314. package/dist/infra/logging/logging.module.d.ts +16 -0
  315. package/dist/infra/logging/logging.module.js +34 -0
  316. package/dist/infra/queue/configured-processor.d.ts +18 -0
  317. package/dist/infra/queue/configured-processor.js +23 -0
  318. package/dist/infra/queue/job-failure.d.ts +18 -0
  319. package/dist/infra/queue/job-failure.js +26 -0
  320. package/dist/infra/queue/queue-shutdown.d.ts +27 -0
  321. package/dist/infra/queue/queue-shutdown.js +81 -0
  322. package/dist/infra/queue/queue.module.d.ts +16 -0
  323. package/dist/infra/queue/queue.module.js +61 -0
  324. package/dist/infra/queue/redis-connection.d.ts +7 -0
  325. package/dist/infra/queue/redis-connection.js +18 -0
  326. package/dist/infra/queue/retired-schedulers.d.ts +7 -0
  327. package/dist/infra/queue/retired-schedulers.js +9 -0
  328. package/dist/infra/queue/run-job.d.ts +16 -0
  329. package/dist/infra/queue/run-job.js +19 -0
  330. package/dist/infra/redis/redis.module.d.ts +24 -0
  331. package/dist/infra/redis/redis.module.js +87 -0
  332. package/dist/infra/schedule/cron-tick.d.ts +12 -0
  333. package/dist/infra/schedule/cron-tick.js +25 -0
  334. package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
  335. package/dist/infra/schedule/locked-cron.decorator.js +53 -0
  336. package/dist/infra/schedule/locked-interval.d.ts +69 -0
  337. package/dist/infra/schedule/locked-interval.js +190 -0
  338. package/dist/infra/schedule/locked-tick.d.ts +90 -0
  339. package/dist/infra/schedule/locked-tick.js +137 -0
  340. package/dist/infra/schedule/schedule.module.d.ts +8 -0
  341. package/dist/infra/schedule/schedule.module.js +27 -0
  342. package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
  343. package/dist/infra/schedule/scheduled-runs.js +163 -0
  344. package/dist/infra/swagger/swagger.d.ts +16 -0
  345. package/dist/infra/swagger/swagger.js +31 -0
  346. package/dist/infra/throttler/credential-throttler.d.ts +35 -0
  347. package/dist/infra/throttler/credential-throttler.js +77 -0
  348. package/dist/infra/throttler/named-throttlers.d.ts +31 -0
  349. package/dist/infra/throttler/named-throttlers.js +119 -0
  350. package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
  351. package/dist/infra/throttler/redis-throttler-storage.js +130 -0
  352. package/dist/infra/throttler/throttler.guard.d.ts +23 -0
  353. package/dist/infra/throttler/throttler.guard.js +68 -0
  354. package/dist/infra/throttler/throttler.module.d.ts +15 -0
  355. package/dist/infra/throttler/throttler.module.js +53 -0
  356. package/dist/infra/tokens.d.ts +15 -0
  357. package/dist/infra/tokens.js +15 -0
  358. package/dist/infra/validation/create-zod-dto.d.ts +23 -0
  359. package/dist/infra/validation/create-zod-dto.js +35 -0
  360. package/dist/infra/validation/parse-with-zod.d.ts +7 -0
  361. package/dist/infra/validation/parse-with-zod.js +12 -0
  362. package/dist/infra/validation/validation.module.d.ts +3 -0
  363. package/dist/infra/validation/validation.module.js +16 -0
  364. package/dist/infra/validation/zod-params.d.ts +7 -0
  365. package/dist/infra/validation/zod-params.js +42 -0
  366. package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
  367. package/dist/infra/validation/zod-validation.pipe.js +31 -0
  368. package/dist/kernel.d.ts +9 -244
  369. package/dist/kernel.js +8 -1305
  370. package/dist/kernel.module.d.ts +17 -0
  371. package/dist/kernel.module.js +136 -0
  372. package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
  373. package/dist/lifecycle/kernel-lifecycle.js +451 -0
  374. package/dist/lifecycle/tokens.d.ts +3 -0
  375. package/dist/lifecycle/tokens.js +3 -0
  376. package/dist/log-context.d.ts +2 -0
  377. package/dist/log-context.js +4 -0
  378. package/dist/models/models.module.d.ts +3 -0
  379. package/dist/models/models.module.js +24 -0
  380. package/dist/models/prices.d.ts +8 -2
  381. package/dist/models/prices.js +65 -37
  382. package/dist/models/purposes.controller.d.ts +1 -1
  383. package/dist/models/purposes.controller.js +5 -6
  384. package/dist/models/purposes.d.ts +35 -13
  385. package/dist/models/purposes.js +101 -51
  386. package/dist/orgs/directory-sync.controller.d.ts +1 -1
  387. package/dist/orgs/directory-sync.controller.js +2 -2
  388. package/dist/orgs/directory-sync.d.ts +61 -31
  389. package/dist/orgs/directory-sync.js +212 -125
  390. package/dist/orgs/invitations.controller.d.ts +8 -8
  391. package/dist/orgs/invitations.controller.js +27 -26
  392. package/dist/orgs/invitations.service.d.ts +12 -9
  393. package/dist/orgs/invitations.service.js +130 -92
  394. package/dist/orgs/job-ids.d.ts +8 -0
  395. package/dist/orgs/job-ids.js +8 -0
  396. package/dist/orgs/members.service.d.ts +19 -12
  397. package/dist/orgs/members.service.js +161 -117
  398. package/dist/orgs/offboarding.d.ts +54 -57
  399. package/dist/orgs/offboarding.js +161 -71
  400. package/dist/orgs/org-lock.d.ts +28 -19
  401. package/dist/orgs/org-lock.js +81 -35
  402. package/dist/orgs/org.guard.d.ts +1 -1
  403. package/dist/orgs/org.guard.js +2 -2
  404. package/dist/orgs/orgs.controller.d.ts +13 -13
  405. package/dist/orgs/orgs.controller.js +29 -17
  406. package/dist/orgs/orgs.module.d.ts +6 -0
  407. package/dist/orgs/orgs.module.js +68 -0
  408. package/dist/orgs/orgs.service.d.ts +30 -19
  409. package/dist/orgs/orgs.service.js +139 -86
  410. package/dist/orgs/settings.controller.d.ts +1 -1
  411. package/dist/orgs/settings.controller.js +8 -6
  412. package/dist/orgs/settings.service.d.ts +14 -8
  413. package/dist/orgs/settings.service.js +75 -46
  414. package/dist/overrides.d.ts +56 -0
  415. package/dist/overrides.js +30 -0
  416. package/dist/roles/gateway-role.d.ts +43 -0
  417. package/dist/roles/gateway-role.js +98 -0
  418. package/dist/roles/gateway.module.d.ts +8 -0
  419. package/dist/roles/gateway.module.js +28 -0
  420. package/dist/roles/worker-role.d.ts +63 -0
  421. package/dist/roles/worker-role.js +144 -0
  422. package/dist/roles/worker.module.d.ts +14 -0
  423. package/dist/roles/worker.module.js +90 -0
  424. package/dist/runtime/abort.js +19 -2
  425. package/dist/runtime/checkpointer.d.ts +8 -3
  426. package/dist/runtime/checkpointer.js +87 -55
  427. package/dist/runtime/conversation-lock.d.ts +20 -11
  428. package/dist/runtime/conversation-lock.js +62 -72
  429. package/dist/runtime/hook-calls.d.ts +3 -3
  430. package/dist/runtime/hook-calls.js +1 -6
  431. package/dist/runtime/job-ids.d.ts +10 -0
  432. package/dist/runtime/job-ids.js +10 -0
  433. package/dist/runtime/langgraph-loop.js +1 -1
  434. package/dist/runtime/loop.d.ts +7 -0
  435. package/dist/runtime/loop.js +14 -0
  436. package/dist/runtime/maintenance-queue.d.ts +10 -0
  437. package/dist/runtime/maintenance-queue.js +10 -0
  438. package/dist/runtime/maintenance.d.ts +45 -74
  439. package/dist/runtime/maintenance.js +139 -137
  440. package/dist/runtime/model-call.d.ts +7 -4
  441. package/dist/runtime/model-call.js +24 -57
  442. package/dist/runtime/providers.d.ts +17 -6
  443. package/dist/runtime/providers.js +66 -25
  444. package/dist/runtime/quota.d.ts +17 -3
  445. package/dist/runtime/quota.js +27 -2
  446. package/dist/runtime/retired-schedulers.d.ts +7 -0
  447. package/dist/runtime/retired-schedulers.js +31 -0
  448. package/dist/runtime/run-control.d.ts +33 -0
  449. package/dist/runtime/run-control.js +77 -0
  450. package/dist/runtime/run-finish.d.ts +26 -17
  451. package/dist/runtime/run-finish.js +98 -51
  452. package/dist/runtime/run-jobs.d.ts +48 -0
  453. package/dist/runtime/run-jobs.js +95 -0
  454. package/dist/runtime/run-processors.d.ts +60 -0
  455. package/dist/runtime/run-processors.js +185 -0
  456. package/dist/runtime/run-queue.d.ts +32 -57
  457. package/dist/runtime/run-queue.js +291 -295
  458. package/dist/runtime/run-steps.d.ts +39 -0
  459. package/dist/runtime/run-steps.js +96 -0
  460. package/dist/runtime/run-worker.d.ts +121 -75
  461. package/dist/runtime/run-worker.js +340 -226
  462. package/dist/runtime/runtime.module.d.ts +10 -0
  463. package/dist/runtime/runtime.module.js +112 -0
  464. package/dist/runtime/step-log.d.ts +40 -0
  465. package/dist/runtime/step-log.js +94 -0
  466. package/dist/runtime/stream.controller.d.ts +5 -8
  467. package/dist/runtime/stream.controller.js +14 -12
  468. package/dist/runtime/stream.d.ts +24 -6
  469. package/dist/runtime/stream.js +78 -7
  470. package/dist/runtime/subagents/child.d.ts +3 -44
  471. package/dist/runtime/subagents/child.js +0 -79
  472. package/dist/runtime/subagents/definition.d.ts +4 -4
  473. package/dist/runtime/subagents/definition.js +2 -2
  474. package/dist/runtime/subagents/dispatch.d.ts +87 -6
  475. package/dist/runtime/subagents/dispatch.js +135 -140
  476. package/dist/runtime/subagents/limits.d.ts +9 -4
  477. package/dist/runtime/subagents/limits.js +4 -2
  478. package/dist/runtime/subagents/org-agents.d.ts +4 -4
  479. package/dist/runtime/subagents/org-agents.js +1 -1
  480. package/dist/runtime/subagents/progress.d.ts +2 -2
  481. package/dist/runtime/subagents/roster.d.ts +3 -3
  482. package/dist/runtime/subagents/roster.js +1 -1
  483. package/dist/runtime/subagents/skill-fork.d.ts +6 -7
  484. package/dist/runtime/subagents/skill-fork.js +16 -5
  485. package/dist/runtime/subagents/subagents.service.d.ts +40 -0
  486. package/dist/runtime/subagents/subagents.service.js +101 -0
  487. package/dist/runtime/usage-report.d.ts +94 -52
  488. package/dist/runtime/usage-report.js +200 -100
  489. package/dist/runtime/waits.d.ts +125 -57
  490. package/dist/runtime/waits.js +431 -208
  491. package/dist/sandbox/job-ids.d.ts +10 -0
  492. package/dist/sandbox/job-ids.js +10 -0
  493. package/dist/sandbox/jobs.d.ts +41 -0
  494. package/dist/sandbox/jobs.js +113 -0
  495. package/dist/sandbox/leases.d.ts +39 -31
  496. package/dist/sandbox/leases.js +117 -257
  497. package/dist/sandbox/providers.d.ts +19 -0
  498. package/dist/sandbox/providers.js +38 -0
  499. package/dist/sandbox/sandbox.module.d.ts +8 -0
  500. package/dist/sandbox/sandbox.module.js +30 -0
  501. package/dist/sandbox/sandbox.service.d.ts +24 -29
  502. package/dist/sandbox/sandbox.service.js +106 -75
  503. package/dist/skills/catalog.d.ts +33 -20
  504. package/dist/skills/catalog.js +96 -53
  505. package/dist/skills/changes.controller.d.ts +4 -4
  506. package/dist/skills/changes.controller.js +15 -9
  507. package/dist/skills/changes.service.d.ts +28 -18
  508. package/dist/skills/changes.service.js +421 -364
  509. package/dist/skills/invocable.controller.d.ts +1 -1
  510. package/dist/skills/invocable.controller.js +8 -5
  511. package/dist/skills/invoke.d.ts +16 -15
  512. package/dist/skills/invoke.js +48 -17
  513. package/dist/skills/skills.controller.d.ts +1 -1
  514. package/dist/skills/skills.controller.js +11 -6
  515. package/dist/skills/skills.module.d.ts +6 -0
  516. package/dist/skills/skills.module.js +30 -0
  517. package/dist/skills/skills.service.d.ts +47 -30
  518. package/dist/skills/skills.service.js +221 -158
  519. package/dist/storage/job-ids.d.ts +6 -0
  520. package/dist/storage/job-ids.js +6 -0
  521. package/dist/storage/purge.d.ts +22 -7
  522. package/dist/storage/purge.js +55 -3
  523. package/dist/storage/storage.module.d.ts +6 -0
  524. package/dist/storage/storage.module.js +23 -0
  525. package/dist/storage/storage.service.d.ts +18 -4
  526. package/dist/storage/storage.service.js +44 -3
  527. package/dist/tools/approvals.controller.d.ts +1 -1
  528. package/dist/tools/approvals.controller.js +12 -8
  529. package/dist/tools/approvals.service.d.ts +27 -25
  530. package/dist/tools/approvals.service.js +324 -258
  531. package/dist/tools/breaker.d.ts +2 -2
  532. package/dist/tools/breaker.js +21 -3
  533. package/dist/tools/builtins/ask-user.d.ts +2 -2
  534. package/dist/tools/builtins/ask-user.js +1 -1
  535. package/dist/tools/builtins/builtin-tools.d.ts +21 -0
  536. package/dist/tools/builtins/builtin-tools.js +80 -0
  537. package/dist/tools/builtins/read-tool-output.d.ts +2 -2
  538. package/dist/tools/builtins/read-tool-output.js +1 -1
  539. package/dist/tools/builtins/sandbox/bash.js +2 -2
  540. package/dist/tools/builtins/sandbox/common.d.ts +2 -1
  541. package/dist/tools/builtins/sandbox/deliver.js +2 -2
  542. package/dist/tools/builtins/sandbox/edit.js +1 -1
  543. package/dist/tools/builtins/sandbox/glob.js +2 -2
  544. package/dist/tools/builtins/sandbox/grep.js +2 -2
  545. package/dist/tools/builtins/sandbox/read.js +1 -1
  546. package/dist/tools/builtins/sandbox/write.js +1 -1
  547. package/dist/tools/builtins/skill-load.d.ts +3 -3
  548. package/dist/tools/builtins/skill-load.js +1 -1
  549. package/dist/tools/canonical-json.d.ts +6 -0
  550. package/dist/tools/canonical-json.js +16 -0
  551. package/dist/tools/connector-content.controller.d.ts +1 -1
  552. package/dist/tools/connector-content.controller.js +11 -6
  553. package/dist/tools/connector-content.d.ts +12 -15
  554. package/dist/tools/connector-content.js +53 -18
  555. package/dist/tools/connectors.controller.d.ts +1 -1
  556. package/dist/tools/connectors.controller.js +21 -10
  557. package/dist/tools/connectors.service.d.ts +31 -13
  558. package/dist/tools/connectors.service.js +434 -344
  559. package/dist/tools/credentials.d.ts +17 -20
  560. package/dist/tools/credentials.js +55 -34
  561. package/dist/tools/drift.d.ts +29 -41
  562. package/dist/tools/drift.js +111 -79
  563. package/dist/tools/info.d.ts +12 -9
  564. package/dist/tools/info.js +33 -7
  565. package/dist/tools/job-ids.d.ts +13 -0
  566. package/dist/tools/job-ids.js +15 -0
  567. package/dist/tools/jobs.d.ts +24 -0
  568. package/dist/tools/jobs.js +69 -0
  569. package/dist/tools/oauth/flow-paths.d.ts +16 -0
  570. package/dist/tools/oauth/flow-paths.js +38 -0
  571. package/dist/tools/oauth/flow.d.ts +30 -30
  572. package/dist/tools/oauth/flow.js +109 -81
  573. package/dist/tools/oauth/oauth.controller.d.ts +3 -3
  574. package/dist/tools/oauth/oauth.controller.js +12 -9
  575. package/dist/tools/oauth/tokens.d.ts +11 -3
  576. package/dist/tools/oauth/tokens.js +15 -14
  577. package/dist/tools/outputs.d.ts +13 -4
  578. package/dist/tools/outputs.js +47 -3
  579. package/dist/tools/pipeline.d.ts +62 -46
  580. package/dist/tools/pipeline.js +145 -64
  581. package/dist/tools/policy.d.ts +2 -2
  582. package/dist/tools/questions.controller.d.ts +1 -1
  583. package/dist/tools/questions.controller.js +8 -5
  584. package/dist/tools/questions.service.d.ts +25 -24
  585. package/dist/tools/questions.service.js +201 -142
  586. package/dist/tools/registry.d.ts +30 -20
  587. package/dist/tools/registry.js +73 -37
  588. package/dist/tools/specs.d.ts +5 -4
  589. package/dist/tools/specs.js +3 -1
  590. package/dist/tools/tools.module.d.ts +10 -0
  591. package/dist/tools/tools.module.js +91 -0
  592. package/dist/ui/call-extension.d.ts +16 -0
  593. package/dist/ui/call-extension.js +38 -0
  594. package/dist/ui/embed-token.d.ts +9 -5
  595. package/dist/ui/embed-token.js +34 -6
  596. package/dist/ui/ui-stream.d.ts +22 -17
  597. package/dist/ui/ui-stream.js +72 -12
  598. package/dist/ui/ui.module.d.ts +7 -0
  599. package/dist/ui/ui.module.js +28 -0
  600. package/dist/ui/views.controller.d.ts +14 -12
  601. package/dist/ui/views.controller.js +32 -25
  602. package/dist/ui/views.d.ts +9 -57
  603. package/dist/ui/views.js +43 -45
  604. package/package.json +9 -2
  605. package/dist/http/health.controller.d.ts +0 -26
  606. package/dist/http/health.controller.js +0 -79
  607. package/dist/http/tokens.d.ts +0 -131
  608. package/dist/http/tokens.js +0 -131
  609. package/dist/http/zod.pipe.d.ts +0 -8
  610. package/dist/http/zod.pipe.js +0 -14
  611. package/dist/identity/rate-limit.d.ts +0 -55
  612. package/dist/identity/rate-limit.js +0 -121
  613. package/dist/sandbox/lifecycle.d.ts +0 -21
  614. package/dist/sandbox/lifecycle.js +0 -68
  615. /package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +0 -0
  616. /package/dist/http/{gateway.module.js → gateway-routes.js} +0 -0
@@ -1,11 +1,24 @@
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";
@@ -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
@@ -183,81 +301,21 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
183
301
  };
184
302
  const conversationId = randomUUID();
185
303
  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
- });
304
+ await d.seeder.seed({
305
+ evalRunId,
306
+ orgId: s.orgId,
307
+ agentId: s.agentId,
308
+ accountId,
309
+ conversationId,
310
+ runId,
311
+ runStartedSeq: R,
312
+ consumed,
313
+ seeds,
314
+ trigger,
315
+ agentVersion: candidate.agentVersion,
316
+ model: agent.model,
317
+ catalog,
318
+ }, d.onSeeded);
261
319
  await d.hooks?.afterRunSeeded?.(evalRunId, conversationId);
262
320
  // 停止:取消 / 越限 / 熔断 / 失去认领 / 截止时间 → 中止 loop(进行中的请求立即停下,loop 以 aborted 返回)
263
321
  const stopper = new AbortController();
@@ -412,7 +470,7 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
412
470
  }
413
471
  return out;
414
472
  };
415
- const runtime = d.config().runtime;
473
+ const runtime = d.config.get().runtime;
416
474
  const deadline = Date.now() + runtime.maxRunSeconds * 1000;
417
475
  let deadlineHit = false;
418
476
  const timer = setTimeout(() => {
@@ -447,13 +505,15 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
447
505
  }
448
506
  catch (e) {
449
507
  const err = e instanceof RunError ? e : new RunError("run.internal", "The run failed unexpectedly");
450
- await finishRun(db, eventLog, {
508
+ await d.runFinish
509
+ .finish({
451
510
  conversationId,
452
511
  runId,
453
512
  status: "failed",
454
513
  consumed: null,
455
514
  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 }));
515
+ })
516
+ .catch((x) => d.log.warn("cannot finish eval replay run", { runId, err: x }));
457
517
  await Promise.allSettled([...charges]);
458
518
  throw crash ?? e;
459
519
  }
@@ -472,7 +532,7 @@ export async function replayRun(d, s, candidate, evalRunId, signal) {
472
532
  if (outcome.kind === "aborted" && stopped === undefined && signal.aborted)
473
533
  stopped = "shutdown";
474
534
  const finalConsumed = Math.max(0, ...fed.values(), trigger);
475
- await finishRun(db, eventLog, {
535
+ await d.runFinish.finish({
476
536
  conversationId,
477
537
  runId,
478
538
  status: outcome.kind === "aborted" ? "aborted" : "completed",
@@ -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
  }