@capybara-hq/kernel 0.1.0-rc.4 → 0.1.0-rc.5

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 (507) hide show
  1. package/bootstrap.json +61 -5
  2. package/dist/admin/admin.controller.d.ts +39 -13
  3. package/dist/admin/admin.controller.js +33 -17
  4. package/dist/admin/extensions.controller.d.ts +16 -2
  5. package/dist/admin/extensions.controller.js +26 -6
  6. package/dist/admin/setup-lock.d.ts +1 -1
  7. package/dist/admin/setup-lock.js +1 -1
  8. package/dist/admin/setup.controller.d.ts +1 -1
  9. package/dist/admin/setup.controller.js +1 -1
  10. package/dist/admin/setup.service.d.ts +4 -4
  11. package/dist/admin/setup.service.js +8 -8
  12. package/dist/agents/agent-lookup.d.ts +16 -0
  13. package/dist/agents/agent-lookup.js +11 -0
  14. package/dist/agents/agents.controller.d.ts +76 -1
  15. package/dist/agents/agents.controller.js +90 -11
  16. package/dist/agents/agents.module.d.ts +4 -1
  17. package/dist/agents/agents.module.js +32 -6
  18. package/dist/agents/agents.service.d.ts +51 -22
  19. package/dist/agents/agents.service.js +172 -70
  20. package/dist/agents/definition.d.ts +49 -0
  21. package/dist/agents/definition.js +45 -0
  22. package/dist/agents/from-template.d.ts +106 -0
  23. package/dist/agents/from-template.js +649 -0
  24. package/dist/agents/from-template.service.d.ts +60 -0
  25. package/dist/agents/from-template.service.js +161 -0
  26. package/dist/agents/org-templates.d.ts +176 -0
  27. package/dist/agents/org-templates.js +827 -0
  28. package/dist/agents/pending-connector-requests.d.ts +77 -0
  29. package/dist/agents/pending-connector-requests.js +215 -0
  30. package/dist/agents/pending-connectors.controller.d.ts +39 -0
  31. package/dist/agents/pending-connectors.controller.js +91 -0
  32. package/dist/agents/pending-connectors.service.d.ts +62 -0
  33. package/dist/agents/pending-connectors.service.js +282 -0
  34. package/dist/agents/templates.controller.d.ts +86 -5
  35. package/dist/agents/templates.controller.js +171 -7
  36. package/dist/agents/templates.d.ts +127 -23
  37. package/dist/agents/templates.js +475 -52
  38. package/dist/background/background.module.js +8 -1
  39. package/dist/background/finish.d.ts +3 -2
  40. package/dist/background/launch-lock.d.ts +4 -3
  41. package/dist/background/launch-lock.js +4 -3
  42. package/dist/background/poll.job.d.ts +9 -6
  43. package/dist/background/poll.job.js +30 -22
  44. package/dist/background/session.d.ts +13 -2
  45. package/dist/background/session.js +13 -0
  46. package/dist/background/stop.d.ts +12 -6
  47. package/dist/background/stop.js +57 -39
  48. package/dist/background/store.d.ts +18 -6
  49. package/dist/background/store.js +12 -6
  50. package/dist/background/tasks.service.d.ts +15 -5
  51. package/dist/background/tasks.service.js +42 -17
  52. package/dist/background/wake-rules.d.ts +27 -18
  53. package/dist/background/wake-rules.js +52 -22
  54. package/dist/background/wake.d.ts +13 -11
  55. package/dist/background/wake.js +20 -14
  56. package/dist/catalog/admin-catalog.controller.d.ts +129 -30
  57. package/dist/catalog/admin-catalog.controller.js +213 -42
  58. package/dist/catalog/catalog-content.d.ts +58 -32
  59. package/dist/catalog/catalog-content.js +34 -8
  60. package/dist/catalog/catalog-import.module.d.ts +7 -0
  61. package/dist/catalog/catalog-import.module.js +60 -0
  62. package/dist/catalog/catalog-items.d.ts +111 -7
  63. package/dist/catalog/catalog-items.js +279 -13
  64. package/dist/catalog/catalog-scope.service.d.ts +260 -0
  65. package/dist/catalog/catalog-scope.service.js +1116 -0
  66. package/dist/catalog/catalog.module.d.ts +7 -9
  67. package/dist/catalog/catalog.module.js +41 -31
  68. package/dist/catalog/catalog.service.d.ts +101 -29
  69. package/dist/catalog/catalog.service.js +104 -106
  70. package/dist/catalog/cli.d.ts +11 -1
  71. package/dist/catalog/cli.js +26 -1
  72. package/dist/catalog/component-promotion.d.ts +96 -0
  73. package/dist/catalog/component-promotion.js +395 -0
  74. package/dist/catalog/component-scope.controller.d.ts +152 -0
  75. package/dist/catalog/component-scope.controller.js +287 -0
  76. package/dist/catalog/component-scope.service.d.ts +303 -0
  77. package/dist/catalog/component-scope.service.js +936 -0
  78. package/dist/catalog/component-state.d.ts +174 -0
  79. package/dist/catalog/component-state.js +437 -0
  80. package/dist/catalog/job-ids.d.ts +30 -0
  81. package/dist/catalog/job-ids.js +25 -0
  82. package/dist/catalog/marketplace-fetch.d.ts +1 -1
  83. package/dist/catalog/marketplaces.controller.d.ts +22 -5
  84. package/dist/catalog/marketplaces.controller.js +56 -7
  85. package/dist/catalog/marketplaces.service.d.ts +54 -14
  86. package/dist/catalog/marketplaces.service.js +71 -22
  87. package/dist/catalog/org-catalog.controller.d.ts +125 -34
  88. package/dist/catalog/org-catalog.controller.js +181 -65
  89. package/dist/catalog/org-catalog.service.d.ts +65 -33
  90. package/dist/catalog/org-catalog.service.js +324 -157
  91. package/dist/catalog/org-extension-switch.d.ts +41 -0
  92. package/dist/catalog/org-extension-switch.js +115 -0
  93. package/dist/catalog/org-extension.controller.d.ts +119 -0
  94. package/dist/catalog/org-extension.controller.js +266 -0
  95. package/dist/catalog/org-plugin-uploads.controller.d.ts +98 -0
  96. package/dist/catalog/org-plugin-uploads.controller.js +213 -0
  97. package/dist/catalog/org-plugin-uploads.d.ts +63 -0
  98. package/dist/catalog/org-plugin-uploads.js +116 -0
  99. package/dist/catalog/owned-items.d.ts +184 -0
  100. package/dist/catalog/owned-items.js +789 -0
  101. package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
  102. package/dist/catalog/owned-plugin-cleanup.js +194 -0
  103. package/dist/catalog/ownership.d.ts +172 -0
  104. package/dist/catalog/ownership.js +326 -0
  105. package/dist/catalog/platform-components.d.ts +221 -0
  106. package/dist/catalog/platform-components.js +761 -0
  107. package/dist/catalog/platform-migration.d.ts +115 -0
  108. package/dist/catalog/platform-migration.js +582 -0
  109. package/dist/catalog/plugin-import.d.ts +178 -34
  110. package/dist/catalog/plugin-import.js +622 -82
  111. package/dist/catalog/plugin-install.d.ts +185 -41
  112. package/dist/catalog/plugin-install.js +758 -126
  113. package/dist/catalog/plugin-upgrade.d.ts +260 -225
  114. package/dist/catalog/plugin-upgrade.js +1147 -1136
  115. package/dist/catalog/request-rules.d.ts +65 -0
  116. package/dist/catalog/request-rules.js +217 -0
  117. package/dist/catalog/requests.service.d.ts +193 -118
  118. package/dist/catalog/requests.service.js +526 -343
  119. package/dist/catalog/reserved-names.d.ts +8 -0
  120. package/dist/catalog/reserved-names.js +42 -0
  121. package/dist/catalog/scope-orgs.d.ts +21 -0
  122. package/dist/catalog/scope-orgs.js +67 -0
  123. package/dist/catalog/scope-state.d.ts +35 -0
  124. package/dist/catalog/scope-state.js +87 -0
  125. package/dist/catalog/scope-sync-workers.d.ts +7 -0
  126. package/dist/catalog/scope-sync-workers.js +29 -0
  127. package/dist/catalog/scope-sync.d.ts +176 -0
  128. package/dist/catalog/scope-sync.js +576 -0
  129. package/dist/catalog/scope.d.ts +42 -0
  130. package/dist/catalog/scope.js +42 -0
  131. package/dist/catalog/unshare.d.ts +22 -0
  132. package/dist/catalog/unshare.js +118 -0
  133. package/dist/channels/actions.js +1 -0
  134. package/dist/channels/cards.js +20 -2
  135. package/dist/channels/channels.module.js +2 -0
  136. package/dist/channels/inbound.d.ts +9 -1
  137. package/dist/channels/inbound.js +67 -5
  138. package/dist/channels/phrases.d.ts +35 -0
  139. package/dist/channels/phrases.js +29 -0
  140. package/dist/config/docs.js +3 -1
  141. package/dist/config/schema.d.ts +6 -2
  142. package/dist/config/schema.js +46 -22
  143. package/dist/conversations/access.d.ts +6 -4
  144. package/dist/conversations/access.js +27 -5
  145. package/dist/conversations/agent-tree.d.ts +46 -0
  146. package/dist/conversations/agent-tree.js +92 -0
  147. package/dist/conversations/conversations.controller.d.ts +43 -18
  148. package/dist/conversations/conversations.controller.js +79 -38
  149. package/dist/conversations/conversations.module.d.ts +1 -1
  150. package/dist/conversations/conversations.module.js +7 -7
  151. package/dist/conversations/conversations.service.d.ts +69 -12
  152. package/dist/conversations/conversations.service.js +106 -27
  153. package/dist/conversations/environment-status.d.ts +24 -0
  154. package/dist/conversations/environment-status.js +71 -0
  155. package/dist/conversations/event-log.d.ts +20 -5
  156. package/dist/conversations/event-log.js +60 -0
  157. package/dist/conversations/events.d.ts +84 -2
  158. package/dist/conversations/events.js +91 -17
  159. package/dist/conversations/queue.service.d.ts +1 -1
  160. package/dist/conversations/queue.service.js +5 -0
  161. package/dist/conversations/titles.d.ts +5 -3
  162. package/dist/conversations/titles.js +21 -8
  163. package/dist/conversations/tree.d.ts +17 -0
  164. package/dist/conversations/tree.js +42 -0
  165. package/dist/ctx/create-ctx.d.ts +5 -0
  166. package/dist/ctx/create-ctx.js +15 -5
  167. package/dist/db/kernel-schema.d.ts +362 -18
  168. package/dist/environments/access.d.ts +41 -0
  169. package/dist/environments/access.js +77 -0
  170. package/dist/environments/conversation-environments.d.ts +61 -0
  171. package/dist/environments/conversation-environments.js +170 -0
  172. package/dist/environments/dto.d.ts +25 -0
  173. package/dist/environments/dto.js +12 -0
  174. package/dist/environments/environments.controller.d.ts +33 -0
  175. package/dist/environments/environments.controller.js +110 -0
  176. package/dist/environments/environments.module.d.ts +8 -0
  177. package/dist/environments/environments.module.js +27 -0
  178. package/dist/environments/environments.service.d.ts +153 -0
  179. package/dist/environments/environments.service.js +541 -0
  180. package/dist/environments/legacy-cleanup.job.d.ts +34 -0
  181. package/dist/environments/legacy-cleanup.job.js +141 -0
  182. package/dist/errors.d.ts +82 -2
  183. package/dist/errors.js +82 -2
  184. package/dist/evals/reconstruct.d.ts +18 -9
  185. package/dist/evals/reconstruct.js +26 -7
  186. package/dist/evals/run-replay.d.ts +4 -2
  187. package/dist/evals/run-replay.js +16 -4
  188. package/dist/evals/step-replay.d.ts +2 -5
  189. package/dist/evals/step-replay.js +1 -1
  190. package/dist/evals/trajectory.service.d.ts +8 -3
  191. package/dist/evals/trajectory.service.js +26 -14
  192. package/dist/evals/worker.d.ts +5 -5
  193. package/dist/evals/worker.js +9 -3
  194. package/dist/extensions/admin-ops.d.ts +36 -10
  195. package/dist/extensions/admin-ops.js +65 -42
  196. package/dist/extensions/admin-view.d.ts +37 -10
  197. package/dist/extensions/admin-view.js +103 -20
  198. package/dist/extensions/bootstrap.d.ts +17 -4
  199. package/dist/extensions/bootstrap.js +70 -9
  200. package/dist/extensions/cli.d.ts +12 -0
  201. package/dist/extensions/cli.js +11 -2
  202. package/dist/extensions/deployment-config.d.ts +28 -5
  203. package/dist/extensions/deployment-config.js +48 -7
  204. package/dist/extensions/effective-config.d.ts +127 -0
  205. package/dist/extensions/effective-config.js +368 -0
  206. package/dist/extensions/extensions.module.js +8 -2
  207. package/dist/extensions/hooks.d.ts +37 -4
  208. package/dist/extensions/hooks.js +82 -16
  209. package/dist/extensions/host.d.ts +19 -1
  210. package/dist/extensions/host.js +30 -7
  211. package/dist/extensions/installs.d.ts +20 -8
  212. package/dist/extensions/installs.js +37 -15
  213. package/dist/extensions/org-config.d.ts +75 -6
  214. package/dist/extensions/org-config.js +184 -32
  215. package/dist/extensions/org-levels.d.ts +37 -0
  216. package/dist/extensions/org-levels.js +71 -0
  217. package/dist/extensions/org-overrides.d.ts +151 -0
  218. package/dist/extensions/org-overrides.js +524 -0
  219. package/dist/extensions/permission-view.d.ts +16 -4
  220. package/dist/extensions/permission-view.js +4 -4
  221. package/dist/extensions/plugin-items.d.ts +21 -0
  222. package/dist/extensions/plugin-items.js +42 -0
  223. package/dist/extensions/point-defaults.d.ts +12 -5
  224. package/dist/extensions/point-defaults.js +37 -9
  225. package/dist/extensions/resolve.d.ts +5 -1
  226. package/dist/extensions/resolve.js +15 -2
  227. package/dist/files/previewers.d.ts +8 -1
  228. package/dist/files/previewers.js +35 -6
  229. package/dist/http/api.module.js +23 -3
  230. package/dist/http/app.d.ts +11 -2
  231. package/dist/http/app.js +31 -5
  232. package/dist/identity/accounts.d.ts +29 -29
  233. package/dist/identity/accounts.js +47 -47
  234. package/dist/identity/audit.d.ts +2 -1
  235. package/dist/identity/auth.guard.d.ts +13 -5
  236. package/dist/identity/auth.guard.js +26 -9
  237. package/dist/identity/identity.module.d.ts +1 -1
  238. package/dist/identity/identity.module.js +4 -4
  239. package/dist/identity/me.controller.js +1 -1
  240. package/dist/identity/principal.d.ts +3 -3
  241. package/dist/identity/principal.js +3 -3
  242. package/dist/identity/settings.d.ts +22 -11
  243. package/dist/identity/settings.js +53 -18
  244. package/dist/identity/{enterprise-admin.d.ts → super-admin.d.ts} +5 -5
  245. package/dist/identity/{enterprise-admin.js → super-admin.js} +24 -24
  246. package/dist/inbox/inbox.module.d.ts +4 -1
  247. package/dist/inbox/inbox.module.js +7 -3
  248. package/dist/inbox/inbox.service.d.ts +62 -3
  249. package/dist/inbox/inbox.service.js +74 -4
  250. package/dist/inbox/org-notices.d.ts +63 -0
  251. package/dist/inbox/org-notices.js +91 -0
  252. package/dist/inbox/platform-inbox.controller.d.ts +23 -0
  253. package/dist/inbox/platform-inbox.controller.js +58 -0
  254. package/dist/inbox/platform-inbox.service.d.ts +151 -0
  255. package/dist/inbox/platform-inbox.service.js +263 -0
  256. package/dist/inbox/platform-notices.d.ts +19 -0
  257. package/dist/inbox/platform-notices.js +9 -0
  258. package/dist/index.d.ts +1 -1
  259. package/dist/index.js +1 -1
  260. package/dist/infra/cli/kernel-cli.module.js +9 -1
  261. package/dist/infra/config/kernel-config.service.js +21 -1
  262. package/dist/infra/database/xact-lock.d.ts +1 -1
  263. package/dist/infra/database/xact-lock.js +1 -1
  264. package/dist/infra/events/kernel-events.d.ts +11 -2
  265. package/dist/infra/queue/add-job-once.d.ts +14 -0
  266. package/dist/infra/queue/add-job-once.js +16 -0
  267. package/dist/kernel.module.js +6 -0
  268. package/dist/lifecycle/kernel-lifecycle.d.ts +1 -1
  269. package/dist/lifecycle/kernel-lifecycle.js +4 -4
  270. package/dist/models/prices.d.ts +5 -5
  271. package/dist/models/prices.js +4 -4
  272. package/dist/models/purposes.controller.d.ts +6 -4
  273. package/dist/models/purposes.controller.js +13 -7
  274. package/dist/models/purposes.d.ts +20 -9
  275. package/dist/models/purposes.js +17 -8
  276. package/dist/orgs/directory-sync.d.ts +14 -5
  277. package/dist/orgs/directory-sync.js +41 -17
  278. package/dist/orgs/offboarding.d.ts +9 -7
  279. package/dist/orgs/offboarding.js +28 -17
  280. package/dist/orgs/org-lock.d.ts +5 -0
  281. package/dist/orgs/org-lock.js +13 -0
  282. package/dist/orgs/org.guard.d.ts +10 -0
  283. package/dist/orgs/org.guard.js +43 -32
  284. package/dist/orgs/orgs.module.js +3 -0
  285. package/dist/orgs/orgs.service.d.ts +20 -7
  286. package/dist/orgs/orgs.service.js +32 -12
  287. package/dist/orgs/roles.d.ts +1 -1
  288. package/dist/orgs/roles.js +5 -1
  289. package/dist/orgs/settings.controller.d.ts +1 -1
  290. package/dist/orgs/settings.service.d.ts +15 -3
  291. package/dist/orgs/settings.service.js +6 -2
  292. package/dist/overrides.d.ts +3 -0
  293. package/dist/overrides.js +2 -0
  294. package/dist/platform/actor.d.ts +48 -0
  295. package/dist/platform/actor.js +100 -0
  296. package/dist/platform/agent-docs.d.ts +18 -0
  297. package/dist/platform/agent-docs.js +59 -0
  298. package/dist/platform/availability.d.ts +14 -0
  299. package/dist/platform/availability.js +43 -0
  300. package/dist/platform/errors.d.ts +11 -0
  301. package/dist/platform/errors.js +26 -0
  302. package/dist/platform/exclusions.d.ts +12 -0
  303. package/dist/platform/exclusions.js +1387 -0
  304. package/dist/platform/method.d.ts +6 -0
  305. package/dist/platform/method.js +15 -0
  306. package/dist/platform/operation.d.ts +92 -0
  307. package/dist/platform/operation.js +35 -0
  308. package/dist/platform/ops/agent-templates.ops.d.ts +14 -0
  309. package/dist/platform/ops/agent-templates.ops.js +92 -0
  310. package/dist/platform/ops/agents.ops.d.ts +19 -0
  311. package/dist/platform/ops/agents.ops.js +294 -0
  312. package/dist/platform/ops/connectors.ops.d.ts +15 -0
  313. package/dist/platform/ops/connectors.ops.js +126 -0
  314. package/dist/platform/ops/errors.d.ts +11 -0
  315. package/dist/platform/ops/errors.js +22 -0
  316. package/dist/platform/ops/extensions.ops.d.ts +19 -0
  317. package/dist/platform/ops/extensions.ops.js +116 -0
  318. package/dist/platform/ops/marketplaces.ops.d.ts +16 -0
  319. package/dist/platform/ops/marketplaces.ops.js +157 -0
  320. package/dist/platform/ops/paging.d.ts +14 -0
  321. package/dist/platform/ops/paging.js +20 -0
  322. package/dist/platform/ops/platform.ops.d.ts +23 -0
  323. package/dist/platform/ops/platform.ops.js +158 -0
  324. package/dist/platform/ops/plugins.ops.d.ts +33 -0
  325. package/dist/platform/ops/plugins.ops.js +377 -0
  326. package/dist/platform/ops/requests.ops.d.ts +14 -0
  327. package/dist/platform/ops/requests.ops.js +153 -0
  328. package/dist/platform/ops/role.d.ts +4 -0
  329. package/dist/platform/ops/role.js +10 -0
  330. package/dist/platform/ops/skills.ops.d.ts +13 -0
  331. package/dist/platform/ops/skills.ops.js +98 -0
  332. package/dist/platform/ops/summary.d.ts +10 -0
  333. package/dist/platform/ops/summary.js +18 -0
  334. package/dist/platform/platform-ops.module.d.ts +7 -0
  335. package/dist/platform/platform-ops.module.js +55 -0
  336. package/dist/platform/platform.module.d.ts +8 -0
  337. package/dist/platform/platform.module.js +25 -0
  338. package/dist/platform/redact-orgs.d.ts +7 -0
  339. package/dist/platform/redact-orgs.js +52 -0
  340. package/dist/platform/registry.d.ts +30 -0
  341. package/dist/platform/registry.js +111 -0
  342. package/dist/roles/worker-role.d.ts +6 -4
  343. package/dist/roles/worker-role.js +14 -7
  344. package/dist/roles/worker.module.d.ts +1 -1
  345. package/dist/roles/worker.module.js +9 -1
  346. package/dist/runtime/context/build.d.ts +6 -4
  347. package/dist/runtime/context/build.js +26 -7
  348. package/dist/runtime/context/claude-tools.d.ts +2 -1
  349. package/dist/runtime/context/claude-tools.js +5 -4
  350. package/dist/runtime/context/compaction.js +9 -0
  351. package/dist/runtime/context/reminders.d.ts +2 -0
  352. package/dist/runtime/context/reminders.js +2 -0
  353. package/dist/runtime/context/skills.js +9 -2
  354. package/dist/runtime/context/tool-changes.d.ts +27 -0
  355. package/dist/runtime/context/tool-changes.js +60 -0
  356. package/dist/runtime/hook-calls.js +2 -0
  357. package/dist/runtime/langgraph-loop.d.ts +3 -1
  358. package/dist/runtime/langgraph-loop.js +35 -17
  359. package/dist/runtime/loop.d.ts +32 -4
  360. package/dist/runtime/maintenance.d.ts +7 -4
  361. package/dist/runtime/maintenance.js +23 -8
  362. package/dist/runtime/model-call.d.ts +30 -8
  363. package/dist/runtime/model-call.js +69 -19
  364. package/dist/runtime/run-control.d.ts +11 -1
  365. package/dist/runtime/run-control.js +12 -0
  366. package/dist/runtime/run-drafts.d.ts +85 -0
  367. package/dist/runtime/run-drafts.js +230 -0
  368. package/dist/runtime/run-jobs.d.ts +3 -5
  369. package/dist/runtime/run-jobs.js +3 -7
  370. package/dist/runtime/run-queue.d.ts +37 -3
  371. package/dist/runtime/run-queue.js +188 -11
  372. package/dist/runtime/run-worker.d.ts +11 -5
  373. package/dist/runtime/run-worker.js +54 -31
  374. package/dist/runtime/runtime.module.js +3 -0
  375. package/dist/runtime/step-log.d.ts +9 -4
  376. package/dist/runtime/step-log.js +8 -5
  377. package/dist/runtime/stream.controller.d.ts +23 -1
  378. package/dist/runtime/stream.controller.js +60 -3
  379. package/dist/runtime/stream.d.ts +4 -1
  380. package/dist/runtime/stream.js +27 -3
  381. package/dist/runtime/subagents/child.d.ts +55 -7
  382. package/dist/runtime/subagents/child.js +105 -7
  383. package/dist/runtime/subagents/definition.d.ts +12 -3
  384. package/dist/runtime/subagents/definition.js +43 -29
  385. package/dist/runtime/subagents/deliveries.d.ts +71 -0
  386. package/dist/runtime/subagents/deliveries.js +228 -0
  387. package/dist/runtime/subagents/dispatch.d.ts +115 -26
  388. package/dist/runtime/subagents/dispatch.js +212 -141
  389. package/dist/runtime/subagents/limits.d.ts +24 -5
  390. package/dist/runtime/subagents/limits.js +40 -6
  391. package/dist/runtime/subagents/messages.d.ts +95 -0
  392. package/dist/runtime/subagents/messages.js +328 -0
  393. package/dist/runtime/subagents/preamble.d.ts +4 -4
  394. package/dist/runtime/subagents/preamble.js +9 -7
  395. package/dist/runtime/subagents/progress.d.ts +8 -6
  396. package/dist/runtime/subagents/progress.js +11 -6
  397. package/dist/runtime/subagents/render.d.ts +30 -0
  398. package/dist/runtime/subagents/render.js +53 -0
  399. package/dist/runtime/subagents/roster.d.ts +24 -7
  400. package/dist/runtime/subagents/roster.js +47 -11
  401. package/dist/runtime/subagents/skill-fork.d.ts +3 -2
  402. package/dist/runtime/subagents/skill-fork.js +8 -4
  403. package/dist/runtime/subagents/status.d.ts +14 -0
  404. package/dist/runtime/subagents/status.js +23 -0
  405. package/dist/runtime/subagents/subagents.service.d.ts +7 -4
  406. package/dist/runtime/subagents/subagents.service.js +11 -6
  407. package/dist/runtime/usage-report.js +17 -12
  408. package/dist/runtime/waits.d.ts +140 -37
  409. package/dist/runtime/waits.js +394 -106
  410. package/dist/sandbox/jobs.d.ts +40 -13
  411. package/dist/sandbox/jobs.js +57 -20
  412. package/dist/sandbox/leases.d.ts +37 -54
  413. package/dist/sandbox/leases.js +71 -115
  414. package/dist/sandbox/providers.d.ts +2 -2
  415. package/dist/sandbox/providers.js +1 -1
  416. package/dist/sandbox/sandbox.module.d.ts +3 -2
  417. package/dist/sandbox/sandbox.module.js +4 -3
  418. package/dist/sandbox/sandbox.service.d.ts +229 -134
  419. package/dist/sandbox/sandbox.service.js +630 -409
  420. package/dist/skills/catalog.d.ts +3 -2
  421. package/dist/skills/catalog.js +21 -43
  422. package/dist/skills/changes.controller.d.ts +7 -0
  423. package/dist/skills/changes.controller.js +19 -1
  424. package/dist/skills/invoke.js +8 -3
  425. package/dist/skills/package.d.ts +20 -1
  426. package/dist/skills/package.js +28 -1
  427. package/dist/skills/skills.controller.d.ts +39 -4
  428. package/dist/skills/skills.controller.js +88 -10
  429. package/dist/skills/skills.module.js +10 -1
  430. package/dist/skills/skills.service.d.ts +106 -26
  431. package/dist/skills/skills.service.js +421 -75
  432. package/dist/skills/usable.d.ts +81 -0
  433. package/dist/skills/usable.js +379 -0
  434. package/dist/tools/approvals.service.d.ts +20 -2
  435. package/dist/tools/approvals.service.js +23 -4
  436. package/dist/tools/builtin-names.d.ts +21 -5
  437. package/dist/tools/builtin-names.js +30 -5
  438. package/dist/tools/builtins/agent.d.ts +23 -21
  439. package/dist/tools/builtins/agent.js +62 -55
  440. package/dist/tools/builtins/builtin-tools.d.ts +6 -2
  441. package/dist/tools/builtins/builtin-tools.js +37 -12
  442. package/dist/tools/builtins/handback.d.ts +28 -0
  443. package/dist/tools/builtins/handback.js +53 -0
  444. package/dist/tools/builtins/platform.d.ts +34 -0
  445. package/dist/tools/builtins/platform.js +362 -0
  446. package/dist/tools/builtins/sandbox/bash.js +13 -3
  447. package/dist/tools/builtins/sandbox/common.d.ts +43 -24
  448. package/dist/tools/builtins/sandbox/common.js +80 -45
  449. package/dist/tools/builtins/sandbox/edit.js +2 -2
  450. package/dist/tools/builtins/sandbox/glob.js +2 -2
  451. package/dist/tools/builtins/sandbox/grep.js +2 -4
  452. package/dist/tools/builtins/sandbox/index.d.ts +1 -1
  453. package/dist/tools/builtins/sandbox/index.js +1 -1
  454. package/dist/tools/builtins/sandbox/read.js +1 -1
  455. package/dist/tools/builtins/sandbox/task-output.d.ts +14 -3
  456. package/dist/tools/builtins/sandbox/task-output.js +30 -5
  457. package/dist/tools/builtins/sandbox/task-stop.js +2 -1
  458. package/dist/tools/builtins/sandbox/write.js +2 -2
  459. package/dist/tools/builtins/send-message.d.ts +56 -0
  460. package/dist/tools/builtins/send-message.js +100 -0
  461. package/dist/tools/builtins/skill-load.d.ts +22 -14
  462. package/dist/tools/builtins/skill-load.js +86 -57
  463. package/dist/tools/builtins/skill-write.js +1 -1
  464. package/dist/tools/builtins/web/extract.js +5 -1
  465. package/dist/tools/builtins/web/fetch.js +1 -0
  466. package/dist/tools/builtins/web/search.js +1 -0
  467. package/dist/tools/connectors.controller.d.ts +10 -0
  468. package/dist/tools/connectors.controller.js +12 -0
  469. package/dist/tools/connectors.service.d.ts +46 -5
  470. package/dist/tools/connectors.service.js +94 -15
  471. package/dist/tools/extension-tools.controller.d.ts +14 -0
  472. package/dist/tools/extension-tools.controller.js +37 -0
  473. package/dist/tools/info.d.ts +42 -1
  474. package/dist/tools/info.js +64 -1
  475. package/dist/tools/org-tool-switches.d.ts +74 -0
  476. package/dist/tools/org-tool-switches.js +184 -0
  477. package/dist/tools/pipeline.d.ts +46 -40
  478. package/dist/tools/pipeline.js +187 -364
  479. package/dist/tools/policy.d.ts +1 -1
  480. package/dist/tools/policy.js +36 -16
  481. package/dist/tools/registry.d.ts +98 -5
  482. package/dist/tools/registry.js +87 -9
  483. package/dist/tools/tools.module.js +12 -2
  484. package/dist/ui/views.d.ts +2 -1
  485. package/dist/ui/views.js +17 -3
  486. package/package.json +3 -3
  487. package/src/migrations/0074_subagent_tree.sql +50 -0
  488. package/src/migrations/0075_plugin_scope.sql +61 -0
  489. package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
  490. package/src/migrations/0077_scope_requests.sql +52 -0
  491. package/src/migrations/0078_scope_grant_switches.sql +18 -0
  492. package/src/migrations/0079_scope_live_install_switches.sql +19 -0
  493. package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
  494. package/src/migrations/0081_platform_components.sql +129 -0
  495. package/src/migrations/0082_platform_migration.sql +33 -0
  496. package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
  497. package/src/migrations/0084_org_owned_items.sql +85 -0
  498. package/src/migrations/0085_agent_templates_phase4.sql +45 -0
  499. package/src/migrations/0086_org_layering.sql +30 -0
  500. package/src/migrations/0087_approval_summary.sql +6 -0
  501. package/src/migrations/0088_environments.sql +80 -0
  502. package/dist/catalog/upgrade-targets.d.ts +0 -56
  503. package/dist/catalog/upgrade-targets.js +0 -90
  504. package/dist/conversations/sandbox-status.d.ts +0 -24
  505. package/dist/conversations/sandbox-status.js +0 -52
  506. package/dist/extensions/org-config.controller.d.ts +0 -32
  507. package/dist/extensions/org-config.controller.js +0 -70
