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

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 (1039) hide show
  1. package/bootstrap.json +85 -5
  2. package/dist/admin/admin-agents.controller.d.ts +28 -0
  3. package/dist/admin/admin-agents.controller.js +79 -0
  4. package/dist/admin/admin-connectors.controller.d.ts +29 -0
  5. package/dist/admin/admin-connectors.controller.js +79 -0
  6. package/dist/admin/admin-items.schemas.d.ts +42 -0
  7. package/dist/admin/admin-items.schemas.js +48 -0
  8. package/dist/admin/admin.controller.d.ts +52 -80
  9. package/dist/admin/admin.controller.js +112 -81
  10. package/dist/admin/admin.module.d.ts +4 -1
  11. package/dist/admin/admin.module.js +50 -4
  12. package/dist/admin/admin.schemas.d.ts +69 -0
  13. package/dist/admin/admin.schemas.js +53 -0
  14. package/dist/admin/audit.controller.d.ts +14 -0
  15. package/dist/admin/audit.controller.js +42 -0
  16. package/dist/admin/audit.schemas.d.ts +8 -0
  17. package/dist/admin/audit.schemas.js +17 -0
  18. package/dist/admin/extensions.controller.d.ts +34 -3
  19. package/dist/admin/extensions.controller.js +66 -8
  20. package/dist/admin/extensions.schemas.d.ts +7 -0
  21. package/dist/admin/extensions.schemas.js +10 -0
  22. package/dist/admin/health.service.d.ts +104 -0
  23. package/dist/admin/health.service.js +246 -0
  24. package/dist/admin/limit-defaults.d.ts +20 -0
  25. package/dist/admin/limit-defaults.js +10 -0
  26. package/dist/admin/overview.controller.d.ts +31 -0
  27. package/dist/admin/overview.controller.js +78 -0
  28. package/dist/admin/overview.schemas.d.ts +8 -0
  29. package/dist/admin/overview.schemas.js +13 -0
  30. package/dist/admin/overview.service.d.ts +112 -0
  31. package/dist/admin/overview.service.js +223 -0
  32. package/dist/admin/platform-audit.service.d.ts +41 -0
  33. package/dist/admin/platform-audit.service.js +70 -0
  34. package/dist/admin/setup-lock.d.ts +1 -1
  35. package/dist/admin/setup-lock.js +1 -1
  36. package/dist/admin/setup.controller.d.ts +1 -1
  37. package/dist/admin/setup.controller.js +1 -1
  38. package/dist/admin/setup.service.d.ts +4 -4
  39. package/dist/admin/setup.service.js +8 -8
  40. package/dist/admin/usage.service.d.ts +149 -0
  41. package/dist/admin/usage.service.js +321 -0
  42. package/dist/agents/admin-agents.d.ts +92 -0
  43. package/dist/agents/admin-agents.js +170 -0
  44. package/dist/agents/agent-lookup.d.ts +24 -0
  45. package/dist/agents/agent-lookup.js +46 -2
  46. package/dist/agents/agent-profile.service.d.ts +31 -0
  47. package/dist/agents/agent-profile.service.js +122 -0
  48. package/dist/agents/agents.controller.d.ts +53 -168
  49. package/dist/agents/agents.controller.js +163 -34
  50. package/dist/agents/agents.module.d.ts +6 -2
  51. package/dist/agents/agents.module.js +41 -7
  52. package/dist/agents/agents.schemas.d.ts +392 -0
  53. package/dist/agents/agents.schemas.js +126 -0
  54. package/dist/agents/agents.service.d.ts +121 -36
  55. package/dist/agents/agents.service.js +411 -121
  56. package/dist/agents/definition.d.ts +142 -21
  57. package/dist/agents/definition.js +389 -43
  58. package/dist/agents/from-template.d.ts +106 -0
  59. package/dist/agents/from-template.js +680 -0
  60. package/dist/agents/from-template.service.d.ts +72 -0
  61. package/dist/agents/from-template.service.js +178 -0
  62. package/dist/agents/instruction-files.d.ts +60 -0
  63. package/dist/agents/instruction-files.js +111 -0
  64. package/dist/agents/models.controller.d.ts +44 -6
  65. package/dist/agents/models.controller.js +84 -8
  66. package/dist/agents/org-templates.d.ts +186 -0
  67. package/dist/agents/org-templates.js +876 -0
  68. package/dist/agents/pending-connector-requests.d.ts +79 -0
  69. package/dist/agents/pending-connector-requests.js +215 -0
  70. package/dist/agents/pending-connectors.controller.d.ts +39 -0
  71. package/dist/agents/pending-connectors.controller.js +91 -0
  72. package/dist/agents/pending-connectors.service.d.ts +62 -0
  73. package/dist/agents/pending-connectors.service.js +282 -0
  74. package/dist/agents/profile.d.ts +114 -0
  75. package/dist/agents/profile.js +55 -0
  76. package/dist/agents/readiness.controller.d.ts +26 -0
  77. package/dist/agents/readiness.controller.js +56 -0
  78. package/dist/agents/templates.controller.d.ts +77 -5
  79. package/dist/agents/templates.controller.js +153 -7
  80. package/dist/agents/templates.d.ts +127 -23
  81. package/dist/agents/templates.js +482 -44
  82. package/dist/agents/templates.schemas.d.ts +20 -0
  83. package/dist/agents/templates.schemas.js +45 -0
  84. package/dist/background/background.controller.d.ts +38 -0
  85. package/dist/background/background.controller.js +88 -0
  86. package/dist/background/background.module.d.ts +10 -0
  87. package/dist/background/background.module.js +39 -0
  88. package/dist/background/background.schemas.d.ts +10 -0
  89. package/dist/background/background.schemas.js +16 -0
  90. package/dist/background/finish.d.ts +44 -0
  91. package/dist/background/finish.js +95 -0
  92. package/dist/background/launch-lock.d.ts +15 -0
  93. package/dist/background/launch-lock.js +40 -0
  94. package/dist/background/launch.d.ts +42 -0
  95. package/dist/background/launch.js +77 -0
  96. package/dist/background/poll.job.d.ts +56 -0
  97. package/dist/background/poll.job.js +195 -0
  98. package/dist/background/render.d.ts +23 -0
  99. package/dist/background/render.js +48 -0
  100. package/dist/background/session.d.ts +48 -0
  101. package/dist/background/session.js +80 -0
  102. package/dist/background/status.d.ts +35 -0
  103. package/dist/background/status.js +57 -0
  104. package/dist/background/stop.d.ts +68 -0
  105. package/dist/background/stop.js +244 -0
  106. package/dist/background/store.d.ts +167 -0
  107. package/dist/background/store.js +361 -0
  108. package/dist/background/store.module.d.ts +6 -0
  109. package/dist/background/store.module.js +22 -0
  110. package/dist/background/tasks.service.d.ts +109 -0
  111. package/dist/background/tasks.service.js +271 -0
  112. package/dist/background/wake-rules.d.ts +66 -0
  113. package/dist/background/wake-rules.js +113 -0
  114. package/dist/background/wake.d.ts +30 -0
  115. package/dist/background/wake.js +63 -0
  116. package/dist/catalog/admin-catalog.controller.d.ts +136 -52
  117. package/dist/catalog/admin-catalog.controller.js +275 -65
  118. package/dist/catalog/admin-catalog.schemas.d.ts +82 -0
  119. package/dist/catalog/admin-catalog.schemas.js +99 -0
  120. package/dist/catalog/appearance.schemas.d.ts +10 -0
  121. package/dist/catalog/appearance.schemas.js +20 -0
  122. package/dist/catalog/appearance.service.d.ts +105 -0
  123. package/dist/catalog/appearance.service.js +306 -0
  124. package/dist/catalog/catalog-content.d.ts +122 -35
  125. package/dist/catalog/catalog-content.js +122 -14
  126. package/dist/catalog/catalog-files.d.ts +42 -0
  127. package/dist/catalog/catalog-files.js +89 -0
  128. package/dist/catalog/catalog-import.module.d.ts +7 -0
  129. package/dist/catalog/catalog-import.module.js +63 -0
  130. package/dist/catalog/catalog-items.d.ts +122 -7
  131. package/dist/catalog/catalog-items.js +301 -13
  132. package/dist/catalog/catalog-scope.service.d.ts +293 -0
  133. package/dist/catalog/catalog-scope.service.js +1236 -0
  134. package/dist/catalog/catalog.module.d.ts +7 -9
  135. package/dist/catalog/catalog.module.js +47 -31
  136. package/dist/catalog/catalog.service.d.ts +122 -31
  137. package/dist/catalog/catalog.service.js +177 -105
  138. package/dist/catalog/claude/agents.js +15 -10
  139. package/dist/catalog/claude/translate.js +3 -0
  140. package/dist/catalog/cli.d.ts +11 -1
  141. package/dist/catalog/cli.js +29 -1
  142. package/dist/catalog/component-promotion.d.ts +96 -0
  143. package/dist/catalog/component-promotion.js +395 -0
  144. package/dist/catalog/component-scope.controller.d.ts +102 -0
  145. package/dist/catalog/component-scope.controller.js +257 -0
  146. package/dist/catalog/component-scope.schemas.d.ts +118 -0
  147. package/dist/catalog/component-scope.schemas.js +97 -0
  148. package/dist/catalog/component-scope.service.d.ts +394 -0
  149. package/dist/catalog/component-scope.service.js +1133 -0
  150. package/dist/catalog/component-state.d.ts +207 -0
  151. package/dist/catalog/component-state.js +484 -0
  152. package/dist/catalog/git-source.d.ts +9 -1
  153. package/dist/catalog/git-source.js +29 -2
  154. package/dist/catalog/job-ids.d.ts +30 -0
  155. package/dist/catalog/job-ids.js +25 -0
  156. package/dist/catalog/marketplace-fetch.d.ts +1 -1
  157. package/dist/catalog/marketplace-icons.d.ts +64 -0
  158. package/dist/catalog/marketplace-icons.js +131 -0
  159. package/dist/catalog/marketplaces.controller.d.ts +50 -41
  160. package/dist/catalog/marketplaces.controller.js +130 -46
  161. package/dist/catalog/marketplaces.schemas.d.ts +48 -0
  162. package/dist/catalog/marketplaces.schemas.js +53 -0
  163. package/dist/catalog/marketplaces.service.d.ts +110 -17
  164. package/dist/catalog/marketplaces.service.js +337 -29
  165. package/dist/catalog/org-catalog.controller.d.ts +114 -62
  166. package/dist/catalog/org-catalog.controller.js +191 -98
  167. package/dist/catalog/org-catalog.schemas.d.ts +104 -0
  168. package/dist/catalog/org-catalog.schemas.js +107 -0
  169. package/dist/catalog/org-catalog.service.d.ts +72 -33
  170. package/dist/catalog/org-catalog.service.js +367 -158
  171. package/dist/catalog/org-extension-switch.d.ts +41 -0
  172. package/dist/catalog/org-extension-switch.js +115 -0
  173. package/dist/catalog/org-extension.controller.d.ts +133 -0
  174. package/dist/catalog/org-extension.controller.js +313 -0
  175. package/dist/catalog/org-extension.schemas.d.ts +15 -0
  176. package/dist/catalog/org-extension.schemas.js +22 -0
  177. package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
  178. package/dist/catalog/org-plugin-uploads.controller.js +200 -0
  179. package/dist/catalog/org-plugin-uploads.d.ts +71 -0
  180. package/dist/catalog/org-plugin-uploads.js +122 -0
  181. package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
  182. package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
  183. package/dist/catalog/owned-items.d.ts +188 -0
  184. package/dist/catalog/owned-items.js +808 -0
  185. package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
  186. package/dist/catalog/owned-plugin-cleanup.js +194 -0
  187. package/dist/catalog/ownership.d.ts +172 -0
  188. package/dist/catalog/ownership.js +326 -0
  189. package/dist/catalog/platform-components.d.ts +243 -0
  190. package/dist/catalog/platform-components.js +872 -0
  191. package/dist/catalog/platform-migration.d.ts +115 -0
  192. package/dist/catalog/platform-migration.js +583 -0
  193. package/dist/catalog/plugin-import.d.ts +254 -47
  194. package/dist/catalog/plugin-import.js +810 -112
  195. package/dist/catalog/plugin-install.d.ts +205 -42
  196. package/dist/catalog/plugin-install.js +828 -126
  197. package/dist/catalog/plugin-package.d.ts +43 -4
  198. package/dist/catalog/plugin-package.js +194 -7
  199. package/dist/catalog/plugin-upgrade.d.ts +308 -225
  200. package/dist/catalog/plugin-upgrade.js +1325 -1131
  201. package/dist/catalog/request-rules.d.ts +65 -0
  202. package/dist/catalog/request-rules.js +217 -0
  203. package/dist/catalog/requests.service.d.ts +194 -118
  204. package/dist/catalog/requests.service.js +530 -343
  205. package/dist/catalog/reserved-names.d.ts +8 -0
  206. package/dist/catalog/reserved-names.js +42 -0
  207. package/dist/catalog/scope-orgs.d.ts +21 -0
  208. package/dist/catalog/scope-orgs.js +67 -0
  209. package/dist/catalog/scope-state.d.ts +35 -0
  210. package/dist/catalog/scope-state.js +87 -0
  211. package/dist/catalog/scope-sync-workers.d.ts +7 -0
  212. package/dist/catalog/scope-sync-workers.js +29 -0
  213. package/dist/catalog/scope-sync.d.ts +176 -0
  214. package/dist/catalog/scope-sync.js +576 -0
  215. package/dist/catalog/scope.d.ts +42 -0
  216. package/dist/catalog/scope.js +42 -0
  217. package/dist/catalog/unshare.d.ts +22 -0
  218. package/dist/catalog/unshare.js +119 -0
  219. package/dist/channels/actions.js +10 -3
  220. package/dist/channels/cards.d.ts +36 -10
  221. package/dist/channels/cards.js +100 -25
  222. package/dist/channels/channels.module.js +13 -2
  223. package/dist/channels/channels.schemas.d.ts +41 -0
  224. package/dist/channels/channels.schemas.js +40 -0
  225. package/dist/channels/connections.controller.d.ts +46 -37
  226. package/dist/channels/connections.controller.js +76 -34
  227. package/dist/channels/connections.service.d.ts +102 -10
  228. package/dist/channels/connections.service.js +271 -24
  229. package/dist/channels/inbound.d.ts +11 -1
  230. package/dist/channels/inbound.js +87 -7
  231. package/dist/channels/outbound.d.ts +14 -1
  232. package/dist/channels/outbound.js +64 -15
  233. package/dist/channels/phrases.d.ts +33 -2
  234. package/dist/channels/phrases.js +29 -1
  235. package/dist/channels/supervisor.d.ts +2 -0
  236. package/dist/channels/supervisor.js +4 -0
  237. package/dist/channels/threads.d.ts +5 -0
  238. package/dist/channels/threads.js +8 -0
  239. package/dist/channels/webhook.d.ts +21 -1
  240. package/dist/channels/webhook.js +39 -4
  241. package/dist/client/client-access.service.d.ts +102 -0
  242. package/dist/client/client-access.service.js +303 -0
  243. package/dist/client/client-builds.service.d.ts +109 -0
  244. package/dist/client/client-builds.service.js +229 -0
  245. package/dist/client/client-delivery.controller.d.ts +25 -0
  246. package/dist/client/client-delivery.controller.js +66 -0
  247. package/dist/client/client-files.d.ts +48 -0
  248. package/dist/client/client-files.js +136 -0
  249. package/dist/client/client-reports.cron.d.ts +13 -0
  250. package/dist/client/client-reports.cron.js +42 -0
  251. package/dist/client/client-reports.service.d.ts +30 -0
  252. package/dist/client/client-reports.service.js +102 -0
  253. package/dist/client/client-sign-in.service.d.ts +21 -0
  254. package/dist/client/client-sign-in.service.js +49 -0
  255. package/dist/client/client.controller.d.ts +49 -0
  256. package/dist/client/client.controller.js +129 -0
  257. package/dist/client/client.module.d.ts +8 -0
  258. package/dist/client/client.module.js +28 -0
  259. package/dist/client/client.schemas.d.ts +61 -0
  260. package/dist/client/client.schemas.js +27 -0
  261. package/dist/config/docs.js +5 -1
  262. package/dist/config/schema.d.ts +35 -2
  263. package/dist/config/schema.js +216 -21
  264. package/dist/conversations/access.d.ts +6 -4
  265. package/dist/conversations/access.js +29 -5
  266. package/dist/conversations/agent-tree.d.ts +46 -0
  267. package/dist/conversations/agent-tree.js +92 -0
  268. package/dist/conversations/artifacts.d.ts +1 -1
  269. package/dist/conversations/artifacts.js +1 -1
  270. package/dist/conversations/attachments.service.d.ts +30 -0
  271. package/dist/conversations/attachments.service.js +130 -5
  272. package/dist/conversations/conversations.controller.d.ts +79 -44
  273. package/dist/conversations/conversations.controller.js +133 -82
  274. package/dist/conversations/conversations.module.d.ts +1 -1
  275. package/dist/conversations/conversations.module.js +10 -7
  276. package/dist/conversations/conversations.schemas.d.ts +52 -0
  277. package/dist/conversations/conversations.schemas.js +79 -0
  278. package/dist/conversations/conversations.service.d.ts +161 -13
  279. package/dist/conversations/conversations.service.js +329 -57
  280. package/dist/conversations/device-status.d.ts +24 -0
  281. package/dist/conversations/device-status.js +71 -0
  282. package/dist/conversations/event-log.d.ts +45 -9
  283. package/dist/conversations/event-log.js +113 -6
  284. package/dist/conversations/events.d.ts +255 -9
  285. package/dist/conversations/events.js +250 -34
  286. package/dist/conversations/message-context.d.ts +79 -0
  287. package/dist/conversations/message-context.js +145 -0
  288. package/dist/conversations/queue.d.ts +5 -2
  289. package/dist/conversations/queue.js +24 -4
  290. package/dist/conversations/queue.service.d.ts +2 -2
  291. package/dist/conversations/queue.service.js +21 -3
  292. package/dist/conversations/titles.d.ts +12 -3
  293. package/dist/conversations/titles.js +40 -16
  294. package/dist/conversations/tree.d.ts +17 -0
  295. package/dist/conversations/tree.js +42 -0
  296. package/dist/ctx/create-ctx.d.ts +48 -5
  297. package/dist/ctx/create-ctx.js +174 -34
  298. package/dist/db/kernel-schema.d.ts +668 -27
  299. package/dist/db/pool.d.ts +5 -0
  300. package/dist/db/pool.js +3 -0
  301. package/dist/devices/access.d.ts +66 -0
  302. package/dist/devices/access.js +113 -0
  303. package/dist/devices/conversation-devices.d.ts +75 -0
  304. package/dist/devices/conversation-devices.js +230 -0
  305. package/dist/devices/devices.controller.d.ts +36 -0
  306. package/dist/devices/devices.controller.js +124 -0
  307. package/dist/devices/devices.module.d.ts +8 -0
  308. package/dist/devices/devices.module.js +34 -0
  309. package/dist/devices/devices.schemas.d.ts +3 -0
  310. package/dist/devices/devices.schemas.js +14 -0
  311. package/dist/devices/devices.service.d.ts +251 -0
  312. package/dist/devices/devices.service.js +791 -0
  313. package/dist/devices/dto.d.ts +25 -0
  314. package/dist/devices/dto.js +12 -0
  315. package/dist/devices/label.d.ts +11 -0
  316. package/dist/devices/label.js +25 -0
  317. package/dist/devices/legacy-cleanup.job.d.ts +34 -0
  318. package/dist/devices/legacy-cleanup.job.js +141 -0
  319. package/dist/errors.d.ts +215 -3
  320. package/dist/errors.js +215 -3
  321. package/dist/evals/evals.module.js +11 -2
  322. package/dist/evals/evals.schemas.d.ts +110 -0
  323. package/dist/evals/evals.schemas.js +107 -0
  324. package/dist/evals/reconstruct.d.ts +18 -9
  325. package/dist/evals/reconstruct.js +36 -10
  326. package/dist/evals/recorded-tools.d.ts +37 -1
  327. package/dist/evals/recorded-tools.js +120 -10
  328. package/dist/evals/run-replay.d.ts +20 -3
  329. package/dist/evals/run-replay.js +78 -14
  330. package/dist/evals/runs.controller.d.ts +2 -57
  331. package/dist/evals/runs.controller.js +1 -42
  332. package/dist/evals/runs.service.d.ts +8 -7
  333. package/dist/evals/runs.service.js +45 -30
  334. package/dist/evals/sets.controller.d.ts +2 -28
  335. package/dist/evals/sets.controller.js +1 -31
  336. package/dist/evals/sets.service.d.ts +7 -7
  337. package/dist/evals/sets.service.js +23 -17
  338. package/dist/evals/snapshot.d.ts +3 -2
  339. package/dist/evals/snapshot.js +17 -4
  340. package/dist/evals/step-replay.d.ts +4 -6
  341. package/dist/evals/step-replay.js +16 -9
  342. package/dist/evals/trajectory.d.ts +5 -3
  343. package/dist/evals/trajectory.js +4 -1
  344. package/dist/evals/trajectory.service.d.ts +8 -3
  345. package/dist/evals/trajectory.service.js +26 -14
  346. package/dist/evals/worker.d.ts +5 -5
  347. package/dist/evals/worker.js +9 -3
  348. package/dist/extensions/admin-ops.d.ts +81 -14
  349. package/dist/extensions/admin-ops.js +181 -47
  350. package/dist/extensions/admin-view.d.ts +57 -10
  351. package/dist/extensions/admin-view.js +249 -27
  352. package/dist/extensions/approvals.d.ts +12 -2
  353. package/dist/extensions/blobs.d.ts +14 -1
  354. package/dist/extensions/blobs.js +49 -5
  355. package/dist/extensions/bootstrap.d.ts +41 -5
  356. package/dist/extensions/bootstrap.js +121 -19
  357. package/dist/extensions/cli.d.ts +12 -0
  358. package/dist/extensions/cli.js +11 -2
  359. package/dist/extensions/config-hash.d.ts +10 -0
  360. package/dist/extensions/config-hash.js +38 -0
  361. package/dist/extensions/config-issues.d.ts +13 -1
  362. package/dist/extensions/config-issues.js +22 -5
  363. package/dist/extensions/config-json-schema.d.ts +43 -7
  364. package/dist/extensions/config-json-schema.js +124 -58
  365. package/dist/extensions/deployment-config-store.d.ts +6 -0
  366. package/dist/extensions/deployment-config.d.ts +94 -9
  367. package/dist/extensions/deployment-config.js +255 -34
  368. package/dist/extensions/display-name.d.ts +22 -0
  369. package/dist/extensions/display-name.js +77 -0
  370. package/dist/extensions/effective-config.d.ts +133 -0
  371. package/dist/extensions/effective-config.js +379 -0
  372. package/dist/extensions/extensions.module.js +31 -12
  373. package/dist/extensions/guide-places.d.ts +68 -0
  374. package/dist/extensions/guide-places.js +152 -0
  375. package/dist/extensions/hooks.d.ts +37 -4
  376. package/dist/extensions/hooks.js +82 -16
  377. package/dist/extensions/host.d.ts +105 -12
  378. package/dist/extensions/host.js +372 -87
  379. package/dist/extensions/installs.d.ts +30 -9
  380. package/dist/extensions/installs.js +57 -16
  381. package/dist/extensions/instance.d.ts +17 -2
  382. package/dist/extensions/instance.js +21 -0
  383. package/dist/extensions/ledger.d.ts +1 -1
  384. package/dist/extensions/locks.d.ts +12 -0
  385. package/dist/extensions/locks.js +26 -0
  386. package/dist/extensions/org-config.d.ts +97 -7
  387. package/dist/extensions/org-config.js +215 -45
  388. package/dist/extensions/org-levels.d.ts +37 -0
  389. package/dist/extensions/org-levels.js +71 -0
  390. package/dist/extensions/org-overrides.d.ts +151 -0
  391. package/dist/extensions/org-overrides.js +524 -0
  392. package/dist/extensions/package.d.ts +18 -4
  393. package/dist/extensions/package.js +56 -3
  394. package/dist/extensions/permission-set.d.ts +35 -5
  395. package/dist/extensions/permission-set.js +36 -5
  396. package/dist/extensions/permission-view.d.ts +106 -13
  397. package/dist/extensions/permission-view.js +33 -15
  398. package/dist/extensions/plugin-guides.d.ts +282 -0
  399. package/dist/extensions/plugin-guides.js +554 -0
  400. package/dist/extensions/plugin-icons.d.ts +54 -0
  401. package/dist/extensions/plugin-icons.js +125 -0
  402. package/dist/extensions/plugin-items.d.ts +21 -0
  403. package/dist/extensions/plugin-items.js +42 -0
  404. package/dist/extensions/point-defaults.controller.d.ts +28 -0
  405. package/dist/extensions/point-defaults.controller.js +69 -0
  406. package/dist/extensions/point-defaults.d.ts +73 -0
  407. package/dist/extensions/point-defaults.js +236 -0
  408. package/dist/extensions/point-defaults.schemas.d.ts +9 -0
  409. package/dist/extensions/point-defaults.schemas.js +14 -0
  410. package/dist/extensions/registry.d.ts +1 -1
  411. package/dist/extensions/registry.js +2 -0
  412. package/dist/extensions/resolve.d.ts +51 -1
  413. package/dist/extensions/resolve.js +85 -3
  414. package/dist/extensions/single-provider.d.ts +92 -0
  415. package/dist/extensions/single-provider.js +180 -0
  416. package/dist/extensions/sources.d.ts +13 -2
  417. package/dist/extensions/sources.js +2 -0
  418. package/dist/extensions/state.module.d.ts +9 -0
  419. package/dist/extensions/state.module.js +46 -0
  420. package/dist/extensions/unavailable.d.ts +50 -0
  421. package/dist/extensions/unavailable.js +115 -0
  422. package/dist/files/previewers.controller.js +2 -3
  423. package/dist/files/previewers.d.ts +10 -3
  424. package/dist/files/previewers.js +40 -11
  425. package/dist/files/previewers.schemas.d.ts +10 -0
  426. package/dist/files/previewers.schemas.js +9 -0
  427. package/dist/http/api.module.js +76 -4
  428. package/dist/http/app.d.ts +11 -2
  429. package/dist/http/app.js +31 -5
  430. package/dist/http/gateway-routes.d.ts +7 -3
  431. package/dist/http/gateway-routes.js +6 -3
  432. package/dist/http/nest-logger.d.ts +6 -5
  433. package/dist/http/nest-logger.js +24 -10
  434. package/dist/http/plugin-dispatch.d.ts +4 -1
  435. package/dist/http/plugin-dispatch.js +14 -2
  436. package/dist/identity/accounts.d.ts +77 -31
  437. package/dist/identity/accounts.js +133 -52
  438. package/dist/identity/audit.d.ts +2 -1
  439. package/dist/identity/auth.controller.js +9 -5
  440. package/dist/identity/auth.guard.d.ts +13 -5
  441. package/dist/identity/auth.guard.js +35 -9
  442. package/dist/identity/cookies.d.ts +26 -5
  443. package/dist/identity/cookies.js +58 -6
  444. package/dist/identity/identity.module.d.ts +1 -1
  445. package/dist/identity/identity.module.js +7 -4
  446. package/dist/identity/initial-passwords.controller.d.ts +22 -0
  447. package/dist/identity/initial-passwords.controller.js +49 -0
  448. package/dist/identity/initial-passwords.d.ts +61 -0
  449. package/dist/identity/initial-passwords.job.d.ts +16 -0
  450. package/dist/identity/initial-passwords.job.js +46 -0
  451. package/dist/identity/initial-passwords.js +159 -0
  452. package/dist/identity/me.controller.d.ts +17 -1
  453. package/dist/identity/me.controller.js +45 -4
  454. package/dist/identity/me.schemas.d.ts +24 -0
  455. package/dist/identity/me.schemas.js +25 -0
  456. package/dist/identity/principal.d.ts +11 -3
  457. package/dist/identity/principal.js +11 -3
  458. package/dist/identity/sessions.d.ts +12 -0
  459. package/dist/identity/sessions.js +45 -0
  460. package/dist/identity/settings.d.ts +99 -12
  461. package/dist/identity/settings.js +234 -25
  462. package/dist/identity/{enterprise-admin.d.ts → super-admin.d.ts} +5 -5
  463. package/dist/identity/{enterprise-admin.js → super-admin.js} +24 -24
  464. package/dist/identity/write-actor.d.ts +11 -0
  465. package/dist/identity/write-actor.js +7 -0
  466. package/dist/inbox/inbox.module.d.ts +4 -1
  467. package/dist/inbox/inbox.module.js +7 -3
  468. package/dist/inbox/inbox.schemas.d.ts +8 -0
  469. package/dist/inbox/inbox.schemas.js +11 -0
  470. package/dist/inbox/inbox.service.d.ts +64 -4
  471. package/dist/inbox/inbox.service.js +74 -4
  472. package/dist/inbox/org-notices.d.ts +63 -0
  473. package/dist/inbox/org-notices.js +91 -0
  474. package/dist/inbox/platform-inbox.controller.d.ts +23 -0
  475. package/dist/inbox/platform-inbox.controller.js +58 -0
  476. package/dist/inbox/platform-inbox.service.d.ts +157 -0
  477. package/dist/inbox/platform-inbox.service.js +281 -0
  478. package/dist/inbox/platform-notices.d.ts +19 -0
  479. package/dist/inbox/platform-notices.js +9 -0
  480. package/dist/index.d.ts +6 -2
  481. package/dist/index.js +7 -1
  482. package/dist/infra/cli/kernel-cli.module.js +9 -1
  483. package/dist/infra/config/kernel-config.service.js +32 -1
  484. package/dist/infra/database/database.module.js +1 -0
  485. package/dist/infra/database/xact-lock.d.ts +1 -1
  486. package/dist/infra/database/xact-lock.js +1 -1
  487. package/dist/infra/events/kernel-events.d.ts +31 -3
  488. package/dist/infra/lifecycle/process-guards.js +4 -0
  489. package/dist/infra/lock/lock.service.d.ts +8 -0
  490. package/dist/infra/lock/lock.service.js +27 -0
  491. package/dist/infra/logging/logging.module.d.ts +4 -2
  492. package/dist/infra/logging/logging.module.js +24 -6
  493. package/dist/infra/presence/presence.module.d.ts +6 -0
  494. package/dist/infra/presence/presence.module.js +22 -0
  495. package/dist/infra/presence/replica-presence.d.ts +87 -0
  496. package/dist/infra/presence/replica-presence.js +189 -0
  497. package/dist/infra/queue/add-job-once.d.ts +14 -0
  498. package/dist/infra/queue/add-job-once.js +16 -0
  499. package/dist/infra/queue/redis-connection.d.ts +6 -0
  500. package/dist/infra/queue/redis-connection.js +7 -0
  501. package/dist/infra/redis/redis.module.js +6 -2
  502. package/dist/infra/throttler/named-throttlers.d.ts +12 -0
  503. package/dist/infra/throttler/named-throttlers.js +67 -0
  504. package/dist/infra/throttler/throttler.guard.js +1 -1
  505. package/dist/infra/tokens.d.ts +6 -1
  506. package/dist/infra/tokens.js +6 -1
  507. package/dist/kernel.module.js +15 -0
  508. package/dist/lifecycle/kernel-lifecycle.d.ts +4 -2
  509. package/dist/lifecycle/kernel-lifecycle.js +35 -7
  510. package/dist/local-devices/device-auth.controller.d.ts +42 -0
  511. package/dist/local-devices/device-auth.controller.js +116 -0
  512. package/dist/local-devices/device-auth.d.ts +119 -0
  513. package/dist/local-devices/device-auth.js +401 -0
  514. package/dist/local-devices/device-auth.module.d.ts +7 -0
  515. package/dist/local-devices/device-auth.module.js +25 -0
  516. package/dist/local-devices/device-routes.d.ts +36 -0
  517. package/dist/local-devices/device-routes.js +90 -0
  518. package/dist/local-devices/dto.d.ts +66 -0
  519. package/dist/local-devices/dto.js +44 -0
  520. package/dist/local-devices/keys.d.ts +25 -0
  521. package/dist/local-devices/keys.js +25 -0
  522. package/dist/local-devices/local-device-gateway.d.ts +134 -0
  523. package/dist/local-devices/local-device-gateway.js +542 -0
  524. package/dist/local-devices/local-device-provider.d.ts +89 -0
  525. package/dist/local-devices/local-device-provider.js +151 -0
  526. package/dist/local-devices/local-devices.module.d.ts +16 -0
  527. package/dist/local-devices/local-devices.module.js +44 -0
  528. package/dist/local-devices/machines.d.ts +118 -0
  529. package/dist/local-devices/machines.js +366 -0
  530. package/dist/local-devices/relay.d.ts +100 -0
  531. package/dist/local-devices/relay.js +373 -0
  532. package/dist/local-devices/targets.d.ts +28 -0
  533. package/dist/local-devices/targets.js +73 -0
  534. package/dist/log.d.ts +13 -1
  535. package/dist/log.js +93 -17
  536. package/dist/models/embeddings.d.ts +82 -0
  537. package/dist/models/embeddings.js +326 -0
  538. package/dist/models/enablement.controller.d.ts +40 -0
  539. package/dist/models/enablement.controller.js +74 -0
  540. package/dist/models/enablement.d.ts +101 -0
  541. package/dist/models/enablement.js +264 -0
  542. package/dist/models/models.module.d.ts +5 -1
  543. package/dist/models/models.module.js +16 -4
  544. package/dist/models/org-models.schemas.d.ts +8 -0
  545. package/dist/models/org-models.schemas.js +22 -0
  546. package/dist/models/prices.d.ts +8 -6
  547. package/dist/models/prices.js +11 -9
  548. package/dist/models/purposes.controller.d.ts +6 -4
  549. package/dist/models/purposes.controller.js +13 -7
  550. package/dist/models/purposes.d.ts +72 -14
  551. package/dist/models/purposes.js +115 -34
  552. package/dist/orgs/directory-sync.d.ts +14 -5
  553. package/dist/orgs/directory-sync.js +41 -17
  554. package/dist/orgs/offboarding.d.ts +12 -8
  555. package/dist/orgs/offboarding.js +54 -33
  556. package/dist/orgs/org-lock.d.ts +5 -0
  557. package/dist/orgs/org-lock.js +13 -0
  558. package/dist/orgs/org.guard.d.ts +10 -0
  559. package/dist/orgs/org.guard.js +43 -32
  560. package/dist/orgs/orgs.controller.d.ts +2 -5
  561. package/dist/orgs/orgs.controller.js +3 -6
  562. package/dist/orgs/orgs.module.js +3 -0
  563. package/dist/orgs/orgs.schemas.d.ts +8 -0
  564. package/dist/orgs/orgs.schemas.js +16 -0
  565. package/dist/orgs/orgs.service.d.ts +23 -8
  566. package/dist/orgs/orgs.service.js +38 -16
  567. package/dist/orgs/roles.d.ts +1 -1
  568. package/dist/orgs/roles.js +5 -1
  569. package/dist/orgs/settings.controller.d.ts +1 -1
  570. package/dist/orgs/settings.service.d.ts +66 -6
  571. package/dist/orgs/settings.service.js +89 -10
  572. package/dist/overrides.d.ts +16 -1
  573. package/dist/overrides.js +10 -0
  574. package/dist/platform/actor.d.ts +48 -0
  575. package/dist/platform/actor.js +100 -0
  576. package/dist/platform/agent-docs.d.ts +18 -0
  577. package/dist/platform/agent-docs.js +59 -0
  578. package/dist/platform/availability.d.ts +14 -0
  579. package/dist/platform/availability.js +43 -0
  580. package/dist/platform/errors.d.ts +28 -0
  581. package/dist/platform/errors.js +65 -0
  582. package/dist/platform/exclusions.d.ts +11 -0
  583. package/dist/platform/exclusions.js +774 -0
  584. package/dist/platform/method.d.ts +6 -0
  585. package/dist/platform/method.js +15 -0
  586. package/dist/platform/operation.d.ts +169 -0
  587. package/dist/platform/operation.js +102 -0
  588. package/dist/platform/ops/accounts.ops.d.ts +32 -0
  589. package/dist/platform/ops/accounts.ops.js +291 -0
  590. package/dist/platform/ops/admin-items.ops.d.ts +37 -0
  591. package/dist/platform/ops/admin-items.ops.js +278 -0
  592. package/dist/platform/ops/admin.ops.d.ts +38 -0
  593. package/dist/platform/ops/admin.ops.js +497 -0
  594. package/dist/platform/ops/agent-skills.ops.d.ts +50 -0
  595. package/dist/platform/ops/agent-skills.ops.js +509 -0
  596. package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
  597. package/dist/platform/ops/agent-templates.ops.js +272 -0
  598. package/dist/platform/ops/agents.ops.d.ts +37 -0
  599. package/dist/platform/ops/agents.ops.js +730 -0
  600. package/dist/platform/ops/approvals.ops.d.ts +30 -0
  601. package/dist/platform/ops/approvals.ops.js +116 -0
  602. package/dist/platform/ops/background.ops.d.ts +14 -0
  603. package/dist/platform/ops/background.ops.js +134 -0
  604. package/dist/platform/ops/catalog-admin.ops.d.ts +92 -0
  605. package/dist/platform/ops/catalog-admin.ops.js +682 -0
  606. package/dist/platform/ops/channels.ops.d.ts +16 -0
  607. package/dist/platform/ops/channels.ops.js +195 -0
  608. package/dist/platform/ops/components.ops.d.ts +46 -0
  609. package/dist/platform/ops/components.ops.js +854 -0
  610. package/dist/platform/ops/connectors.ops.d.ts +17 -0
  611. package/dist/platform/ops/connectors.ops.js +190 -0
  612. package/dist/platform/ops/conversations.ops.d.ts +30 -0
  613. package/dist/platform/ops/conversations.ops.js +470 -0
  614. package/dist/platform/ops/devices.ops.d.ts +26 -0
  615. package/dist/platform/ops/devices.ops.js +311 -0
  616. package/dist/platform/ops/errors.d.ts +16 -0
  617. package/dist/platform/ops/errors.js +30 -0
  618. package/dist/platform/ops/evals.ops.d.ts +28 -0
  619. package/dist/platform/ops/evals.ops.js +783 -0
  620. package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
  621. package/dist/platform/ops/extensions-admin.ops.js +372 -0
  622. package/dist/platform/ops/extensions.ops.d.ts +25 -0
  623. package/dist/platform/ops/extensions.ops.js +347 -0
  624. package/dist/platform/ops/inbox.ops.d.ts +25 -0
  625. package/dist/platform/ops/inbox.ops.js +381 -0
  626. package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
  627. package/dist/platform/ops/marketplaces.ops.js +466 -0
  628. package/dist/platform/ops/models.ops.d.ts +25 -0
  629. package/dist/platform/ops/models.ops.js +232 -0
  630. package/dist/platform/ops/org-plugins.ops.d.ts +35 -0
  631. package/dist/platform/ops/org-plugins.ops.js +388 -0
  632. package/dist/platform/ops/org-settings.ops.d.ts +18 -0
  633. package/dist/platform/ops/org-settings.ops.js +127 -0
  634. package/dist/platform/ops/orgs.ops.d.ts +28 -0
  635. package/dist/platform/ops/orgs.ops.js +298 -0
  636. package/dist/platform/ops/other-orgs.d.ts +20 -0
  637. package/dist/platform/ops/other-orgs.js +72 -0
  638. package/dist/platform/ops/paging.d.ts +14 -0
  639. package/dist/platform/ops/paging.js +20 -0
  640. package/dist/platform/ops/platform.ops.d.ts +30 -0
  641. package/dist/platform/ops/platform.ops.js +231 -0
  642. package/dist/platform/ops/plugins.ops.d.ts +35 -0
  643. package/dist/platform/ops/plugins.ops.js +476 -0
  644. package/dist/platform/ops/previewers.ops.d.ts +14 -0
  645. package/dist/platform/ops/previewers.ops.js +109 -0
  646. package/dist/platform/ops/requests.ops.d.ts +14 -0
  647. package/dist/platform/ops/requests.ops.js +191 -0
  648. package/dist/platform/ops/role.d.ts +4 -0
  649. package/dist/platform/ops/role.js +10 -0
  650. package/dist/platform/ops/setup.ops.d.ts +24 -0
  651. package/dist/platform/ops/setup.ops.js +212 -0
  652. package/dist/platform/ops/skills.ops.d.ts +17 -0
  653. package/dist/platform/ops/skills.ops.js +160 -0
  654. package/dist/platform/ops/summary.d.ts +10 -0
  655. package/dist/platform/ops/summary.js +18 -0
  656. package/dist/platform/ops/themes.ops.d.ts +14 -0
  657. package/dist/platform/ops/themes.ops.js +47 -0
  658. package/dist/platform/ops/ui.ops.d.ts +8 -0
  659. package/dist/platform/ops/ui.ops.js +41 -0
  660. package/dist/platform/ops/unavailable.d.ts +23 -0
  661. package/dist/platform/ops/unavailable.js +118 -0
  662. package/dist/platform/parity.d.ts +33 -0
  663. package/dist/platform/parity.js +272 -0
  664. package/dist/platform/platform-ops.module.d.ts +43 -0
  665. package/dist/platform/platform-ops.module.js +142 -0
  666. package/dist/platform/platform.module.d.ts +8 -0
  667. package/dist/platform/platform.module.js +25 -0
  668. package/dist/platform/registry.d.ts +30 -0
  669. package/dist/platform/registry.js +111 -0
  670. package/dist/platform/route-schemas.d.ts +18 -0
  671. package/dist/platform/route-schemas.js +85 -0
  672. package/dist/roles/gateway-role.d.ts +18 -3
  673. package/dist/roles/gateway-role.js +33 -5
  674. package/dist/roles/gateway.module.d.ts +2 -1
  675. package/dist/roles/gateway.module.js +6 -3
  676. package/dist/roles/worker-role.d.ts +6 -4
  677. package/dist/roles/worker-role.js +14 -7
  678. package/dist/roles/worker.module.d.ts +1 -1
  679. package/dist/roles/worker.module.js +21 -1
  680. package/dist/runtime/context/build.d.ts +21 -13
  681. package/dist/runtime/context/build.js +106 -29
  682. package/dist/runtime/context/claude-tools.d.ts +4 -1
  683. package/dist/runtime/context/claude-tools.js +13 -12
  684. package/dist/runtime/context/compaction.js +24 -1
  685. package/dist/runtime/context/device-paths.d.ts +40 -0
  686. package/dist/runtime/context/device-paths.js +48 -0
  687. package/dist/runtime/context/legacy-text.d.ts +22 -0
  688. package/dist/runtime/context/legacy-text.js +37 -0
  689. package/dist/runtime/context/reminders.d.ts +2 -0
  690. package/dist/runtime/context/reminders.js +2 -0
  691. package/dist/runtime/context/run-context.d.ts +65 -0
  692. package/dist/runtime/context/run-context.js +215 -0
  693. package/dist/runtime/context/skills.d.ts +29 -11
  694. package/dist/runtime/context/skills.js +46 -32
  695. package/dist/runtime/context/tool-changes.d.ts +27 -0
  696. package/dist/runtime/context/tool-changes.js +60 -0
  697. package/dist/runtime/hook-calls.d.ts +8 -1
  698. package/dist/runtime/hook-calls.js +40 -7
  699. package/dist/runtime/langgraph-loop.d.ts +3 -1
  700. package/dist/runtime/langgraph-loop.js +36 -17
  701. package/dist/runtime/loop.d.ts +35 -6
  702. package/dist/runtime/maintenance.d.ts +9 -4
  703. package/dist/runtime/maintenance.js +35 -8
  704. package/dist/runtime/model-call.d.ts +54 -11
  705. package/dist/runtime/model-call.js +105 -28
  706. package/dist/runtime/providers.d.ts +149 -29
  707. package/dist/runtime/providers.js +332 -63
  708. package/dist/runtime/run-context.service.d.ts +65 -0
  709. package/dist/runtime/run-context.service.js +236 -0
  710. package/dist/runtime/run-control.d.ts +11 -1
  711. package/dist/runtime/run-control.js +12 -0
  712. package/dist/runtime/run-drafts.d.ts +85 -0
  713. package/dist/runtime/run-drafts.js +230 -0
  714. package/dist/runtime/run-finish.d.ts +1 -1
  715. package/dist/runtime/run-jobs.d.ts +3 -5
  716. package/dist/runtime/run-jobs.js +7 -9
  717. package/dist/runtime/run-queue.d.ts +62 -5
  718. package/dist/runtime/run-queue.js +313 -40
  719. package/dist/runtime/run-worker.d.ts +19 -8
  720. package/dist/runtime/run-worker.js +105 -44
  721. package/dist/runtime/runtime.module.js +13 -3
  722. package/dist/runtime/step-log.d.ts +15 -4
  723. package/dist/runtime/step-log.js +24 -7
  724. package/dist/runtime/stream.controller.d.ts +23 -1
  725. package/dist/runtime/stream.controller.js +60 -3
  726. package/dist/runtime/stream.d.ts +4 -1
  727. package/dist/runtime/stream.js +27 -3
  728. package/dist/runtime/subagents/child.d.ts +55 -7
  729. package/dist/runtime/subagents/child.js +105 -7
  730. package/dist/runtime/subagents/definition.d.ts +31 -26
  731. package/dist/runtime/subagents/definition.js +89 -142
  732. package/dist/runtime/subagents/deliveries.d.ts +71 -0
  733. package/dist/runtime/subagents/deliveries.js +228 -0
  734. package/dist/runtime/subagents/dispatch.d.ts +116 -27
  735. package/dist/runtime/subagents/dispatch.js +213 -142
  736. package/dist/runtime/subagents/limits.d.ts +24 -5
  737. package/dist/runtime/subagents/limits.js +40 -6
  738. package/dist/runtime/subagents/messages.d.ts +95 -0
  739. package/dist/runtime/subagents/messages.js +328 -0
  740. package/dist/runtime/subagents/org-agents.js +2 -1
  741. package/dist/runtime/subagents/preamble.d.ts +4 -4
  742. package/dist/runtime/subagents/preamble.js +9 -7
  743. package/dist/runtime/subagents/progress.d.ts +8 -6
  744. package/dist/runtime/subagents/progress.js +11 -6
  745. package/dist/runtime/subagents/render.d.ts +30 -0
  746. package/dist/runtime/subagents/render.js +53 -0
  747. package/dist/runtime/subagents/roster.d.ts +25 -8
  748. package/dist/runtime/subagents/roster.js +48 -12
  749. package/dist/runtime/subagents/skill-fork.d.ts +4 -3
  750. package/dist/runtime/subagents/skill-fork.js +9 -5
  751. package/dist/runtime/subagents/status.d.ts +14 -0
  752. package/dist/runtime/subagents/status.js +23 -0
  753. package/dist/runtime/subagents/subagents.service.d.ts +9 -6
  754. package/dist/runtime/subagents/subagents.service.js +13 -8
  755. package/dist/runtime/usage-report-jobs.d.ts +88 -0
  756. package/dist/runtime/usage-report-jobs.js +158 -0
  757. package/dist/runtime/usage-report.d.ts +35 -39
  758. package/dist/runtime/usage-report.js +171 -97
  759. package/dist/runtime/waits.d.ts +148 -39
  760. package/dist/runtime/waits.js +426 -112
  761. package/dist/sandbox/jobs.d.ts +40 -13
  762. package/dist/sandbox/jobs.js +57 -20
  763. package/dist/sandbox/leases.d.ts +37 -54
  764. package/dist/sandbox/leases.js +71 -115
  765. package/dist/sandbox/providers.d.ts +34 -7
  766. package/dist/sandbox/providers.js +54 -9
  767. package/dist/sandbox/sandbox-file-reader.d.ts +35 -0
  768. package/dist/sandbox/sandbox-file-reader.js +98 -0
  769. package/dist/sandbox/sandbox.module.d.ts +3 -2
  770. package/dist/sandbox/sandbox.module.js +10 -4
  771. package/dist/sandbox/sandbox.service.d.ts +345 -132
  772. package/dist/sandbox/sandbox.service.js +883 -399
  773. package/dist/sandbox/unreachable.d.ts +30 -0
  774. package/dist/sandbox/unreachable.js +108 -0
  775. package/dist/setup/kernel-checks.d.ts +91 -0
  776. package/dist/setup/kernel-checks.js +295 -0
  777. package/dist/setup/oauth-token-probe.d.ts +47 -0
  778. package/dist/setup/oauth-token-probe.js +108 -0
  779. package/dist/setup/redact-check.d.ts +18 -0
  780. package/dist/setup/redact-check.js +46 -0
  781. package/dist/setup/setup-check-registry.d.ts +86 -0
  782. package/dist/setup/setup-check-registry.js +75 -0
  783. package/dist/setup/setup-checks.controller.d.ts +28 -0
  784. package/dist/setup/setup-checks.controller.js +78 -0
  785. package/dist/setup/setup-checks.schemas.d.ts +38 -0
  786. package/dist/setup/setup-checks.schemas.js +43 -0
  787. package/dist/setup/setup-checks.service.d.ts +144 -0
  788. package/dist/setup/setup-checks.service.js +683 -0
  789. package/dist/setup/setup-guides.controller.d.ts +18 -0
  790. package/dist/setup/setup-guides.controller.js +48 -0
  791. package/dist/setup/setup-guides.schemas.d.ts +10 -0
  792. package/dist/setup/setup-guides.schemas.js +6 -0
  793. package/dist/setup/setup-guides.service.d.ts +126 -0
  794. package/dist/setup/setup-guides.service.js +315 -0
  795. package/dist/setup/setup.module.d.ts +8 -0
  796. package/dist/setup/setup.module.js +31 -0
  797. package/dist/skills/agent-skills.controller.d.ts +48 -0
  798. package/dist/skills/agent-skills.controller.js +131 -0
  799. package/dist/skills/agent-skills.service.d.ts +262 -0
  800. package/dist/skills/agent-skills.service.js +996 -0
  801. package/dist/skills/catalog.d.ts +14 -11
  802. package/dist/skills/catalog.js +32 -50
  803. package/dist/skills/changes.controller.d.ts +12 -22
  804. package/dist/skills/changes.controller.js +27 -56
  805. package/dist/skills/changes.service.d.ts +69 -115
  806. package/dist/skills/changes.service.js +249 -598
  807. package/dist/skills/conversation-catalog.d.ts +53 -0
  808. package/dist/skills/conversation-catalog.js +149 -0
  809. package/dist/skills/invocable.controller.d.ts +1 -1
  810. package/dist/skills/invocable.controller.js +2 -2
  811. package/dist/skills/invocation-keys.d.ts +1 -1
  812. package/dist/skills/invocation-keys.js +1 -1
  813. package/dist/skills/invoke.d.ts +3 -3
  814. package/dist/skills/invoke.js +21 -8
  815. package/dist/skills/package.d.ts +15 -1
  816. package/dist/skills/package.js +14 -1
  817. package/dist/skills/skills.controller.d.ts +32 -6
  818. package/dist/skills/skills.controller.js +64 -11
  819. package/dist/skills/skills.module.js +25 -3
  820. package/dist/skills/skills.schemas.d.ts +44 -0
  821. package/dist/skills/skills.schemas.js +68 -0
  822. package/dist/skills/skills.service.d.ts +123 -26
  823. package/dist/skills/skills.service.js +493 -76
  824. package/dist/skills/usable.d.ts +82 -0
  825. package/dist/skills/usable.js +388 -0
  826. package/dist/themes/render-css.d.ts +13 -0
  827. package/dist/themes/render-css.js +135 -0
  828. package/dist/themes/theme-delivery.service.d.ts +36 -0
  829. package/dist/themes/theme-delivery.service.js +116 -0
  830. package/dist/themes/theme-state.d.ts +116 -0
  831. package/dist/themes/theme-state.js +221 -0
  832. package/dist/themes/theme-usage.d.ts +61 -0
  833. package/dist/themes/theme-usage.js +98 -0
  834. package/dist/themes/themes-public.controller.d.ts +33 -0
  835. package/dist/themes/themes-public.controller.js +98 -0
  836. package/dist/themes/themes.controller.d.ts +13 -0
  837. package/dist/themes/themes.controller.js +38 -0
  838. package/dist/themes/themes.module.d.ts +3 -0
  839. package/dist/themes/themes.module.js +21 -0
  840. package/dist/themes/themes.schemas.d.ts +3 -0
  841. package/dist/themes/themes.schemas.js +2 -0
  842. package/dist/themes/themes.service.d.ts +50 -0
  843. package/dist/themes/themes.service.js +99 -0
  844. package/dist/time-zone.d.ts +5 -0
  845. package/dist/time-zone.js +19 -0
  846. package/dist/tools/admin-connectors.d.ts +69 -0
  847. package/dist/tools/admin-connectors.js +135 -0
  848. package/dist/tools/approvals.controller.js +2 -3
  849. package/dist/tools/approvals.schemas.d.ts +21 -0
  850. package/dist/tools/approvals.schemas.js +15 -0
  851. package/dist/tools/approvals.service.d.ts +26 -2
  852. package/dist/tools/approvals.service.js +44 -5
  853. package/dist/tools/builtin-names.d.ts +104 -0
  854. package/dist/tools/builtin-names.js +164 -0
  855. package/dist/tools/builtins/agent.d.ts +27 -25
  856. package/dist/tools/builtins/agent.js +66 -63
  857. package/dist/tools/builtins/ask-user.d.ts +1 -1
  858. package/dist/tools/builtins/ask-user.js +5 -4
  859. package/dist/tools/builtins/builtin-tools.d.ts +23 -4
  860. package/dist/tools/builtins/builtin-tools.js +78 -12
  861. package/dist/tools/builtins/current-time.d.ts +26 -0
  862. package/dist/tools/builtins/current-time.js +99 -0
  863. package/dist/tools/builtins/handback.d.ts +28 -0
  864. package/dist/tools/builtins/handback.js +53 -0
  865. package/dist/tools/builtins/platform.d.ts +51 -0
  866. package/dist/tools/builtins/platform.js +451 -0
  867. package/dist/tools/builtins/read-tool-output.d.ts +1 -1
  868. package/dist/tools/builtins/read-tool-output.js +2 -2
  869. package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
  870. package/dist/tools/builtins/sandbox/bash.js +291 -39
  871. package/dist/tools/builtins/sandbox/common.d.ts +135 -36
  872. package/dist/tools/builtins/sandbox/common.js +222 -62
  873. package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
  874. package/dist/tools/builtins/sandbox/deliver.js +19 -16
  875. package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
  876. package/dist/tools/builtins/sandbox/edit.js +64 -50
  877. package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
  878. package/dist/tools/builtins/sandbox/file-state.js +34 -0
  879. package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
  880. package/dist/tools/builtins/sandbox/glob-match.js +1 -1
  881. package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
  882. package/dist/tools/builtins/sandbox/glob.js +17 -12
  883. package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
  884. package/dist/tools/builtins/sandbox/grep.js +153 -34
  885. package/dist/tools/builtins/sandbox/index.d.ts +9 -5
  886. package/dist/tools/builtins/sandbox/index.js +13 -5
  887. package/dist/tools/builtins/sandbox/read.d.ts +2 -2
  888. package/dist/tools/builtins/sandbox/read.js +29 -19
  889. package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
  890. package/dist/tools/builtins/sandbox/task-output.js +334 -0
  891. package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
  892. package/dist/tools/builtins/sandbox/task-stop.js +113 -0
  893. package/dist/tools/builtins/sandbox/write.d.ts +1 -1
  894. package/dist/tools/builtins/sandbox/write.js +51 -44
  895. package/dist/tools/builtins/send-message.d.ts +56 -0
  896. package/dist/tools/builtins/send-message.js +100 -0
  897. package/dist/tools/builtins/skill-load.d.ts +29 -18
  898. package/dist/tools/builtins/skill-load.js +125 -73
  899. package/dist/tools/builtins/tool-search.d.ts +13 -9
  900. package/dist/tools/builtins/tool-search.js +25 -14
  901. package/dist/tools/builtins/web/errors.d.ts +8 -0
  902. package/dist/tools/builtins/web/errors.js +53 -0
  903. package/dist/tools/builtins/web/extract.d.ts +62 -0
  904. package/dist/tools/builtins/web/extract.js +271 -0
  905. package/dist/tools/builtins/web/fetch.d.ts +55 -0
  906. package/dist/tools/builtins/web/fetch.js +175 -0
  907. package/dist/tools/builtins/web/index.d.ts +13 -0
  908. package/dist/tools/builtins/web/index.js +12 -0
  909. package/dist/tools/builtins/web/page-cache.d.ts +25 -0
  910. package/dist/tools/builtins/web/page-cache.js +77 -0
  911. package/dist/tools/builtins/web/search.d.ts +25 -0
  912. package/dist/tools/builtins/web/search.js +210 -0
  913. package/dist/tools/builtins/web/url.d.ts +17 -0
  914. package/dist/tools/builtins/web/url.js +43 -0
  915. package/dist/tools/connector-account-policies.d.ts +51 -0
  916. package/dist/tools/connector-account-policies.js +165 -0
  917. package/dist/tools/connectors.controller.d.ts +74 -9
  918. package/dist/tools/connectors.controller.js +133 -16
  919. package/dist/tools/connectors.schemas.d.ts +27 -0
  920. package/dist/tools/connectors.schemas.js +34 -0
  921. package/dist/tools/connectors.service.d.ts +101 -8
  922. package/dist/tools/connectors.service.js +266 -28
  923. package/dist/tools/credentials.d.ts +23 -0
  924. package/dist/tools/credentials.js +90 -1
  925. package/dist/tools/display-names.d.ts +9 -0
  926. package/dist/tools/display-names.js +24 -0
  927. package/dist/tools/drift.js +5 -5
  928. package/dist/tools/elicitation.js +1 -1
  929. package/dist/tools/extension-tools.controller.d.ts +14 -0
  930. package/dist/tools/extension-tools.controller.js +37 -0
  931. package/dist/tools/info.d.ts +61 -4
  932. package/dist/tools/info.js +119 -33
  933. package/dist/tools/legacy-data.d.ts +34 -0
  934. package/dist/tools/legacy-data.js +76 -0
  935. package/dist/tools/legacy-keys.d.ts +51 -0
  936. package/dist/tools/legacy-keys.js +114 -0
  937. package/dist/tools/naming.d.ts +1 -5
  938. package/dist/tools/naming.js +1 -7
  939. package/dist/tools/oauth/flow-paths.d.ts +1 -1
  940. package/dist/tools/oauth/flow-paths.js +1 -1
  941. package/dist/tools/oauth/flow.js +1 -1
  942. package/dist/tools/oauth/tokens.d.ts +54 -7
  943. package/dist/tools/oauth/tokens.js +87 -17
  944. package/dist/tools/org-tool-switches.d.ts +89 -0
  945. package/dist/tools/org-tool-switches.js +201 -0
  946. package/dist/tools/outputs.js +1 -1
  947. package/dist/tools/pipeline.d.ts +67 -47
  948. package/dist/tools/pipeline.js +319 -380
  949. package/dist/tools/policy.d.ts +30 -23
  950. package/dist/tools/policy.js +142 -64
  951. package/dist/tools/questions.controller.d.ts +1 -1
  952. package/dist/tools/questions.controller.js +1 -1
  953. package/dist/tools/questions.service.d.ts +23 -2
  954. package/dist/tools/questions.service.js +104 -2
  955. package/dist/tools/registry.d.ts +189 -68
  956. package/dist/tools/registry.js +318 -236
  957. package/dist/tools/resources.d.ts +1 -1
  958. package/dist/tools/resources.js +1 -1
  959. package/dist/tools/tools.module.js +31 -3
  960. package/dist/tools/validate.js +1 -1
  961. package/dist/ui/admin-ui.controller.d.ts +56 -0
  962. package/dist/ui/admin-ui.controller.js +192 -0
  963. package/dist/ui/arrangement.d.ts +65 -0
  964. package/dist/ui/arrangement.js +171 -0
  965. package/dist/ui/embed-token.d.ts +2 -2
  966. package/dist/ui/embed-token.js +30 -5
  967. package/dist/ui/registry.d.ts +42 -17
  968. package/dist/ui/registry.js +46 -14
  969. package/dist/ui/slots.controller.d.ts +11 -0
  970. package/dist/ui/slots.controller.js +25 -0
  971. package/dist/ui/ui-stream.d.ts +20 -3
  972. package/dist/ui/ui-stream.js +25 -7
  973. package/dist/ui/ui.schemas.d.ts +70 -0
  974. package/dist/ui/ui.schemas.js +65 -0
  975. package/dist/ui/views.controller.d.ts +35 -49
  976. package/dist/ui/views.controller.js +48 -70
  977. package/dist/ui/views.d.ts +112 -18
  978. package/dist/ui/views.js +254 -47
  979. package/package.json +6 -3
  980. package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
  981. package/src/migrations/0064_account_last_org.sql +7 -0
  982. package/src/migrations/0065_conversation_archive.sql +8 -0
  983. package/src/migrations/0066_extension_display_name.sql +4 -0
  984. package/src/migrations/0067_agent_profiles.sql +20 -0
  985. package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
  986. package/src/migrations/0069_attachments_agent_idx.sql +3 -0
  987. package/src/migrations/0070_background_tasks.sql +37 -0
  988. package/src/migrations/0071_background_tasks_reserve.sql +6 -0
  989. package/src/migrations/0072_background_tasks_stopping.sql +5 -0
  990. package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
  991. package/src/migrations/0074_subagent_tree.sql +50 -0
  992. package/src/migrations/0075_plugin_scope.sql +61 -0
  993. package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
  994. package/src/migrations/0077_scope_requests.sql +52 -0
  995. package/src/migrations/0078_scope_grant_switches.sql +18 -0
  996. package/src/migrations/0079_scope_live_install_switches.sql +19 -0
  997. package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
  998. package/src/migrations/0081_platform_components.sql +129 -0
  999. package/src/migrations/0082_platform_migration.sql +33 -0
  1000. package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
  1001. package/src/migrations/0084_org_owned_items.sql +85 -0
  1002. package/src/migrations/0085_agent_templates_phase4.sql +45 -0
  1003. package/src/migrations/0086_org_layering.sql +30 -0
  1004. package/src/migrations/0087_approval_summary.sql +6 -0
  1005. package/src/migrations/0088_environments.sql +80 -0
  1006. package/src/migrations/0089_model_kinds_usage.sql +38 -0
  1007. package/src/migrations/0090_initial_passwords.sql +27 -0
  1008. package/src/migrations/0091_account_time_zone.sql +4 -0
  1009. package/src/migrations/0092_tools_default_on.sql +27 -0
  1010. package/src/migrations/0093_connected_environments.sql +37 -0
  1011. package/src/migrations/0094_environment_paths_idx.sql +7 -0
  1012. package/src/migrations/0095_environment_files_resets.sql +5 -0
  1013. package/src/migrations/0096_environment_demoted_default.sql +18 -0
  1014. package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
  1015. package/src/migrations/0098_single_provider_running_first.sql +41 -0
  1016. package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
  1017. package/src/migrations/0100_catalog_files.sql +13 -0
  1018. package/src/migrations/0101_marketplace_icons.sql +32 -0
  1019. package/src/migrations/0102_themes.sql +64 -0
  1020. package/src/migrations/0103_ui_theme_setting.sql +7 -0
  1021. package/src/migrations/0104_connector_tool_account_policies.sql +16 -0
  1022. package/src/migrations/0105_devices_rename.sql +136 -0
  1023. package/src/migrations/0106_setup_guides_v2.sql +10 -0
  1024. package/src/migrations/0107_extension_client_builds.sql +50 -0
  1025. package/src/migrations/0108_question_skipped.sql +6 -0
  1026. package/src/migrations/0109_audit_platform_idx.sql +5 -0
  1027. package/src/migrations/0110_usage_time_idx.sql +8 -0
  1028. package/src/migrations/0111_agent_skill_sharing.sql +22 -0
  1029. package/src/migrations/0112_skill_share_requests.sql +4 -0
  1030. package/dist/catalog/upgrade-targets.d.ts +0 -56
  1031. package/dist/catalog/upgrade-targets.js +0 -90
  1032. package/dist/conversations/sandbox-status.d.ts +0 -24
  1033. package/dist/conversations/sandbox-status.js +0 -52
  1034. package/dist/extensions/org-config.controller.d.ts +0 -24
  1035. package/dist/extensions/org-config.controller.js +0 -62
  1036. package/dist/tools/builtins/sandbox/names.d.ts +0 -7
  1037. package/dist/tools/builtins/sandbox/names.js +0 -20
  1038. package/dist/tools/builtins/skill-write.d.ts +0 -59
  1039. package/dist/tools/builtins/skill-write.js +0 -244
@@ -0,0 +1,783 @@
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
+ };
10
+ import { Inject, Injectable } from "@nestjs/common";
11
+ import { z } from "zod";
12
+ import { ModelRef } from "../../agents/definition.js";
13
+ import { ApiError } from "../../errors.js";
14
+ import { EvalAddCaseBody, EvalCandidateSchema, EvalCaseParams, EvalLabelBody, EvalResultParams, EvalRunEstimateBody, EvalRunParams, EvalRunResultsQuery, EvalSampleBody, EvalSetCreateBody, EvalSetParams, EvalSetPatchBody, } from "../../evals/evals.schemas.js";
15
+ import { EvalRunsService } from "../../evals/runs.service.js";
16
+ import { EvalSetsService } from "../../evals/sets.service.js";
17
+ import { KernelConfigService } from "../../infra/config/kernel-config.service.js";
18
+ import { KernelDb } from "../../infra/database/kernel-db.js";
19
+ import { defineOperation } from "../operation.js";
20
+ import { PlatformOperations } from "../registry.js";
21
+ import { precheckBy, viaAgent } from "./errors.js";
22
+ import { Cursor, pageOf, startOf } from "./paging.js";
23
+ import { named, orElse } from "./summary.js";
24
+ const PAGE = 50;
25
+ const SetId = EvalSetParams.shape.setId;
26
+ const CaseId = EvalCaseParams.shape.caseId;
27
+ const RunId = EvalRunParams.shape.runId;
28
+ const ResultId = EvalResultParams.shape.resultId;
29
+ /** The candidate with every string bounded (the route's model and params strings are not). */
30
+ const Candidate = EvalCandidateSchema.extend({
31
+ model: ModelRef.strict()
32
+ .extend({ provider: z.string().min(1).max(200), model: z.string().min(1).max(200) })
33
+ .optional(),
34
+ modelParams: z
35
+ .record(z.string().min(1).max(100), z.union([z.string().max(1000), z.number(), z.boolean()]))
36
+ .optional(),
37
+ }).strict();
38
+ /** The body of `evals.estimate-run` and `evals.start-run`: the route's, with the bounded candidate. */
39
+ const RunBody = EvalRunEstimateBody.extend({
40
+ setId: SetId,
41
+ candidate: Candidate,
42
+ tokenCap: z.number().int().min(1).max(1_000_000_000).optional(),
43
+ }).strict();
44
+ const setRow = (s) => ({
45
+ id: s.id,
46
+ name: s.name,
47
+ state: s.caseCount === 0 ? "empty" : "ready",
48
+ ...(s.caseCount === 0 && { next: "Add cases with evals.add-case or evals.sample-cases." }),
49
+ agentId: s.agentId,
50
+ caseCount: s.caseCount,
51
+ createdAt: s.createdAt,
52
+ });
53
+ /**
54
+ * A case as a result shows it: a neutral label ("case 3"), never its title, which is an excerpt of
55
+ * the person's message and so conversation content.
56
+ */
57
+ const caseRow = (c, n) => ({
58
+ id: c.id,
59
+ name: `case ${n}`,
60
+ sourceConversationId: c.sourceConversationId,
61
+ sourceRunId: c.sourceRunId,
62
+ agentVersion: c.agentVersion,
63
+ replayableSteps: c.replayableSteps,
64
+ });
65
+ const runRow = (r) => ({
66
+ id: r.id,
67
+ name: `${r.mode} run`,
68
+ state: r.status,
69
+ ...(r.error !== null && { reason: r.error.code }),
70
+ mode: r.mode,
71
+ progress: `${r.casesDone}/${r.casesTotal}`,
72
+ createdAt: r.createdAt,
73
+ });
74
+ /** What a run summary line says about the candidate. */
75
+ const candidateText = (c) => {
76
+ const bits = [];
77
+ if (c.model !== undefined)
78
+ bits.push(`${c.model.provider}/${c.model.model}`);
79
+ if (c.agentVersion !== undefined)
80
+ bits.push(`agent version ${c.agentVersion}`);
81
+ if (c.instructions !== undefined)
82
+ bits.push("new instructions");
83
+ if (c.modelParams !== undefined)
84
+ bits.push("model params");
85
+ return bits.length === 0 ? "the unchanged agent" : bits.join(", ");
86
+ };
87
+ /** The candidate without the keys zod left undefined (exactOptionalPropertyTypes). */
88
+ const candidateOf = (c) => ({
89
+ ...(c.agentVersion !== undefined && { agentVersion: c.agentVersion }),
90
+ ...(c.model !== undefined && { model: c.model }),
91
+ ...(c.modelParams !== undefined && { modelParams: c.modelParams }),
92
+ ...(c.instructions !== undefined && { instructions: c.instructions }),
93
+ });
94
+ /**
95
+ * Eval operations of the `Platform` tool (spec §14): eval sets, their cases, runs and results,
96
+ * all for org admins (`evals.manage`), like the routes. Cases and full results are copies of
97
+ * conversation content: reading one is audited (`trajectory.viewed`, `eval.results_viewed`) with
98
+ * the operation that did it.
99
+ */
100
+ let EvalsOperations = class EvalsOperations {
101
+ registry;
102
+ sets;
103
+ runs;
104
+ kdb;
105
+ config;
106
+ constructor(registry, sets, runs, kdb, config) {
107
+ this.registry = registry;
108
+ this.sets = sets;
109
+ this.runs = runs;
110
+ this.kdb = kdb;
111
+ this.config = config;
112
+ }
113
+ /** The position of a case in its set, from 1 (0 when it is not there): the case's label. */
114
+ async caseNo(ctx, setId, caseId) {
115
+ const set = await orElse(() => this.sets.get(ctx.orgId, setId), null);
116
+ return (set?.cases.findIndex((c) => c.id === caseId) ?? -1) + 1;
117
+ }
118
+ /** The set's eval-set row of the org, or the refusal the routes give. */
119
+ setCheck(ctx, setId) {
120
+ return precheckBy(() => this.sets.get(ctx.orgId, setId));
121
+ }
122
+ /** Whether the set may take one more case (the configured maximum). */
123
+ async roomCheck(ctx, setId) {
124
+ const found = await this.setCheck(ctx, setId);
125
+ if (!found.ok)
126
+ return found;
127
+ const max = this.config.get().evals.maxCasesPerSet;
128
+ const set = await this.sets.get(ctx.orgId, setId);
129
+ return set.cases.length >= max
130
+ ? {
131
+ ok: false,
132
+ code: "eval.too_many_cases",
133
+ message: `The eval set already has ${max} cases, the most it can hold`,
134
+ }
135
+ : { ok: true };
136
+ }
137
+ setName(ctx, setId) {
138
+ return orElse(async () => named((await this.sets.get(ctx.orgId, setId)).name), setId);
139
+ }
140
+ onModuleInit() {
141
+ this.registry.register([
142
+ defineOperation({
143
+ id: "evals.list-sets",
144
+ description: "List the org's eval sets (org admins): name, agent, number of cases. Pages by 50: pass the returned next as params.cursor.",
145
+ input: z.object({ cursor: Cursor.optional() }).strict(),
146
+ example: {},
147
+ authz: { orgAction: "evals.manage" },
148
+ mirrors: ["GET /api/v1/orgs/:orgId/eval-sets"],
149
+ extras: ["cursor"],
150
+ confirm: "read",
151
+ run: async (input, ctx) => {
152
+ const all = (await this.sets.list(ctx.orgId)).map(setRow);
153
+ return pageOf(all, startOf(input.cursor), PAGE);
154
+ },
155
+ }),
156
+ defineOperation({
157
+ id: "evals.get-set",
158
+ description: "Read one eval set with its cases, labelled case 1, case 2, ... (source conversation and run ids, agent version, replayable steps). Case titles and content are conversation content and are never returned; an org admin reads them on the web.",
159
+ input: z.object({ setId: SetId }).strict(),
160
+ example: { setId: "3b1f0c52-8d2a-4a57-9a43-6f1d2c9e7a10" },
161
+ authz: { orgAction: "evals.manage" },
162
+ mirrors: ["GET /api/v1/orgs/:orgId/eval-sets/:setId"],
163
+ confirm: "read",
164
+ errors: [
165
+ { code: "eval.set_not_found", next: "Check the eval set id with evals.list-sets." },
166
+ ],
167
+ run: async (input, ctx) => {
168
+ const { cases, ...set } = await this.sets.get(ctx.orgId, input.setId);
169
+ return { set, cases: cases.map((c, i) => caseRow(c, i + 1)) };
170
+ },
171
+ }),
172
+ defineOperation({
173
+ id: "evals.create-set",
174
+ description: "Create an eval set for one agent (org admins), optionally with a rubric the judge scores by. Add cases afterwards with evals.add-case or evals.sample-cases.",
175
+ input: EvalSetCreateBody,
176
+ example: {
177
+ agentId: "7c1a5b0e-9a53-4c6b-8d64-2f5a1b0c3e77",
178
+ name: "Refund questions",
179
+ rubric: "The answer states the refund window and does not promise exceptions.",
180
+ },
181
+ authz: { orgAction: "evals.manage" },
182
+ mirrors: ["POST /api/v1/orgs/:orgId/eval-sets"],
183
+ confirm: "org",
184
+ errors: [
185
+ {
186
+ code: "agent.not_found",
187
+ next: "Check the agent id with agents.list; an eval set belongs to one agent of this org.",
188
+ },
189
+ ],
190
+ precheck: async (i, ctx) => {
191
+ const a = await this.kdb.db
192
+ .selectFrom("agents")
193
+ .select("id")
194
+ .where("id", "=", i.agentId)
195
+ .where("org_id", "=", ctx.orgId)
196
+ .where("deleted_at", "is", null)
197
+ .executeTakeFirst();
198
+ return a === undefined
199
+ ? { ok: false, code: "agent.not_found", message: "Agent not found" }
200
+ : { ok: true };
201
+ },
202
+ summary: (i) => ({
203
+ zh: `新建评测集「${named(i.name)}」(智能体 ${i.agentId})`,
204
+ en: `Create eval set "${named(i.name)}" for agent ${i.agentId}`,
205
+ }),
206
+ run: async (input, ctx) => ({
207
+ set: setRow(await this.sets.create(ctx.orgId, ctx.actorAccountId, {
208
+ agentId: input.agentId,
209
+ name: input.name,
210
+ ...(input.description !== undefined && { description: input.description }),
211
+ ...(input.rubric !== undefined && { rubric: input.rubric }),
212
+ }, undefined, viaAgent("evals.create-set", ctx))),
213
+ }),
214
+ }),
215
+ defineOperation({
216
+ id: "evals.update-set",
217
+ description: "Change an eval set's name, description or rubric (org admins); send only the fields to change. A null rubric clears it.",
218
+ input: EvalSetPatchBody.extend({ setId: SetId })
219
+ .strict()
220
+ .refine((v) => v.name !== undefined || v.description !== undefined || v.rubric !== undefined, {
221
+ message: "Send at least one of name, description or rubric",
222
+ }),
223
+ example: { setId: "3b1f0c52-8d2a-4a57-9a43-6f1d2c9e7a10", name: "Refund questions v2" },
224
+ authz: { orgAction: "evals.manage" },
225
+ mirrors: ["PATCH /api/v1/orgs/:orgId/eval-sets/:setId"],
226
+ confirm: "org",
227
+ errors: [
228
+ { code: "eval.set_not_found", next: "Check the eval set id with evals.list-sets." },
229
+ ],
230
+ precheck: (i, ctx) => this.setCheck(ctx, i.setId),
231
+ summary: async (i, ctx) => {
232
+ const n = await this.setName(ctx, i.setId);
233
+ return {
234
+ zh: `修改评测集「${n}」`,
235
+ en: `Update eval set "${n}"`,
236
+ };
237
+ },
238
+ run: async (input, ctx) => {
239
+ const { setId, ...patch } = input;
240
+ return {
241
+ set: setRow(await this.sets.update(ctx.orgId, ctx.actorAccountId, setId, {
242
+ ...(patch.name !== undefined && { name: patch.name }),
243
+ ...(patch.description !== undefined && { description: patch.description }),
244
+ ...(patch.rubric !== undefined && { rubric: patch.rubric }),
245
+ }, undefined, viaAgent("evals.update-set", ctx))),
246
+ };
247
+ },
248
+ }),
249
+ defineOperation({
250
+ id: "evals.delete-set",
251
+ description: "Delete an eval set (org admins): its cases and their copied conversation content are removed, runs in progress are cancelled, past results disappear with it.",
252
+ input: z.object({ setId: SetId }).strict(),
253
+ example: { setId: "3b1f0c52-8d2a-4a57-9a43-6f1d2c9e7a10" },
254
+ authz: { orgAction: "evals.manage" },
255
+ mirrors: ["DELETE /api/v1/orgs/:orgId/eval-sets/:setId"],
256
+ confirm: "org",
257
+ errors: [
258
+ { code: "eval.set_not_found", next: "Check the eval set id with evals.list-sets." },
259
+ ],
260
+ precheck: (i, ctx) => precheckBy(() => this.sets.get(ctx.orgId, i.setId)),
261
+ summary: async (i, ctx) => {
262
+ const set = await orElse(() => this.sets.get(ctx.orgId, i.setId), null);
263
+ const n = named(set?.name ?? i.setId);
264
+ const cases = set?.cases.length ?? 0;
265
+ return {
266
+ zh: `删除评测集「${n}」:${cases} 个用例及其复制的对话内容将被删除,进行中的运行将被取消`,
267
+ en: `Delete eval set "${n}": its ${cases} cases and their copied conversation content are removed and runs in progress are cancelled`,
268
+ };
269
+ },
270
+ run: async (input, ctx) => {
271
+ await this.sets.remove(ctx.orgId, ctx.actorAccountId, input.setId, undefined, viaAgent("evals.delete-set", ctx));
272
+ return { id: input.setId, deleted: true };
273
+ },
274
+ }),
275
+ defineOperation({
276
+ id: "evals.add-case",
277
+ description: "Add one finished run of a conversation to an eval set as a case (org admins): a snapshot of that run is stored in the set. The conversation must belong to the set's agent.",
278
+ input: EvalAddCaseBody.extend({ setId: SetId }).strict(),
279
+ example: {
280
+ setId: "3b1f0c52-8d2a-4a57-9a43-6f1d2c9e7a10",
281
+ conversationId: "5d2e8f1a-0b3c-4d5e-8f9a-1b2c3d4e5f60",
282
+ runId: "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
283
+ },
284
+ authz: { orgAction: "evals.manage" },
285
+ mirrors: ["POST /api/v1/orgs/:orgId/eval-sets/:setId/cases"],
286
+ confirm: "org",
287
+ errors: [
288
+ { code: "eval.set_not_found", next: "Check the eval set id with evals.list-sets." },
289
+ {
290
+ code: "conversation.not_found",
291
+ next: "The conversation or run is not in this org; check the ids on the conversation's page.",
292
+ },
293
+ {
294
+ code: "eval.agent_mismatch",
295
+ next: "The run belongs to another agent than the set's; add runs of the set's agent.",
296
+ },
297
+ { code: "eval.case_exists", next: "That run is already a case of the set." },
298
+ {
299
+ code: "eval.too_many_cases",
300
+ next: "The set is full; remove a case with evals.remove-case or use another set.",
301
+ },
302
+ {
303
+ code: "eval.run_not_finished",
304
+ next: "The run has not finished; add it after it ends.",
305
+ },
306
+ {
307
+ code: "eval.case_too_large",
308
+ next: "The run's snapshot is too large to store as a case.",
309
+ },
310
+ ],
311
+ precheck: async (i, ctx) => {
312
+ const found = await this.setCheck(ctx, i.setId);
313
+ if (!found.ok)
314
+ return found;
315
+ const set = await this.sets.get(ctx.orgId, i.setId);
316
+ const conv = await this.kdb.db
317
+ .selectFrom("conversations")
318
+ .select(["agent_id", "kind"])
319
+ .where("id", "=", i.conversationId)
320
+ .where("org_id", "=", ctx.orgId)
321
+ .executeTakeFirst();
322
+ if (conv?.kind !== "chat" && conv?.kind !== "subagent") {
323
+ return {
324
+ ok: false,
325
+ code: "conversation.not_found",
326
+ message: "Conversation or run not found",
327
+ };
328
+ }
329
+ const sets = await this.kdb.db
330
+ .selectFrom("eval_sets")
331
+ .select("agent_id")
332
+ .where("id", "=", i.setId)
333
+ .executeTakeFirstOrThrow();
334
+ if (conv.agent_id !== sets.agent_id) {
335
+ return {
336
+ ok: false,
337
+ code: "eval.agent_mismatch",
338
+ message: "The run belongs to a different agent",
339
+ };
340
+ }
341
+ if (set.cases.some((c) => c.sourceRunId === i.runId)) {
342
+ return {
343
+ ok: false,
344
+ code: "eval.case_exists",
345
+ message: "That run is already a case of the eval set",
346
+ };
347
+ }
348
+ const run = await this.kdb.db
349
+ .selectFrom("runs")
350
+ .select("status")
351
+ .where("id", "=", i.runId)
352
+ .where("conversation_id", "=", i.conversationId)
353
+ .executeTakeFirst();
354
+ if (run === undefined) {
355
+ return {
356
+ ok: false,
357
+ code: "conversation.not_found",
358
+ message: "Conversation or run not found",
359
+ };
360
+ }
361
+ if (run.status === "running" || run.status === "queued") {
362
+ return {
363
+ ok: false,
364
+ code: "eval.run_not_finished",
365
+ message: "The run has not finished yet",
366
+ };
367
+ }
368
+ return this.roomCheck(ctx, i.setId);
369
+ },
370
+ summary: async (i, ctx) => {
371
+ const n = await this.setName(ctx, i.setId);
372
+ return {
373
+ zh: `把对话 ${i.conversationId} 的一次运行加入评测集「${n}」作为用例`,
374
+ en: `Add a run of conversation ${i.conversationId} to eval set "${n}" as a case`,
375
+ };
376
+ },
377
+ run: async (input, ctx) => {
378
+ const { setId, ...body } = input;
379
+ const added = await this.sets.addCase(ctx.orgId, ctx.actorAccountId, setId, body, undefined, viaAgent("evals.add-case", ctx));
380
+ return { case: caseRow(added, await this.caseNo(ctx, setId, added.id)) };
381
+ },
382
+ }),
383
+ defineOperation({
384
+ id: "evals.sample-cases",
385
+ description: "Add random finished runs of the set's agent to an eval set as cases (org admins), up to count, optionally within a time range, by status or with a minimum number of tool calls. Returns how many were added and skipped.",
386
+ input: EvalSampleBody.extend({ setId: SetId }).strict(),
387
+ example: { setId: "3b1f0c52-8d2a-4a57-9a43-6f1d2c9e7a10", count: 10 },
388
+ authz: { orgAction: "evals.manage" },
389
+ mirrors: ["POST /api/v1/orgs/:orgId/eval-sets/:setId/cases/sample"],
390
+ confirm: "org",
391
+ errors: [
392
+ { code: "eval.set_not_found", next: "Check the eval set id with evals.list-sets." },
393
+ {
394
+ code: "eval.too_many_cases",
395
+ next: "The set is full; remove a case with evals.remove-case or use another set.",
396
+ },
397
+ ],
398
+ precheck: (i, ctx) => this.roomCheck(ctx, i.setId),
399
+ summary: async (i, ctx) => {
400
+ const n = await this.setName(ctx, i.setId);
401
+ return {
402
+ zh: `从评测集「${n}」的智能体的历史运行中随机抽样至多 ${i.count} 个用例`,
403
+ en: `Sample up to ${i.count} cases from the history of the agent of eval set "${n}"`,
404
+ };
405
+ },
406
+ run: async (input, ctx) => {
407
+ const { setId, ...body } = input;
408
+ return this.sets.sample(ctx.orgId, ctx.actorAccountId, setId, {
409
+ count: body.count,
410
+ ...(body.from !== undefined && { from: body.from }),
411
+ ...(body.to !== undefined && { to: body.to }),
412
+ ...(body.status !== undefined && { status: body.status }),
413
+ ...(body.minToolCalls !== undefined && { minToolCalls: body.minToolCalls }),
414
+ }, undefined, viaAgent("evals.sample-cases", ctx));
415
+ },
416
+ }),
417
+ defineOperation({
418
+ id: "evals.get-case",
419
+ description: "Read one eval case's metadata (org admins): its label in the set, source conversation and run ids, agent version and how many steps can be replayed. The case's messages and trajectory are conversation content and are never returned; an org admin reads them on the web.",
420
+ input: z.object({ setId: SetId, caseId: CaseId }).strict(),
421
+ example: {
422
+ setId: "3b1f0c52-8d2a-4a57-9a43-6f1d2c9e7a10",
423
+ caseId: "6e5d4c3b-2a19-4f08-9e7d-6c5b4a392817",
424
+ },
425
+ authz: { orgAction: "evals.manage" },
426
+ mirrors: ["GET /api/v1/orgs/:orgId/eval-sets/:setId/cases/:caseId"],
427
+ confirm: "read",
428
+ errors: [
429
+ { code: "eval.set_not_found", next: "Check the eval set id with evals.list-sets." },
430
+ {
431
+ code: "eval.case_not_found",
432
+ next: "Check the case id with evals.get-set.",
433
+ },
434
+ ],
435
+ run: async (input, ctx) => {
436
+ const set = await this.sets.get(ctx.orgId, input.setId);
437
+ const i = set.cases.findIndex((c) => c.id === input.caseId);
438
+ const found = set.cases[i];
439
+ if (found === undefined)
440
+ throw new ApiError("eval.case_not_found", "Eval case not found");
441
+ return { case: caseRow(found, i + 1) };
442
+ },
443
+ }),
444
+ defineOperation({
445
+ id: "evals.remove-case",
446
+ description: "Remove one case from an eval set (org admins); its copied conversation content and its results are deleted. Use the case id from evals.get-set.",
447
+ input: z.object({ setId: SetId, caseId: CaseId }).strict(),
448
+ example: {
449
+ setId: "3b1f0c52-8d2a-4a57-9a43-6f1d2c9e7a10",
450
+ caseId: "6e5d4c3b-2a19-4f08-9e7d-6c5b4a392817",
451
+ },
452
+ authz: { orgAction: "evals.manage" },
453
+ mirrors: ["DELETE /api/v1/orgs/:orgId/eval-sets/:setId/cases/:caseId"],
454
+ confirm: "org",
455
+ errors: [
456
+ { code: "eval.set_not_found", next: "Check the eval set id with evals.list-sets." },
457
+ { code: "eval.case_not_found", next: "Check the case id with evals.get-set." },
458
+ ],
459
+ precheck: async (i, ctx) => {
460
+ const found = await this.setCheck(ctx, i.setId);
461
+ if (!found.ok)
462
+ return found;
463
+ return (await this.caseNo(ctx, i.setId, i.caseId)) === 0
464
+ ? { ok: false, code: "eval.case_not_found", message: "Eval case not found" }
465
+ : { ok: true };
466
+ },
467
+ summary: async (i, ctx) => {
468
+ const set = await orElse(() => this.sets.get(ctx.orgId, i.setId), null);
469
+ const no = (set?.cases.findIndex((c) => c.id === i.caseId) ?? -1) + 1;
470
+ const label = no === 0 ? i.caseId : `case ${no}`;
471
+ const n = named(set?.name ?? i.setId);
472
+ return {
473
+ zh: `从评测集「${n}」移除用例 ${label}`,
474
+ en: `Remove ${label} from eval set "${n}"`,
475
+ };
476
+ },
477
+ run: async (input, ctx) => {
478
+ await this.sets.removeCase(ctx.orgId, ctx.actorAccountId, input.setId, input.caseId, undefined, viaAgent("evals.remove-case", ctx));
479
+ return { id: input.caseId, removed: true };
480
+ },
481
+ }),
482
+ defineOperation({
483
+ id: "evals.estimate-run",
484
+ description: "Estimate an eval run without starting it (org admins): the candidate (another agent version, model, model params or instructions) replayed over the set's cases, in step mode (one model call per case step) or run mode (whole runs). Returns request counts, estimated tokens and cost, and the token cap that would apply.",
485
+ input: RunBody,
486
+ example: {
487
+ setId: "3b1f0c52-8d2a-4a57-9a43-6f1d2c9e7a10",
488
+ mode: "step",
489
+ candidate: {},
490
+ judge: false,
491
+ },
492
+ authz: { orgAction: "evals.manage" },
493
+ mirrors: ["POST /api/v1/orgs/:orgId/eval-sets/:setId/runs/estimate"],
494
+ confirm: "read",
495
+ errors: [
496
+ { code: "eval.set_not_found", next: "Check the eval set id with evals.list-sets." },
497
+ {
498
+ code: "eval.candidate_invalid",
499
+ next: "The candidate cannot run on the cases; fix it as the message and details say.",
500
+ },
501
+ {
502
+ code: "eval.token_cap_invalid",
503
+ next: "Send a tokenCap within the limits of the estimate, or leave it out for the default.",
504
+ },
505
+ ],
506
+ run: async (input, ctx) => this.runs.estimate(ctx.orgId, input.setId, {
507
+ mode: input.mode,
508
+ candidate: candidateOf(input.candidate),
509
+ judge: input.judge,
510
+ ...(input.tokenCap !== undefined && { tokenCap: input.tokenCap }),
511
+ }),
512
+ }),
513
+ defineOperation({
514
+ id: "evals.start-run",
515
+ description: "Start an eval run over a set's cases (org admins): the candidate is replayed on each case, optionally scored by the judge with the set's rubric. It spends model tokens up to the token cap; read evals.estimate-run first and show the estimate to the person.",
516
+ input: RunBody,
517
+ example: {
518
+ setId: "3b1f0c52-8d2a-4a57-9a43-6f1d2c9e7a10",
519
+ mode: "step",
520
+ candidate: {},
521
+ judge: false,
522
+ },
523
+ authz: { orgAction: "evals.manage" },
524
+ // the same body as the estimate, with the setId of the path
525
+ mirrors: ["POST /api/v1/orgs/:orgId/eval-sets/:setId/runs"],
526
+ confirm: "org",
527
+ errors: [
528
+ { code: "eval.set_not_found", next: "Check the eval set id with evals.list-sets." },
529
+ {
530
+ code: "eval.candidate_invalid",
531
+ next: "The candidate cannot run on the cases; fix it as the message and details say.",
532
+ },
533
+ {
534
+ code: "eval.nothing_to_replay",
535
+ next: "The set has nothing to replay in this mode; add cases with evals.add-case.",
536
+ },
537
+ {
538
+ code: "eval.token_cap_invalid",
539
+ next: "Send a tokenCap within the limits shown by evals.estimate-run, or leave it out.",
540
+ },
541
+ {
542
+ code: "agent.model_unavailable",
543
+ next: {
544
+ superAdmin: "The model cannot be used: configure its provider in the admin console, then start again.",
545
+ orgAdmin: "The model cannot be used in this org; choose another or ask the super admin.",
546
+ member: "The model cannot be used in this org; ask an org admin.",
547
+ },
548
+ },
549
+ ],
550
+ // a candidate or set the run cannot start with is denied before the card (read-only)
551
+ precheck: async (i, ctx) => {
552
+ let cases = 0;
553
+ const checked = await precheckBy(async () => {
554
+ const e = await this.runs.estimate(ctx.orgId, i.setId, {
555
+ mode: i.mode,
556
+ candidate: candidateOf(i.candidate),
557
+ judge: i.judge,
558
+ ...(i.tokenCap !== undefined && { tokenCap: i.tokenCap }),
559
+ });
560
+ cases = e.estimate.cases;
561
+ });
562
+ if (checked.ok && cases === 0) {
563
+ return {
564
+ ok: false,
565
+ code: "eval.nothing_to_replay",
566
+ message: "The eval set has nothing to replay",
567
+ };
568
+ }
569
+ return checked;
570
+ },
571
+ summary: async (i, ctx) => {
572
+ const n = await this.setName(ctx, i.setId);
573
+ const est = await orElse(() => this.runs.estimate(ctx.orgId, i.setId, {
574
+ mode: i.mode,
575
+ candidate: candidateOf(i.candidate),
576
+ judge: i.judge,
577
+ ...(i.tokenCap !== undefined && { tokenCap: i.tokenCap }),
578
+ }), null);
579
+ const cand = candidateText(candidateOf(i.candidate));
580
+ const judge = i.judge;
581
+ const cost = est?.estimate.estimatedCost == null
582
+ ? ""
583
+ : ` ${est.estimate.estimatedCost} ${est.estimate.currency}`;
584
+ const tokens = est === null ? "" : `${est.estimate.estimatedTokens}`;
585
+ return {
586
+ zh: `在评测集「${n}」上运行评测(${i.mode === "step" ? "单步" : "整轮"},候选:${cand}${judge ? ",含评委" : ""})${tokens ? `:约 ${tokens} tokens${cost},上限 ${est?.effectiveTokenCap}` : ""}`,
587
+ en: `Run an eval on set "${n}" (${i.mode} mode, candidate: ${cand}${judge ? ", with the judge" : ""})${tokens ? `: about ${tokens} tokens${cost}, capped at ${est?.effectiveTokenCap}` : ""}`,
588
+ };
589
+ },
590
+ run: async (input, ctx) => ({
591
+ run: runRow(await this.runs.start(ctx.orgId, ctx.actorAccountId, input.setId, {
592
+ mode: input.mode,
593
+ candidate: candidateOf(input.candidate),
594
+ judge: input.judge,
595
+ ...(input.tokenCap !== undefined && { tokenCap: input.tokenCap }),
596
+ }, undefined, viaAgent("evals.start-run", ctx))),
597
+ }),
598
+ }),
599
+ defineOperation({
600
+ id: "evals.list-runs",
601
+ description: "List the runs of one eval set, newest first (org admins): id, mode, state and progress. Read one with evals.get-run. Pages by 50: pass the returned next as params.cursor.",
602
+ input: z.object({ setId: SetId, cursor: Cursor.optional() }).strict(),
603
+ example: { setId: "3b1f0c52-8d2a-4a57-9a43-6f1d2c9e7a10" },
604
+ authz: { orgAction: "evals.manage" },
605
+ mirrors: ["GET /api/v1/orgs/:orgId/eval-sets/:setId/runs"],
606
+ extras: ["cursor"],
607
+ confirm: "read",
608
+ errors: [
609
+ { code: "eval.set_not_found", next: "Check the eval set id with evals.list-sets." },
610
+ ],
611
+ run: async (input, ctx) => pageOf((await this.runs.listForSet(ctx.orgId, input.setId)).map(runRow), startOf(input.cursor), PAGE),
612
+ }),
613
+ defineOperation({
614
+ id: "evals.get-run",
615
+ description: "Read one eval run: its candidate, state, progress, token use, estimate and, once finished, the summary (match rates, judge and human pass rates).",
616
+ input: z.object({ runId: RunId }).strict(),
617
+ example: { runId: "2c3d4e5f-6a7b-4c8d-9e0f-1a2b3c4d5e6f" },
618
+ authz: { orgAction: "evals.manage" },
619
+ mirrors: ["GET /api/v1/orgs/:orgId/eval-runs/:runId"],
620
+ confirm: "read",
621
+ errors: [{ code: "eval.run_not_found", next: "Check the run id with evals.list-runs." }],
622
+ run: async (input, ctx) => ({ run: await this.runs.get(ctx.orgId, input.runId) }),
623
+ }),
624
+ defineOperation({
625
+ id: "evals.list-results",
626
+ description: "List the results of one eval run without their content (org admins): state, judge verdict, your label, drift and error code per case step. Pages by 50: pass the returned next as params.after. Read one result's scalar fields with evals.get-result.",
627
+ input: EvalRunResultsQuery.pick({ after: true, limit: true })
628
+ .extend({ runId: RunId, limit: z.number().int().min(1).max(50).default(50) })
629
+ .strict(),
630
+ example: { runId: "2c3d4e5f-6a7b-4c8d-9e0f-1a2b3c4d5e6f", limit: 50 },
631
+ authz: { orgAction: "evals.manage" },
632
+ mirrors: ["GET /api/v1/orgs/:orgId/eval-runs/:runId/results"],
633
+ // the light view only; polling by `updatedSince` is the web's
634
+ omits: ["view", "updatedSince"],
635
+ confirm: "read",
636
+ errors: [{ code: "eval.run_not_found", next: "Check the run id with evals.list-runs." }],
637
+ run: async (input, ctx) => {
638
+ const out = await this.runs.resultsLight(ctx.orgId, ctx.actorAccountId, input.runId, { limit: input.limit, ...(input.after !== undefined && { after: input.after }) }, undefined, viaAgent("evals.list-results", ctx));
639
+ return {
640
+ items: out.results.map((r) => ({
641
+ id: r.id,
642
+ name: r.step === null ? "whole run" : `step ${r.step}`,
643
+ state: r.status,
644
+ ...(r.errorCode !== null && { reason: r.errorCode }),
645
+ caseId: r.caseId,
646
+ verdict: r.label ?? r.verdict,
647
+ toolCallsMatch: r.toolCallsMatch,
648
+ })),
649
+ next: out.next,
650
+ };
651
+ },
652
+ }),
653
+ defineOperation({
654
+ id: "evals.get-result",
655
+ description: "Read one eval result without its content (org admins): status, judge status and verdict, your label and note, whether the tool calls matched, text similarity, drift reasons and the error code. The baseline and candidate outputs and the diff are conversation content and are never returned; an org admin reads them on the web.",
656
+ input: z.object({ runId: RunId, resultId: ResultId }).strict(),
657
+ example: {
658
+ runId: "2c3d4e5f-6a7b-4c8d-9e0f-1a2b3c4d5e6f",
659
+ resultId: "7f6e5d4c-3b2a-4190-8f7e-6d5c4b3a2918",
660
+ },
661
+ authz: { orgAction: "evals.manage" },
662
+ mirrors: ["GET /api/v1/orgs/:orgId/eval-runs/:runId/results/:resultId"],
663
+ confirm: "read",
664
+ errors: [
665
+ { code: "eval.run_not_found", next: "Check the run id with evals.list-runs." },
666
+ {
667
+ code: "eval.result_not_found",
668
+ next: "Check the result id with evals.list-results.",
669
+ },
670
+ ],
671
+ run: async (input, ctx) => {
672
+ const r = await this.runs.result(ctx.orgId, ctx.actorAccountId, input.runId, input.resultId, undefined, viaAgent("evals.get-result", ctx));
673
+ const diff = (r.diff ?? {});
674
+ const judge = (r.judge ?? {});
675
+ const error = (r.error ?? {});
676
+ return {
677
+ result: {
678
+ id: r.id,
679
+ caseId: r.caseId,
680
+ step: r.step,
681
+ state: r.status,
682
+ judgeStatus: r.judgeStatus,
683
+ verdict: judge.verdict ?? null,
684
+ label: r.label,
685
+ labelNote: r.labelNote,
686
+ toolCallsMatch: diff.toolCallsMatch ?? null,
687
+ textSimilarity: diff.textSimilarity ?? null,
688
+ drift: r.drift,
689
+ errorCode: error.code ?? null,
690
+ },
691
+ };
692
+ },
693
+ }),
694
+ defineOperation({
695
+ id: "evals.cancel-run",
696
+ description: "Cancel an eval run that is queued or running (org admins): cases not started are skipped; requests in flight finish and are recorded.",
697
+ input: z.object({ runId: RunId }).strict(),
698
+ example: { runId: "2c3d4e5f-6a7b-4c8d-9e0f-1a2b3c4d5e6f" },
699
+ authz: { orgAction: "evals.manage" },
700
+ mirrors: ["POST /api/v1/orgs/:orgId/eval-runs/:runId/cancel"],
701
+ confirm: "org",
702
+ errors: [
703
+ { code: "eval.run_not_found", next: "Check the run id with evals.list-runs." },
704
+ { code: "eval.run_finished", next: "The run has already finished; nothing to cancel." },
705
+ ],
706
+ precheck: async (i, ctx) => {
707
+ const found = await precheckBy(() => this.runs.get(ctx.orgId, i.runId));
708
+ if (!found.ok)
709
+ return found;
710
+ const run = await this.runs.get(ctx.orgId, i.runId);
711
+ return run.status === "queued" || run.status === "running"
712
+ ? { ok: true }
713
+ : {
714
+ ok: false,
715
+ code: "eval.run_finished",
716
+ message: "The eval run has already finished",
717
+ };
718
+ },
719
+ summary: async (i, ctx) => {
720
+ const run = await orElse(() => this.runs.get(ctx.orgId, i.runId), null);
721
+ const progress = run === null ? "" : ` (${run.casesDone}/${run.casesTotal} cases done)`;
722
+ return {
723
+ zh: `取消评测运行 ${i.runId}${progress}`,
724
+ en: `Cancel eval run ${i.runId}${progress}`,
725
+ };
726
+ },
727
+ run: async (input, ctx) => ({
728
+ run: runRow(await this.runs.cancel(ctx.orgId, ctx.actorAccountId, input.runId, undefined, viaAgent("evals.cancel-run", ctx))),
729
+ }),
730
+ }),
731
+ defineOperation({
732
+ id: "evals.label-result",
733
+ description: "Label one eval result pass or fail with an optional note (org admins); a null label clears the label and its note.",
734
+ input: EvalLabelBody.extend({ resultId: ResultId }).strict(),
735
+ example: { resultId: "7f6e5d4c-3b2a-4190-8f7e-6d5c4b3a2918", label: "pass" },
736
+ authz: { orgAction: "evals.manage" },
737
+ mirrors: ["PUT /api/v1/orgs/:orgId/eval-results/:resultId/label"],
738
+ confirm: "org",
739
+ errors: [
740
+ {
741
+ code: "eval.result_not_found",
742
+ next: "Check the result id with evals.list-results.",
743
+ },
744
+ ],
745
+ precheck: async (i, ctx) => {
746
+ const r = await this.kdb.db
747
+ .selectFrom("eval_results as r")
748
+ .innerJoin("eval_runs as er", "er.id", "r.run_id")
749
+ .innerJoin("eval_sets as es", "es.id", "er.set_id")
750
+ .select("r.id")
751
+ .where("r.id", "=", i.resultId)
752
+ .where("r.org_id", "=", ctx.orgId)
753
+ .where("es.deleted_at", "is", null)
754
+ .executeTakeFirst();
755
+ return r === undefined
756
+ ? { ok: false, code: "eval.result_not_found", message: "Eval result not found" }
757
+ : { ok: true };
758
+ },
759
+ summary: (i) => ({
760
+ zh: i.label === null
761
+ ? `清除评测结果 ${i.resultId} 的人工标注`
762
+ : `把评测结果 ${i.resultId} 标注为${i.label === "pass" ? "通过" : "不通过"}`,
763
+ en: i.label === null
764
+ ? `Clear the label of eval result ${i.resultId}`
765
+ : `Label eval result ${i.resultId} as ${i.label}`,
766
+ }),
767
+ run: async (input, ctx) => {
768
+ const r = await this.runs.label(ctx.orgId, ctx.actorAccountId, input.resultId, { label: input.label, ...(input.note !== undefined && { note: input.note }) }, undefined, viaAgent("evals.label-result", ctx));
769
+ return { id: r.id, label: r.label, labelNote: r.labelNote };
770
+ },
771
+ }),
772
+ ]);
773
+ }
774
+ };
775
+ EvalsOperations = __decorate([
776
+ Injectable(),
777
+ __param(0, Inject(PlatformOperations)),
778
+ __param(1, Inject(EvalSetsService)),
779
+ __param(2, Inject(EvalRunsService)),
780
+ __param(3, Inject(KernelDb)),
781
+ __param(4, Inject(KernelConfigService))
782
+ ], EvalsOperations);
783
+ export { EvalsOperations };