package/bootstrap.json CHANGED
@@ -3,24 +3,80 @@
3
3
  "schemaVersion": 1,
4
4
  "marketplace": {
5
5
  "url": "https://github.com/capybara-hq/plugins.git",
6
- "commit": "08e336dafe124615622534683887120c81ec416b"
6
+ "commit": "77f0ac0c0bbb1e7e3ea66ae3bd7931f0ed06b777"
7
7
  },
8
8
  "plugins": [
9
9
  {
10
10
  "name": "openai-compatible",
11
11
  "source": "npm",
12
12
  "npm": "@capybara-hq/plugin-openai-compatible",
13
- "version": "0.1.0-rc.0",
14
- "integrity": "sha512-NYyjRfC2U6bAjjlFU0rmJuDs3IyuAwektV9KLBpnFcDVRDfRgBpcSBV/jp0tzXhv9ee5MWqzOKN20WNdKWO9fQ==",
13
+ "version": "0.1.0-rc.2",
14
+ "integrity": "sha512-HG3sPg9VjSldr/qP5647SV0LP3xEqIbtnMvl4VG0XHCHRPJ1wc9PBMb8hrTZ3FGc43OKTWgFyfAV3fNKm29JtQ==",
15
15
  "required": true
16
16
  },
17
17
  {
18
18
  "name": "object-store-s3",
19
19
  "source": "npm",
20
20
  "npm": "@capybara-hq/plugin-object-store-s3",
21
- "version": "0.1.0-rc.0",
22
- "integrity": "sha512-jFbstLMsMeZ3EqGEm/5OnYWm4aGM9nIw71DmIuPu/frk4/Y+nTnaBWgT1SUDEr6NbFb34V31NIVNMJSoxmvMww==",
21
+ "version": "0.1.0-rc.1",
22
+ "integrity": "sha512-/HABg+/LsR+YJmRlJYB694hFFgZPTReN9BDwArdZpsNR0n/uBanRgaNnTT/C/wZd4uNTq9EVClYvZ4t3xmjKGQ==",
23
23
  "required": true
24
+ },
25
+ {
26
+ "name": "anthropic",
27
+ "source": "npm",
28
+ "npm": "@capybara-hq/plugin-anthropic",
29
+ "version": "0.1.0-rc.1",
30
+ "integrity": "sha512-/Ptn4epXv38kBKqd3MDxhy21hP0vQLkLdEov6sUvn2BlKRltgLYAbiKD/9P+B1w2RZmoNXdhZgqoSZ0Q036LNw==",
31
+ "required": false
32
+ },
33
+ {
34
+ "name": "openai",
35
+ "source": "npm",
36
+ "npm": "@capybara-hq/plugin-openai",
37
+ "version": "0.1.0-rc.1",
38
+ "integrity": "sha512-F714dJ023p8XcrPXYNZyjiow5BXza5KTdlJV4Uw8spgulgjPSF44n0SVMEA1iyYCwOFrr58NSvw51AqmOYg6Fw==",
39
+ "required": false
40
+ },
41
+ {
42
+ "name": "connector-mcp",
43
+ "source": "npm",
44
+ "npm": "@capybara-hq/plugin-connector-mcp",
45
+ "version": "0.1.0-rc.1",
46
+ "integrity": "sha512-cMc/d7Tngzx7/kyyCmt9W4kVC8JkfH1q7dQ5bLpnTJfwg8iYrdwUGaD6Q7ImYCb3AiguM0Xe2Js4RlU7ed22Kw==",
47
+ "required": false
48
+ },
49
+ {
50
+ "name": "connector-openapi",
51
+ "source": "npm",
52
+ "npm": "@capybara-hq/plugin-connector-openapi",
53
+ "version": "0.1.0-rc.1",
54
+ "integrity": "sha512-XahjgfA5hay/D32rUNrvql4SYAk0R04vGLyEzZg6Sq4ZNoqFHTKuj8Gndr5lD3AiwMqVngTva+x3hpVdosmEjA==",
55
+ "required": false
56
+ },
57
+ {
58
+ "name": "jina",
59
+ "source": "npm",
60
+ "npm": "@capybara-hq/plugin-jina",
61
+ "version": "0.1.0-rc.0",
62
+ "integrity": "sha512-fFquQfglzgaCoq3/tcRCYBdLfLe1BzIO5xDJHP1h0I7ugXGmUn9qdtFWOJ6Sw8TJvFeeqGSrkvtAUTVo5Phe2w==",
63
+ "required": false
64
+ },
65
+ {
66
+ "name": "sandbox-docker",
67
+ "source": "npm",
68
+ "npm": "@capybara-hq/plugin-sandbox-docker",
69
+ "version": "0.1.0-rc.2",
70
+ "integrity": "sha512-f5BiecQQvRLI8NaGHUy3l+nNvcCLXTQnHQ8od93PAbBpg6q0EkAvZ7R/M4yZ7dK7PeIan61VB+QfwlnpLLw27Q==",
71
+ "required": false
72
+ },
73
+ {
74
+ "name": "todo",
75
+ "source": "npm",
76
+ "npm": "@capybara-hq/plugin-todo",
77
+ "version": "0.1.0-rc.1",
78
+ "integrity": "sha512-Qz2FX05Nxbbetf8rcbmA3QZqvGDFeBgJOz/+vckD0N7di8YVKs3qoqoU7mzvBKnImWK63LiJLotGNQUY2QsXhg==",
79
+ "required": false
24
80
  }
25
81
  ]
26
82
  }
@@ -7,22 +7,40 @@ import { type Account, AccountsService } from "../identity/accounts.js";
7
7
  import { type Principal } from "../identity/principal.js";
8
8
  import { SessionService } from "../identity/sessions.js";
9
9
  import { type DeploymentSettings, SettingsService } from "../identity/settings.js";
10
+ import { KernelConfigService } from "../infra/config/kernel-config.service.js";
10
11
  import { type ModelPrice, type ModelPricePut, PricesService } from "../models/prices.js";
11
- import { ModelPurposesService, type PurposePut, type PurposeView } from "../models/purposes.js";
12
+ import { ModelPurposesService, type PurposeListing, type PurposePut } from "../models/purposes.js";
12
13
  import { type Org, OrgsService } from "../orgs/orgs.service.js";
13
14
  import { ProviderRegistry, type ProviderStatus } from "../runtime/providers.js";
15
+ import type { SubagentLimits } from "../runtime/subagents/limits.js";
14
16
  /** 后台概览(`GET /api/v1/admin/overview`)的计数。 */
15
17
  export interface AdminOverview {
16
18
  /**
17
- * Extensions an enterprise admin has to act on (pending approval or configuration, failed, missing
19
+ * Extensions a super admin has to act on (pending approval or configuration, failed, missing
18
20
  * dependency, replicas disagree); see `extensionNeedsAction`.
19
21
  */
20
22
  extensionsNeedingAction: number;
21
- /** Catalog requests waiting for an enterprise admin (stage deployment, pending). */
23
+ /** Catalog requests waiting for a super admin (stage deployment, pending). */
22
24
  catalogRequestsPending: number;
23
25
  orgs: number;
24
26
  accounts: number;
25
27
  }
28
+ /**
29
+ * The deployment's defaults of the per-org limits (with `GET /api/v1/admin/orgs`): what an
30
+ * organization without an override gets, from the live config. `subagents.maxDispatchesPerRun` and
31
+ * `maxTokensPerRun` of 0 mean no limit.
32
+ */
33
+ export interface LimitDefaults {
34
+ /** `runtime.orgConcurrency`. */
35
+ runConcurrency: number;
36
+ /** `sandbox.limits.cpu` / `memoryMb`. */
37
+ sandbox: {
38
+ cpu: number;
39
+ memoryMb: number;
40
+ };
41
+ /** `subagents.*`. */
42
+ subagents: SubagentLimits;
43
+ }
26
44
  declare const ListQuerySchema: z.ZodObject<{
27
45
  after: z.ZodOptional<z.ZodString>;
28
46
  limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
@@ -32,7 +50,7 @@ declare const CreateAccountSchema: z.ZodObject<{
32
50
  password: z.ZodString;
33
51
  displayName: z.ZodString;
34
52
  email: z.ZodOptional<z.ZodEmail>;
35
- enterpriseAdmin: z.ZodOptional<z.ZodBoolean>;
53
+ superAdmin: z.ZodOptional<z.ZodBoolean>;
36
54
  }, z.core.$strip>;
37
55
  declare const UpdateAccountSchema: z.ZodObject<{
38
56
  displayName: z.ZodOptional<z.ZodString>;
@@ -40,13 +58,13 @@ declare const UpdateAccountSchema: z.ZodObject<{
40
58
  active: "active";
41
59
  disabled: "disabled";
42
60
  }>>;
43
- isEnterpriseAdmin: z.ZodOptional<z.ZodBoolean>;
61
+ isSuperAdmin: z.ZodOptional<z.ZodBoolean>;
44
62
  }, z.core.$strip>;
45
63
  /** 至少给出一个键;`runConcurrencyOverrides` 按组织合并,值为 null 删除该组织的覆盖。 */
46
64
  declare const SettingsSchema: z.ZodObject<{
47
65
  orgCreation: z.ZodOptional<z.ZodEnum<{
48
66
  anyone: "anyone";
49
- enterprise_admin: "enterprise_admin";
67
+ super_admin: "super_admin";
50
68
  }>>;
51
69
  runConcurrencyOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNullable<z.ZodNumber>>>;
52
70
  priceCurrency: z.ZodOptional<z.ZodString>;
@@ -55,7 +73,8 @@ declare const SettingsSchema: z.ZodObject<{
55
73
  memoryMb: z.ZodOptional<z.ZodNumber>;
56
74
  }, z.core.$strict>>>>;
57
75
  subagentLimitOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNullable<z.ZodObject<{
58
- maxConcurrentPerRun: z.ZodOptional<z.ZodNumber>;
76
+ maxDepth: z.ZodOptional<z.ZodNumber>;
77
+ maxConcurrentPerConversation: z.ZodOptional<z.ZodNumber>;
59
78
  maxDispatchesPerRun: z.ZodOptional<z.ZodNumber>;
60
79
  maxTokensPerRun: z.ZodOptional<z.ZodNumber>;
61
80
  }, z.core.$strict>>>>;
@@ -67,9 +86,10 @@ declare const SettingsSchema: z.ZodObject<{
67
86
  allow: "allow";
68
87
  deny: "deny";
69
88
  }>>;
89
+ orgMarketplaceBrowse: z.ZodOptional<z.ZodBoolean>;
70
90
  }, z.core.$strict>;
71
91
  /**
72
- * 企业管理员端点(`/api/v1/admin/*`):只接受企业管理员的 Web 会话或个人令牌;
92
+ * 超级管理员端点(`/api/v1/admin/*`):只接受超级管理员的 Web 会话或个人令牌;
73
93
  * 服务令牌一律 `forbidden`(未标 `@AllowService`)。
74
94
  */
75
95
  export declare class AdminController {
@@ -84,7 +104,8 @@ export declare class AdminController {
84
104
  private readonly registry;
85
105
  private readonly catalogRequests;
86
106
  private readonly displayNames;
87
- constructor(accounts: AccountsService, sessions: SessionService, log: Logger, orgs: OrgsService, settings: SettingsService, prices: PricesService, purposes: ModelPurposesService, plugins: ExtensionAdmin, registry: ProviderRegistry, catalogRequests: CatalogRequestsService, displayNames: ExtensionDisplayNames);
107
+ private readonly config;
108
+ constructor(accounts: AccountsService, sessions: SessionService, log: Logger, orgs: OrgsService, settings: SettingsService, prices: PricesService, purposes: ModelPurposesService, plugins: ExtensionAdmin, registry: ProviderRegistry, catalogRequests: CatalogRequestsService, displayNames: ExtensionDisplayNames, config: KernelConfigService);
88
109
  /** 后台概览的四个数字(只读计数,不含任何对话内容)。 */
89
110
  overview(): Promise<AdminOverview>;
90
111
  /**
@@ -98,17 +119,22 @@ export declare class AdminController {
98
119
  createAccount(principal: Principal, body: z.infer<typeof CreateAccountSchema>): Promise<{
99
120
  account: Account;
100
121
  }>;
101
- /** 改显示名 / 状态 / 企业管理员;停用时同时吊销该账号的全部会话与个人令牌。 */
122
+ /** 改显示名 / 状态 / 超级管理员;停用时同时吊销该账号的全部会话与个人令牌。 */
102
123
  updateAccount(principal: Principal, accountId: string, body: z.infer<typeof UpdateAccountSchema>): Promise<{
103
124
  account: Account;
104
125
  }>;
105
- /** 全部组织的元数据与成员数(不含成员明细)。 */
126
+ /**
127
+ * 全部组织的元数据与成员数(不含成员明细), with the deployment's defaults of the limits an org
128
+ * can be given its own value of (the org limits dialog shows them for the values left empty).
129
+ */
106
130
  listOrgs(): Promise<{
107
131
  orgs: (Org & {
108
132
  memberCount: number;
109
133
  })[];
134
+ limitDefaults: LimitDefaults;
110
135
  }>;
111
136
  getSettings(): Promise<DeploymentSettings>;
137
+ private limitDefaults;
112
138
  putSettings(principal: Principal, body: z.infer<typeof SettingsSchema>): Promise<DeploymentSettings>;
113
139
  /**
114
140
  * 模型供应商与模型(后台「模型」页):每个供应商带状态,列模型失败的标 `error`,不影响其他供应商;
@@ -134,11 +160,11 @@ export declare class AdminController {
134
160
  }>;
135
161
  /** 模型用途与部署默认映射(`override` 一律为 null;组织覆盖在组织侧接口)。 */
136
162
  getModelPurposes(): Promise<{
137
- purposes: PurposeView[];
163
+ purposes: PurposeListing[];
138
164
  }>;
139
165
  /** 设置一个用途的部署默认,或 `target: null` 清除。 */
140
166
  putModelPurpose(principal: Principal, purpose: string, body: PurposePut): Promise<{
141
- purpose: PurposeView;
167
+ purpose: PurposeListing;
142
168
  }>;
143
169
  }
144
170
  export {};
@@ -15,15 +15,16 @@ import { ExtensionDisplayNames } from "../extensions/display-name.js";
15
15
  import { extensionNeedsAction } from "../extensions/permission-view.js";
16
16
  import { AccountsService } from "../identity/accounts.js";
17
17
  import { MAX_PASSWORD_LENGTH } from "../identity/login.js";
18
- import { CurrentPrincipal, EnterpriseAdmin, patTokenId, requireUser, } from "../identity/principal.js";
18
+ import { CurrentPrincipal, patTokenId, requireUser, SuperAdmin, } from "../identity/principal.js";
19
19
  import { SessionService } from "../identity/sessions.js";
20
20
  import { DEPLOYMENT_SETTINGS_PATCH, SettingsService, } from "../identity/settings.js";
21
+ import { KernelConfigService } from "../infra/config/kernel-config.service.js";
21
22
  import { KERNEL_LOGGER } from "../infra/tokens.js";
22
23
  import { createZodDto } from "../infra/validation/create-zod-dto.js";
23
24
  import { ZBody, ZQuery } from "../infra/validation/zod-params.js";
24
25
  import { MODEL_PRICE_PUT, PricesService, } from "../models/prices.js";
25
26
  import { purposeTargetOf } from "../models/purposes.controller.js";
26
- import { ModelPurposesService, PurposePutDto, } from "../models/purposes.js";
27
+ import { ModelPurposesService, PurposePutDto, withDeclaredByNames, } from "../models/purposes.js";
27
28
  import { OrgsService } from "../orgs/orgs.service.js";
28
29
  import { ProviderRegistry } from "../runtime/providers.js";
29
30
  const ListQuerySchema = z.object({
@@ -37,14 +38,14 @@ const CreateAccountSchema = z.object({
37
38
  password: z.string().min(1).max(MAX_PASSWORD_LENGTH),
38
39
  displayName: z.string().trim().min(1).max(100),
39
40
  email: z.email().max(254).optional(),
40
- enterpriseAdmin: z.boolean().optional(),
41
+ superAdmin: z.boolean().optional(),
41
42
  });
42
43
  class CreateAccountBody extends createZodDto(CreateAccountSchema, "CreateAccountBody") {
43
44
  }
44
45
  const UpdateAccountSchema = z.object({
45
46
  displayName: z.string().trim().min(1).max(100).optional(),
46
47
  status: z.enum(["active", "disabled"]).optional(),
47
- isEnterpriseAdmin: z.boolean().optional(),
48
+ isSuperAdmin: z.boolean().optional(),
48
49
  });
49
50
  class UpdateAccountBody extends createZodDto(UpdateAccountSchema, "UpdateAccountBody") {
50
51
  }
@@ -57,7 +58,7 @@ class DeploymentSettingsBody extends createZodDto(SettingsSchema, "DeploymentSet
57
58
  // a union schema: a DTO value rather than a class (a class cannot extend a union instance type)
58
59
  const ModelPriceBody = createZodDto(MODEL_PRICE_PUT, "ModelPricePut");
59
60
  /**
60
- * 企业管理员端点(`/api/v1/admin/*`):只接受企业管理员的 Web 会话或个人令牌;
61
+ * 超级管理员端点(`/api/v1/admin/*`):只接受超级管理员的 Web 会话或个人令牌;
61
62
  * 服务令牌一律 `forbidden`(未标 `@AllowService`)。
62
63
  */
63
64
  let AdminController = class AdminController {
@@ -72,7 +73,8 @@ let AdminController = class AdminController {
72
73
  registry;
73
74
  catalogRequests;
74
75
  displayNames;
75
- constructor(accounts, sessions, log, orgs, settings, prices, purposes, plugins, registry, catalogRequests, displayNames) {
76
+ config;
77
+ constructor(accounts, sessions, log, orgs, settings, prices, purposes, plugins, registry, catalogRequests, displayNames, config) {
76
78
  this.accounts = accounts;
77
79
  this.sessions = sessions;
78
80
  this.log = log;
@@ -84,6 +86,7 @@ let AdminController = class AdminController {
84
86
  this.registry = registry;
85
87
  this.catalogRequests = catalogRequests;
86
88
  this.displayNames = displayNames;
89
+ this.config = config;
87
90
  }
88
91
  /** 后台概览的四个数字(只读计数,不含任何对话内容)。 */
89
92
  async overview() {
@@ -120,17 +123,17 @@ let AdminController = class AdminController {
120
123
  password: body.password,
121
124
  displayName: body.displayName,
122
125
  ...(body.email !== undefined && { email: body.email }),
123
- ...(body.enterpriseAdmin !== undefined && { enterpriseAdmin: body.enterpriseAdmin }),
126
+ ...(body.superAdmin !== undefined && { superAdmin: body.superAdmin }),
124
127
  }, actor.account.id, patTokenId(actor));
125
128
  return { account };
126
129
  }
127
- /** 改显示名 / 状态 / 企业管理员;停用时同时吊销该账号的全部会话与个人令牌。 */
130
+ /** 改显示名 / 状态 / 超级管理员;停用时同时吊销该账号的全部会话与个人令牌。 */
128
131
  async updateAccount(principal, accountId, body) {
129
132
  const actor = requireUser(principal);
130
133
  const patch = {
131
134
  ...(body.displayName !== undefined && { displayName: body.displayName }),
132
135
  ...(body.status !== undefined && { status: body.status }),
133
- ...(body.isEnterpriseAdmin !== undefined && { isEnterpriseAdmin: body.isEnterpriseAdmin }),
136
+ ...(body.isSuperAdmin !== undefined && { isSuperAdmin: body.isSuperAdmin }),
134
137
  };
135
138
  // 停用时账号状态、会话与个人令牌的吊销在同一个 PG 事务里完成
136
139
  const { account, revokedSessionIds } = await this.accounts.updateAccount(accountId, patch, actor.account.id, patTokenId(actor));
@@ -146,13 +149,25 @@ let AdminController = class AdminController {
146
149
  }
147
150
  return { account };
148
151
  }
149
- /** 全部组织的元数据与成员数(不含成员明细)。 */
152
+ /**
153
+ * 全部组织的元数据与成员数(不含成员明细), with the deployment's defaults of the limits an org
154
+ * can be given its own value of (the org limits dialog shows them for the values left empty).
155
+ */
150
156
  async listOrgs() {
151
- return { orgs: await this.orgs.listAll() };
157
+ return { orgs: await this.orgs.listAll(), limitDefaults: this.limitDefaults() };
152
158
  }
153
159
  async getSettings() {
154
160
  return this.settings.get();
155
161
  }
162
+ limitDefaults() {
163
+ const cfg = this.config.get();
164
+ const { maxDepth, maxConcurrentPerConversation, maxDispatchesPerRun, maxTokensPerRun } = cfg.subagents;
165
+ return {
166
+ runConcurrency: cfg.runtime.orgConcurrency,
167
+ sandbox: { cpu: cfg.sandbox.limits.cpu, memoryMb: cfg.sandbox.limits.memoryMb },
168
+ subagents: { maxDepth, maxConcurrentPerConversation, maxDispatchesPerRun, maxTokensPerRun },
169
+ };
170
+ }
156
171
  async putSettings(principal, body) {
157
172
  const actor = requireUser(principal);
158
173
  return this.settings.update(body, actor.account.id, patTokenId(actor));
@@ -186,14 +201,14 @@ let AdminController = class AdminController {
186
201
  }
187
202
  /** 模型用途与部署默认映射(`override` 一律为 null;组织覆盖在组织侧接口)。 */
188
203
  async getModelPurposes() {
189
- return { purposes: await this.purposes.list() };
204
+ return { purposes: await withDeclaredByNames(await this.purposes.list(), this.displayNames) };
190
205
  }
191
206
  /** 设置一个用途的部署默认,或 `target: null` 清除。 */
192
207
  async putModelPurpose(principal, purpose, body) {
193
208
  const actor = requireUser(principal);
194
- return {
195
- purpose: await this.purposes.setDefault(purpose, purposeTargetOf(body), actor.account.id, patTokenId(actor)),
196
- };
209
+ const view = await this.purposes.setDefault(purpose, purposeTargetOf(body), actor.account.id, patTokenId(actor));
210
+ const [listing] = await withDeclaredByNames([view], this.displayNames);
211
+ return { purpose: listing };
197
212
  }
198
213
  };
199
214
  __decorate([
@@ -248,7 +263,7 @@ __decorate([
248
263
  ], AdminController.prototype, "putModelPurpose", null);
249
264
  AdminController = __decorate([
250
265
  Controller("api/v1/admin"),
251
- EnterpriseAdmin(),
266
+ SuperAdmin(),
252
267
  __param(0, Inject(AccountsService)),
253
268
  __param(1, Inject(SessionService)),
254
269
  __param(2, Inject(KERNEL_LOGGER)),
@@ -259,6 +274,7 @@ AdminController = __decorate([
259
274
  __param(7, Inject(ExtensionAdmin)),
260
275
  __param(8, Inject(ProviderRegistry)),
261
276
  __param(9, Inject(CatalogRequestsService)),
262
- __param(10, Inject(ExtensionDisplayNames))
277
+ __param(10, Inject(ExtensionDisplayNames)),
278
+ __param(11, Inject(KernelConfigService))
263
279
  ], AdminController);
264
280
  export { AdminController };
@@ -3,6 +3,7 @@ import { ExtensionAdminOps } from "../extensions/admin-ops.js";
3
3
  import { ExtensionAdmin } from "../extensions/admin-view.js";
4
4
  import { type DeploymentConfigView, ExtensionDeploymentConfigService } from "../extensions/deployment-config.js";
5
5
  import { ExtensionInstalls, type PackageReview } from "../extensions/installs.js";
6
+ import { type OrgOverrideSummary, OrgOverrides } from "../extensions/org-overrides.js";
6
7
  import type { AdminExtensionView } from "../extensions/permission-view.js";
7
8
  import { type Principal } from "../identity/principal.js";
8
9
  import { KernelConfigService } from "../infra/config/kernel-config.service.js";
@@ -26,8 +27,12 @@ declare const NpmSchema: z.ZodObject<{
26
27
  package: z.ZodString;
27
28
  version: z.ZodOptional<z.ZodString>;
28
29
  }, z.core.$strip>;
30
+ /** The `:name` route parameter of the org-overrides list (decision R20). */
31
+ declare const NameParams: z.ZodObject<{
32
+ name: z.ZodString;
33
+ }, z.core.$strip>;
29
34
  /**
30
- * Deployment-level extension management (`/api/v1/admin/extensions/*`, enterprise admins): package
35
+ * Deployment-level extension management (`/api/v1/admin/extensions/*`, super admins): package
31
36
  * import (upload / npm, returns the review), the extension list and detail, web permission approval
32
37
  * (D8), install / enable / disable / uninstall (only writes the desired state and publishes
33
38
  * `kernel.plugins.changed`; every replica reconciles, no restart; replicas may still be converging
@@ -39,7 +44,8 @@ export declare class AdminExtensionsController {
39
44
  private readonly ops;
40
45
  private readonly deploymentConfigs;
41
46
  private readonly kernelConfig;
42
- constructor(installs: ExtensionInstalls, admin: ExtensionAdmin, ops: ExtensionAdminOps, deploymentConfigs: ExtensionDeploymentConfigService, kernelConfig: KernelConfigService);
47
+ private readonly orgOverrides;
48
+ constructor(installs: ExtensionInstalls, admin: ExtensionAdmin, ops: ExtensionAdminOps, deploymentConfigs: ExtensionDeploymentConfigService, kernelConfig: KernelConfigService, orgOverrides: OrgOverrides);
43
49
  /**
44
50
  * 部署上的全部插件(内置、配置声明、安装记录)及其状态、权限与快照;`drainSeconds` 为停用 / 升级时
45
51
  * 在途工具调用最多等待的秒数(`extensionHost.drainSeconds`,界面提示用)。
@@ -56,6 +62,14 @@ export declare class AdminExtensionsController {
56
62
  * result. Unknown -> 404 `extension.not_found`.
57
63
  */
58
64
  config(name: string): Promise<DeploymentConfigView>;
65
+ /**
66
+ * The orgs keeping their own copy of the extension's overridable config (spec A §5.7): when it
67
+ * was made, which non-secret fields differ from the platform, whether each secret is set; never
68
+ * a secret value. The super admin cannot edit or drop a copy.
69
+ */
70
+ orgCopies({ name }: z.infer<typeof NameParams>): Promise<{
71
+ overrides: OrgOverrideSummary[];
72
+ }>;
59
73
  /**
60
74
  * Saves the deployment config (`values` keyed by field dot path; `null` clears, omitted keeps).
61
75
  * A field present in the startup config -> 409 `extension.config_readonly`; unknown or invalid
@@ -14,10 +14,11 @@ import { ExtensionAdminOps } from "../extensions/admin-ops.js";
14
14
  import { ExtensionAdmin } from "../extensions/admin-view.js";
15
15
  import { ExtensionDeploymentConfigService, } from "../extensions/deployment-config.js";
16
16
  import { ExtensionInstalls } from "../extensions/installs.js";
17
- import { CurrentPrincipal, EnterpriseAdmin, patTokenId, requireUser, } from "../identity/principal.js";
17
+ import { OrgOverrides } from "../extensions/org-overrides.js";
18
+ import { CurrentPrincipal, patTokenId, requireUser, SuperAdmin, } from "../identity/principal.js";
18
19
  import { KernelConfigService } from "../infra/config/kernel-config.service.js";
19
20
  import { createZodDto } from "../infra/validation/create-zod-dto.js";
20
- import { ZBody } from "../infra/validation/zod-params.js";
21
+ import { ZBody, ZParam } from "../infra/validation/zod-params.js";
21
22
  const ApproveSchema = z.object({
22
23
  /** 安装记录的包(审阅时的 sha256);配置声明的插件为 null。 */
23
24
  sha256: z
@@ -65,8 +66,12 @@ class ExtensionConfigBody extends createZodDto(ConfigSchema, "ExtensionConfigBod
65
66
  }
66
67
  class ExtensionNpmImportBody extends createZodDto(NpmSchema, "ExtensionNpmImportBody") {
67
68
  }
69
+ /** The `:name` route parameter of the org-overrides list (decision R20). */
70
+ const NameParams = z.object({ name: z.string().min(1).max(64) });
71
+ class AdminExtensionNameParamsDto extends createZodDto(NameParams, "AdminExtensionNameParams") {
72
+ }
68
73
  /**
69
- * Deployment-level extension management (`/api/v1/admin/extensions/*`, enterprise admins): package
74
+ * Deployment-level extension management (`/api/v1/admin/extensions/*`, super admins): package
70
75
  * import (upload / npm, returns the review), the extension list and detail, web permission approval
71
76
  * (D8), install / enable / disable / uninstall (only writes the desired state and publishes
72
77
  * `kernel.plugins.changed`; every replica reconciles, no restart; replicas may still be converging
@@ -78,14 +83,16 @@ let AdminExtensionsController = class AdminExtensionsController {
78
83
  ops;
79
84
  deploymentConfigs;
80
85
  kernelConfig;
86
+ orgOverrides;
81
87
  constructor(installs, admin, ops, deploymentConfigs,
82
88
  // 字段名不能与路由方法同名(如 `config`):实例字段会遮住原型上的处理函数
83
- kernelConfig) {
89
+ kernelConfig, orgOverrides) {
84
90
  this.installs = installs;
85
91
  this.admin = admin;
86
92
  this.ops = ops;
87
93
  this.deploymentConfigs = deploymentConfigs;
88
94
  this.kernelConfig = kernelConfig;
95
+ this.orgOverrides = orgOverrides;
89
96
  }
90
97
  /**
91
98
  * 部署上的全部插件(内置、配置声明、安装记录)及其状态、权限与快照;`drainSeconds` 为停用 / 升级时
@@ -109,6 +116,14 @@ let AdminExtensionsController = class AdminExtensionsController {
109
116
  config(name) {
110
117
  return this.deploymentConfigs.view(name);
111
118
  }
119
+ /**
120
+ * The orgs keeping their own copy of the extension's overridable config (spec A §5.7): when it
121
+ * was made, which non-secret fields differ from the platform, whether each secret is set; never
122
+ * a secret value. The super admin cannot edit or drop a copy.
123
+ */
124
+ async orgCopies({ name }) {
125
+ return { overrides: await this.orgOverrides.listForPlugin(name) };
126
+ }
112
127
  /**
113
128
  * Saves the deployment config (`values` keyed by field dot path; `null` clears, omitted keeps).
114
129
  * A field present in the startup config -> 409 `extension.config_readonly`; unknown or invalid
@@ -197,6 +212,10 @@ __decorate([
197
212
  Get(":name/config"),
198
213
  __param(0, Param("name"))
199
214
  ], AdminExtensionsController.prototype, "config", null);
215
+ __decorate([
216
+ Get(":name/org-overrides"),
217
+ __param(0, ZParam(AdminExtensionNameParamsDto))
218
+ ], AdminExtensionsController.prototype, "orgCopies", null);
200
219
  __decorate([
201
220
  Put(":name/config"),
202
221
  __param(0, CurrentPrincipal()),
@@ -249,11 +268,12 @@ __decorate([
249
268
  ], AdminExtensionsController.prototype, "fromNpm", null);
250
269
  AdminExtensionsController = __decorate([
251
270
  Controller("api/v1/admin/extensions"),
252
- EnterpriseAdmin(),
271
+ SuperAdmin(),
253
272
  __param(0, Inject(ExtensionInstalls)),
254
273
  __param(1, Inject(ExtensionAdmin)),
255
274
  __param(2, Inject(ExtensionAdminOps)),
256
275
  __param(3, Inject(ExtensionDeploymentConfigService)),
257
- __param(4, Inject(KernelConfigService))
276
+ __param(4, Inject(KernelConfigService)),
277
+ __param(5, Inject(OrgOverrides))
258
278
  ], AdminExtensionsController);
259
279
  export { AdminExtensionsController };
@@ -2,7 +2,7 @@ import { TransactionHost } from "../infra/database/transaction-host.js";
2
2
  import { XactLock } from "../infra/database/xact-lock.js";
3
3
  /**
4
4
  * The deployment setup lock (one provider per transaction-scoped lock): serializes the web setup
5
- * wizard and the CLI's `admin create --if-none`, so concurrent runs create exactly one enterprise
5
+ * wizard and the CLI's `admin create --if-none`, so concurrent runs create exactly one super
6
6
  * admin. Joins the caller's transaction (`mandatory`), which holds it until it ends.
7
7
  */
8
8
  export declare class SetupLock {
@@ -15,7 +15,7 @@ import { XactLock } from "../infra/database/xact-lock.js";
15
15
  const SETUP_LOCK = "capybara.setup";
16
16
  /**
17
17
  * The deployment setup lock (one provider per transaction-scoped lock): serializes the web setup
18
- * wizard and the CLI's `admin create --if-none`, so concurrent runs create exactly one enterprise
18
+ * wizard and the CLI's `admin create --if-none`, so concurrent runs create exactly one super
19
19
  * admin. Joins the caller's transaction (`mandatory`), which holds it until it ends.
20
20
  */
21
21
  let SetupLock = class SetupLock {
@@ -24,7 +24,7 @@ export declare class SetupController {
24
24
  needsSetup: boolean;
25
25
  }>;
26
26
  /**
27
- * 建首个企业管理员(可选同时建组织),成功后直接登录(设会话 Cookie)。
27
+ * 建首个超级管理员(可选同时建组织),成功后直接登录(设会话 Cookie)。
28
28
  * 配置了 `auth.setupToken` 时 body 中的 `setupToken` 必须与之相等,否则 `setup.token_invalid`;
29
29
  * 核对前先占用限流额度,超限 → 429 `auth.rate_limited`,核对通过后退还。
30
30
  */
@@ -56,7 +56,7 @@ let SetupController = class SetupController {
56
56
  return this.setup.status();
57
57
  }
58
58
  /**
59
- * 建首个企业管理员(可选同时建组织),成功后直接登录(设会话 Cookie)。
59
+ * 建首个超级管理员(可选同时建组织),成功后直接登录(设会话 Cookie)。
60
60
  * 配置了 `auth.setupToken` 时 body 中的 `setupToken` 必须与之相等,否则 `setup.token_invalid`;
61
61
  * 核对前先占用限流额度,超限 → 429 `auth.rate_limited`,核对通过后退还。
62
62
  */
@@ -4,8 +4,8 @@ import { TransactionHost } from "../infra/database/transaction-host.js";
4
4
  import { type Org, OrgsService } from "../orgs/orgs.service.js";
5
5
  import { SetupLock } from "./setup-lock.js";
6
6
  /**
7
- * The setup wizard. The CLI's enterprise admin creation (`createEnterpriseAdmin`,
8
- * `createEnterpriseAdminIfNone`) is on `AccountsService`, under the same {@link SetupLock}.
7
+ * The setup wizard. The CLI's super admin creation (`createSuperAdmin`,
8
+ * `createSuperAdminIfNone`) is on `AccountsService`, under the same {@link SetupLock}.
9
9
  */
10
10
  export declare class SetupService {
11
11
  private readonly db;
@@ -14,13 +14,13 @@ export declare class SetupService {
14
14
  private readonly accounts;
15
15
  private readonly orgs;
16
16
  constructor(db: KernelDb, txHost: TransactionHost, setupLock: SetupLock, accounts: AccountsService, orgs: OrgsService);
17
- /** 不存在活跃企业管理员即需要初始化(每次实时查 PG,不缓存)。 */
17
+ /** 不存在活跃超级管理员即需要初始化(每次实时查 PG,不缓存)。 */
18
18
  status(): Promise<{
19
19
  needsSetup: boolean;
20
20
  }>;
21
21
  /**
22
22
  * Completes the setup in one transaction: {@link SetupLock} serializes concurrent setups, and
23
- * under it there must still be no active enterprise admin; then creates the enterprise admin
23
+ * under it there must still be no active super admin; then creates the super admin
24
24
  * and (with `orgName`) an org it owns. Any failure rolls everything back. `inTx` runs last in the
25
25
  * same transaction (the wizard creates the session there), its result is `extra`; its failure
26
26
  * rolls back too.
@@ -18,8 +18,8 @@ import { OrgsService } from "../orgs/orgs.service.js";
18
18
  import { SetupLock } from "./setup-lock.js";
19
19
  const alreadyCompleted = () => new ApiError("setup.already_completed", "Deployment is already set up");
20
20
  /**
21
- * The setup wizard. The CLI's enterprise admin creation (`createEnterpriseAdmin`,
22
- * `createEnterpriseAdminIfNone`) is on `AccountsService`, under the same {@link SetupLock}.
21
+ * The setup wizard. The CLI's super admin creation (`createSuperAdmin`,
22
+ * `createSuperAdminIfNone`) is on `AccountsService`, under the same {@link SetupLock}.
23
23
  */
24
24
  let SetupService = class SetupService {
25
25
  db;
@@ -34,13 +34,13 @@ let SetupService = class SetupService {
34
34
  this.accounts = accounts;
35
35
  this.orgs = orgs;
36
36
  }
37
- /** 不存在活跃企业管理员即需要初始化(每次实时查 PG,不缓存)。 */
37
+ /** 不存在活跃超级管理员即需要初始化(每次实时查 PG,不缓存)。 */
38
38
  async status() {
39
- return { needsSetup: (await this.accounts.countEnterpriseAdmins()) === 0 };
39
+ return { needsSetup: (await this.accounts.countSuperAdmins()) === 0 };
40
40
  }
41
41
  /**
42
42
  * Completes the setup in one transaction: {@link SetupLock} serializes concurrent setups, and
43
- * under it there must still be no active enterprise admin; then creates the enterprise admin
43
+ * under it there must still be no active super admin; then creates the super admin
44
44
  * and (with `orgName`) an org it owns. Any failure rolls everything back. `inTx` runs last in the
45
45
  * same transaction (the wizard creates the session there), its result is `extra`; its failure
46
46
  * rolls back too.
@@ -48,20 +48,20 @@ let SetupService = class SetupService {
48
48
  async complete(input, inTx) {
49
49
  // A cheap pre-check first (a set-up deployment does not run scrypt for nothing), then the hash
50
50
  // before BEGIN: no scrypt inside the transaction holding the lock; the check runs again under it
51
- if ((await this.accounts.countEnterpriseAdmins()) > 0)
51
+ if ((await this.accounts.countSuperAdmins()) > 0)
52
52
  throw alreadyCompleted();
53
53
  const passwordHash = await this.accounts.hashNewPassword(input.password);
54
54
  return this.completeIn(input, passwordHash, inTx);
55
55
  }
56
56
  async completeIn(input, passwordHash, inTx) {
57
57
  await this.setupLock.lock();
58
- if ((await this.accounts.countEnterpriseAdmins()) > 0)
58
+ if ((await this.accounts.countSuperAdmins()) > 0)
59
59
  throw alreadyCompleted();
60
60
  const account = await this.accounts.createLocal({
61
61
  login: input.login,
62
62
  password: input.password,
63
63
  displayName: input.displayName,
64
- enterpriseAdmin: true,
64
+ superAdmin: true,
65
65
  }, passwordHash);
66
66
  const org = input.orgName !== undefined
67
67
  ? await this.orgs.create({ name: input.orgName }, account)