@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
@@ -10,7 +10,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
10
10
  import { randomBytes, randomUUID } from "node:crypto";
11
11
  import { Inject, Injectable } from "@nestjs/common";
12
12
  import { sql } from "kysely";
13
- import { cancelPendingRequests } from "../catalog/requests.service.js";
13
+ import { OwnedItems } from "../catalog/owned-items.js";
14
+ import { cancelPendingRequests } from "../catalog/request-rules.js";
15
+ import { PluginScopeSync } from "../catalog/scope-sync.js";
14
16
  import { ApiError } from "../errors.js";
15
17
  import { EvalBudget } from "../evals/budget.js";
16
18
  import { ApiTokenService } from "../identity/api-tokens.js";
@@ -70,8 +72,8 @@ async function slugGuard(p) {
70
72
  }
71
73
  }
72
74
  /**
73
- * Organizations: create, read, update and soft delete. A soft delete emits `org.deleted` on
74
- * {@link KernelEvents} after the commit.
75
+ * Organizations: create, read, update and soft delete. A new org's plugin scope sync is enqueued
76
+ * after the commit; a soft delete emits `org.deleted` on {@link KernelEvents} after the commit.
75
77
  */
76
78
  let OrgsService = class OrgsService {
77
79
  db;
@@ -81,9 +83,15 @@ let OrgsService = class OrgsService {
81
83
  orgLock;
82
84
  events;
83
85
  evalBudget;
86
+ scopeSync;
87
+ ownedItems;
84
88
  constructor(db, txHost, settings, apiTokens, orgLock, events,
85
89
  /** Cancels the deleted org's running eval runs (in the delete's transaction). */
86
- evalBudget) {
90
+ evalBudget,
91
+ /** A new org gets the plugins its scope offers it (the scope sync, after the commit). */
92
+ scopeSync,
93
+ /** What the deleted org owns is transferred or removed in the delete's transaction (P3-20). */
94
+ ownedItems) {
87
95
  this.db = db;
88
96
  this.txHost = txHost;
89
97
  this.settings = settings;
@@ -91,6 +99,8 @@ let OrgsService = class OrgsService {
91
99
  this.orgLock = orgLock;
92
100
  this.events = events;
93
101
  this.evalBudget = evalBudget;
102
+ this.scopeSync = scopeSync;
103
+ this.ownedItems = ownedItems;
94
104
  }
95
105
  /**
96
106
  * Creates an org with the actor as owner, in the caller's transaction when there is one (the
@@ -104,8 +114,8 @@ let OrgsService = class OrgsService {
104
114
  // read in the context's transaction: a caller holding a connection asking the pool for a
105
115
  // second one could exhaust it under load
106
116
  const { orgCreation } = await this.settings.get();
107
- if (orgCreation === "enterprise_admin" && !actor.isEnterpriseAdmin) {
108
- throw new ApiError("org.creation_disabled", "Only enterprise admins can create organizations");
117
+ if (orgCreation === "super_admin" && !actor.isSuperAdmin) {
118
+ throw new ApiError("org.creation_disabled", "Only super admins can create organizations");
109
119
  }
110
120
  const name = checkName(input.name);
111
121
  const slug = input.slug ?? slugFromName(name);
@@ -127,6 +137,7 @@ let OrgsService = class OrgsService {
127
137
  target: row.id,
128
138
  detail: { slug, name },
129
139
  });
140
+ afterCommit(() => this.scopeSync.enqueueOrg(row.id));
130
141
  return toOrg(row);
131
142
  }
132
143
  /** 账号所属的(未软删除的)组织及其角色,按创建时间升序。 */
@@ -142,7 +153,7 @@ let OrgsService = class OrgsService {
142
153
  .execute();
143
154
  return rows.map((r) => ({ ...toOrg(r), role: r.role }));
144
155
  }
145
- /** 全部(未软删除的)组织及成员数(企业管理员用)。 */
156
+ /** 全部(未软删除的)组织及成员数(超级管理员用)。 */
146
157
  async listAll() {
147
158
  const rows = await this.db
148
159
  .selectFrom("orgs")
@@ -167,7 +178,9 @@ let OrgsService = class OrgsService {
167
178
  return row && toOrg(row);
168
179
  }
169
180
  /** Renames / re-slugs (needs admin, decided live under the org lock). */
170
- async update(orgId, patch, actor, actorTokenId) {
181
+ async update(orgId, patch, actor, actorTokenId,
182
+ /** Merged into the audit detail (the Platform tool's `via: "agent"`). */
183
+ auditDetail) {
171
184
  const values = {};
172
185
  if (patch.name !== undefined)
173
186
  values.name = checkName(patch.name);
@@ -175,9 +188,9 @@ let OrgsService = class OrgsService {
175
188
  checkSlug(patch.slug);
176
189
  values.slug = patch.slug;
177
190
  }
178
- return slugGuard(this.updateIn(orgId, values, actor, actorTokenId));
191
+ return slugGuard(this.updateIn(orgId, values, actor, actorTokenId, auditDetail));
179
192
  }
180
- async updateIn(orgId, values, actor, actorTokenId) {
193
+ async updateIn(orgId, values, actor, actorTokenId, auditDetail) {
181
194
  const { org: before } = await this.orgLock.lockAndAuthorize(orgId, actor.id, "org.update");
182
195
  if (Object.keys(values).length === 0) {
183
196
  const row = await this.db
@@ -199,15 +212,18 @@ let OrgsService = class OrgsService {
199
212
  orgId,
200
213
  action: "org.updated",
201
214
  target: orgId,
202
- detail: { before, after: values },
215
+ detail: { before, after: values, ...auditDetail },
203
216
  });
204
217
  return toOrg(row);
205
218
  }
206
219
  /**
207
220
  * Soft delete (needs owner, decided live under the org lock): in the same transaction revokes
208
- * the org's service tokens, cancels its running eval runs and pending catalog requests, and
209
- * clears sessions' current org pointing at it; after the commit emits `org.deleted` (channel
210
- * connections go with the org: the runtime's connection reads filter deleted orgs).
221
+ * the org's service tokens, cancels its running eval runs and pending catalog requests, clears
222
+ * sessions' current org pointing at it, and transfers or removes the plugins and promoted
223
+ * components it owns ({@link OwnedItems.onOrgDeleted}, P3-20: shared ones become the platform's,
224
+ * the others are removed, a removed plugin's extension taken out by its cleanup job after the
225
+ * commit); after the commit emits `org.deleted` (channel connections go with the org: the
226
+ * runtime's connection reads filter deleted orgs).
211
227
  */
212
228
  async softDelete(orgId, actor, actorTokenId) {
213
229
  await this.softDeleteIn(orgId, actor, actorTokenId);
@@ -219,10 +235,14 @@ let OrgsService = class OrgsService {
219
235
  .set({ deleted_at: sql `now()` })
220
236
  .where("id", "=", orgId)
221
237
  .execute();
238
+ // after the org is marked deleted, so it counts as no user of what it shared (P3-18)
239
+ await this.ownedItems.onOrgDeleted(orgId, actor.id, {
240
+ ...(actorTokenId !== undefined && { actorTokenId }),
241
+ });
222
242
  await this.apiTokens.revokeAllForOrg(orgId);
223
243
  // eval runs of a deleted org stop spending: cancelled explicitly (audited with the reason)
224
244
  await this.evalBudget.cancelRuns({ orgId }, { accountId: actor.id, ...(actorTokenId !== undefined && { tokenId: actorTokenId }) }, "org_deleted");
225
- // pending catalog requests (including those passed to enterprise admins) are cancelled too
245
+ // pending catalog requests (including those passed to super admins) are cancelled too
226
246
  await cancelPendingRequests(this.db.db, { orgId }, actor.id, "org_deleted", actorTokenId !== undefined ? { actorTokenId } : {});
227
247
  await this.db
228
248
  .updateTable("sessions")
@@ -257,6 +277,8 @@ OrgsService = __decorate([
257
277
  __param(3, Inject(ApiTokenService)),
258
278
  __param(4, Inject(OrgLock)),
259
279
  __param(5, Inject(KernelEvents)),
260
- __param(6, Inject(EvalBudget))
280
+ __param(6, Inject(EvalBudget)),
281
+ __param(7, Inject(PluginScopeSync)),
282
+ __param(8, Inject(OwnedItems))
261
283
  ], OrgsService);
262
284
  export { OrgsService };
@@ -4,7 +4,7 @@ export type OrgRole = (typeof ORG_ROLES)[number];
4
4
  /** `role` 是否不低于 `min`。 */
5
5
  export declare function roleAtLeast(role: OrgRole, min: OrgRole): boolean;
6
6
  /** 组织级动作;路由用 `@OrgAction(action)` 声明所需动作。 */
7
- export type OrgAction = "org.read" | "org.update" | "org.delete" | "org.transfer" | "org.members.read" | "org.members.manage" | "org.invitations.manage" | "org.tokens.manage" | "org.extensions.manage" | "agents.create" | "agents.use" | "agents.manage" | "connectors.manage" | "connectors.use" | "approvals.decide" | "channels.manage" | "skills.read" | "skills.manage" | "ui.use" | "trajectories.read" | "evals.manage" | "org.models.manage" | "catalog.read" | "catalog.request" | "catalog.decide";
7
+ export type OrgAction = "org.read" | "org.update" | "org.delete" | "org.transfer" | "org.members.read" | "org.members.manage" | "org.invitations.manage" | "org.tokens.manage" | "org.extensions.read" | "org.extensions.manage" | "agents.create" | "agents.use" | "agents.manage" | "connectors.manage" | "connectors.use" | "approvals.decide" | "channels.manage" | "skills.read" | "skills.manage" | "ui.use" | "trajectories.read" | "evals.manage" | "org.models.manage" | "catalog.read" | "catalog.request" | "catalog.decide" | "catalog.upload";
8
8
  /** 每个动作所需的最低角色。 */
9
9
  export declare const ACTION_MIN_ROLE: Record<OrgAction, OrgRole>;
10
10
  /** 只允许 user principal 执行的动作:服务令牌即使角色足够也拒绝(除 SERVICE_ALLOWED 外全部)。 */
@@ -12,6 +12,8 @@ export const ACTION_MIN_ROLE = {
12
12
  "org.members.manage": "admin",
13
13
  "org.invitations.manage": "admin",
14
14
  "org.tokens.manage": "admin",
15
+ // the 扩展 page for members: state only, no config / secrets / schema (the list projects by role)
16
+ "org.extensions.read": "member",
15
17
  "org.extensions.manage": "admin",
16
18
  "org.delete": "owner",
17
19
  "org.transfer": "owner",
@@ -38,11 +40,13 @@ export const ACTION_MIN_ROLE = {
38
40
  "evals.manage": "admin",
39
41
  // 本组织的模型用途映射(覆盖部署默认,如评委用途 eval)
40
42
  "org.models.manage": "admin",
41
- // 企业目录(组织视角):成员浏览(看不到 disabled)与申请;组织管理员决定成员申请(F-AF)。
43
+ // 平台目录(组织视角):成员浏览(看不到 disabled)与申请;组织管理员决定成员申请(F-AF)。
42
44
  // 安装另按条目种类要求 skills.manage / connectors.manage / org.extensions.manage(服务里在组织行锁内复核)
43
45
  "catalog.read": "member",
44
46
  "catalog.request": "member",
45
47
  "catalog.decide": "admin",
48
+ // An org admin uploads a plugin package the org owns (spec §14.1 item 1, ruling P3-7)
49
+ "catalog.upload": "admin",
46
50
  };
47
51
  /** 服务令牌也可执行的动作:只读的 org.read、org.members.read,以及使用 agent 的 agents.use。 */
48
52
  const SERVICE_ALLOWED = new Set([
@@ -4,7 +4,7 @@ import { type OrgSandboxLimits, type OrgSettings, type OrgSettingsDeployment, ty
4
4
  /**
5
5
  * 组织设置(`/api/v1/orgs/:orgId/settings`):成员可读,修改需 `org.update`(admin)。
6
6
  * 响应带 `deployment`(部署默认值,如沙箱出站),设置页据此展示「跟随部署」时的实际取值;
7
- * 以及只读的 `sandboxLimits`(组织实际生效的沙箱 cpu / 内存与来源,企业管理员在部署设置里覆盖,C19)。
7
+ * 以及只读的 `sandboxLimits`(组织实际生效的沙箱 cpu / 内存与来源,超级管理员在部署设置里覆盖,C19)。
8
8
  */
9
9
  type SettingsResponse = {
10
10
  settings: OrgSettings;
@@ -8,12 +8,21 @@ import { OrgLock } from "./org-lock.js";
8
8
  /**
9
9
  * 组织设置(`capybara.orgs.settings` jsonb)。读取宽松:缺失或非法的字段按默认值,未知键保留不动
10
10
  * (更新时与存量合并),新版本加字段不需要迁移。
11
- * - `toolSearch`:工具超过阈值时是否改用目录 + `tool_search`(D11,默认 on)。
11
+ * - `toolSearch`:工具超过阈值时是否改用目录 + `ToolSearch`(D11,默认 on)。
12
12
  * - `locale`:组织默认语言(`zh` / `en`,默认 en),机器人在 IM 里说的固定话术按它选择。
13
13
  * - `sandboxToolPolicy`:沙箱工具的默认策略(M5 T8,默认 allow)。为 `ask` 时除只读的
14
- * `sandbox_read` / `sandbox_glob` / `sandbox_grep` 外都需要审批(执行时实时读取)。
14
+ * `Read` / `Glob` / `Grep` 外都需要审批(执行时实时读取)。
15
+ * - `wakeOnBackgroundTask`:组织对 `runtime.wakeOnBackgroundTask` 的覆盖(缺省跟随部署),见 {@link effectiveWakeOnBackgroundTask}。
15
16
  * - `sandboxEgress`:组织的沙箱出站(Ruling M19 / D6),缺省跟随部署的 `sandbox.limits.egress` + `allowHosts`。
16
17
  * 见 {@link effectiveSandboxEgress}。存量值非法时按 `none` 读(宁可断网,不悄悄放宽到部署默认)。
18
+ * - `platformTool`: the `Platform` builtin for the whole org (Platform tool spec §3): `on`,
19
+ * `read-only` (writes listed as unavailable) or `off` (default `on`).
20
+ * - `timeZone`: the org's default time zone (IANA; absent = UTC) for senders without one of their
21
+ * own (run context spec §3.3); an invalid stored value reads as absent.
22
+ * - `theme`: the org's default theme and whether members may pick their own (themes spec §7);
23
+ * absent (or an invalid stored value) = follow the platform, personal picks allowed.
24
+ * - `uiArrangement`: per slot, the extension contributions the org hides and their order (UI slots
25
+ * spec §5); a slot with no entry follows the platform's; an invalid stored value reads as absent.
17
26
  */
18
27
  /** 组织沙箱出站白名单的主机数上限。 */
19
28
  export declare const ORG_SANDBOX_ALLOW_HOSTS_MAX = 200;
@@ -29,6 +38,21 @@ export declare const SandboxEgressSettingSchema: z.ZodObject<{
29
38
  allowHosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
30
39
  }, z.core.$strict>;
31
40
  export type SandboxEgressSetting = z.infer<typeof SandboxEgressSettingSchema>;
41
+ /**
42
+ * The org's theme setting (themes spec §7): `id` a theme on in the org (a `platform_themes` id),
43
+ * null = follow the platform's default; `personal: "locked"` hides the personal picker in the org
44
+ * and resolution ignores personal picks there.
45
+ */
46
+ export declare const OrgThemeSettingSchema: z.ZodObject<{
47
+ id: z.ZodNullable<z.ZodString>;
48
+ personal: z.ZodEnum<{
49
+ allowed: "allowed";
50
+ locked: "locked";
51
+ }>;
52
+ }, z.core.$strict>;
53
+ export type OrgThemeSetting = z.infer<typeof OrgThemeSettingSchema>;
54
+ /** The theme setting of an org that has none: follow the platform, personal picks allowed. */
55
+ export declare const DEFAULT_ORG_THEME: OrgThemeSetting;
32
56
  export declare const OrgSettingsSchema: z.ZodObject<{
33
57
  toolSearch: z.ZodCatch<z.ZodDefault<z.ZodEnum<{
34
58
  off: "off";
@@ -42,6 +66,11 @@ export declare const OrgSettingsSchema: z.ZodObject<{
42
66
  allow: "allow";
43
67
  ask: "ask";
44
68
  }>>>;
69
+ platformTool: z.ZodCatch<z.ZodDefault<z.ZodEnum<{
70
+ off: "off";
71
+ on: "on";
72
+ "read-only": "read-only";
73
+ }>>>;
45
74
  sandboxEgress: z.ZodCatch<z.ZodOptional<z.ZodObject<{
46
75
  mode: z.ZodEnum<{
47
76
  allowlist: "allowlist";
@@ -49,6 +78,16 @@ export declare const OrgSettingsSchema: z.ZodObject<{
49
78
  }>;
50
79
  allowHosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
51
80
  }, z.core.$strict>>>;
81
+ wakeOnBackgroundTask: z.ZodCatch<z.ZodOptional<z.ZodBoolean>>;
82
+ timeZone: z.ZodCatch<z.ZodOptional<z.ZodString>>;
83
+ theme: z.ZodCatch<z.ZodOptional<z.ZodObject<{
84
+ id: z.ZodNullable<z.ZodString>;
85
+ personal: z.ZodEnum<{
86
+ allowed: "allowed";
87
+ locked: "locked";
88
+ }>;
89
+ }, z.core.$strict>>>;
90
+ uiArrangement: z.ZodCatch<z.ZodOptional<z.ZodType<Partial<Record<"agent.detail.section" | "conversation.composer.frame" | "conversation.empty" | "conversation.panel" | "conversation.properties.section" | "conversation.tool-result.card" | "file.preview" | "org.page" | "org.settings.section" | "platform.page" | "shell.brand" | "shell.overlay", import("../ui/arrangement.js").UiArrangementEntry>>, unknown, z.core.$ZodTypeInternals<Partial<Record<"agent.detail.section" | "conversation.composer.frame" | "conversation.empty" | "conversation.panel" | "conversation.properties.section" | "conversation.tool-result.card" | "file.preview" | "org.page" | "org.settings.section" | "platform.page" | "shell.brand" | "shell.overlay", import("../ui/arrangement.js").UiArrangementEntry>>, unknown>>>>;
52
91
  }, z.core.$strip>;
53
92
  export type OrgSettings = z.infer<typeof OrgSettingsSchema>;
54
93
  /** PATCH 体:只改给出的字段;未知字段 → 400。 */
@@ -65,6 +104,12 @@ export declare const OrgSettingsPatchSchema: z.ZodObject<{
65
104
  allow: "allow";
66
105
  ask: "ask";
67
106
  }>>;
107
+ platformTool: z.ZodOptional<z.ZodEnum<{
108
+ off: "off";
109
+ on: "on";
110
+ "read-only": "read-only";
111
+ }>>;
112
+ wakeOnBackgroundTask: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
68
113
  sandboxEgress: z.ZodOptional<z.ZodNullable<z.ZodObject<{
69
114
  mode: z.ZodEnum<{
70
115
  allowlist: "allowlist";
@@ -72,6 +117,15 @@ export declare const OrgSettingsPatchSchema: z.ZodObject<{
72
117
  }>;
73
118
  allowHosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
74
119
  }, z.core.$strict>>>;
120
+ timeZone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
121
+ theme: z.ZodOptional<z.ZodNullable<z.ZodObject<{
122
+ id: z.ZodNullable<z.ZodString>;
123
+ personal: z.ZodEnum<{
124
+ allowed: "allowed";
125
+ locked: "locked";
126
+ }>;
127
+ }, z.core.$strict>>>;
128
+ uiArrangement: z.ZodOptional<z.ZodType<Partial<Record<"agent.detail.section" | "conversation.composer.frame" | "conversation.empty" | "conversation.panel" | "conversation.properties.section" | "conversation.tool-result.card" | "file.preview" | "org.page" | "org.settings.section" | "platform.page" | "shell.brand" | "shell.overlay", import("../ui/arrangement.js").UiArrangementEntry | null>>, unknown, z.core.$ZodTypeInternals<Partial<Record<"agent.detail.section" | "conversation.composer.frame" | "conversation.empty" | "conversation.panel" | "conversation.properties.section" | "conversation.tool-result.card" | "file.preview" | "org.page" | "org.settings.section" | "platform.page" | "shell.brand" | "shell.overlay", import("../ui/arrangement.js").UiArrangementEntry | null>>, unknown>>>;
75
129
  }, z.core.$strict>;
76
130
  export type OrgSettingsPatch = z.infer<typeof OrgSettingsPatchSchema>;
77
131
  /** 部署的沙箱出站(`sandbox.limits.egress` + `allowHosts`)。 */
@@ -81,15 +135,17 @@ export type DeploymentEgress = Pick<SandboxLimits, "egress" | "allowHosts">;
81
135
  * (省略时用部署的),但部署是 `none` 时仍为 `none`(组织永远不比部署放得更开,部署改成 none 后存量设置也随之收紧)。
82
136
  */
83
137
  export declare function effectiveSandboxEgress(deployment: DeploymentEgress, org: SandboxEgressSetting | undefined): DeploymentEgress;
138
+ /** Whether a finished background task wakes an idle conversation: the org's setting, else the deployment's. */
139
+ export declare function effectiveWakeOnBackgroundTask(deployment: boolean, org: OrgSettings["wakeOnBackgroundTask"]): boolean;
84
140
  /**
85
- * 组织实际生效的沙箱限额(C19 / Ruling M16):企业管理员的覆盖(部署设置 `sandboxLimitOverrides[orgId]`)
141
+ * 组织实际生效的沙箱限额(C19 / Ruling M16):超级管理员的覆盖(部署设置 `sandboxLimitOverrides[orgId]`)
86
142
  * 给出的 cpu / memoryMb 替换部署默认,未给的项、disk 与出站沿用 `deployment`。只在创建沙箱时读取。
87
143
  */
88
144
  export declare function effectiveSandboxLimits(deployment: SandboxLimits, override: {
89
145
  cpu?: number | undefined;
90
146
  memoryMb?: number | undefined;
91
147
  } | undefined): SandboxLimits;
92
- /** 组织设置 GET 带回的只读沙箱限额:实际生效值与来源(有企业管理员的覆盖为 `override`)。 */
148
+ /** 组织设置 GET 带回的只读沙箱限额:实际生效值与来源(有超级管理员的覆盖为 `override`)。 */
93
149
  export interface OrgSandboxLimits {
94
150
  cpu: number;
95
151
  memoryMb: number;
@@ -118,9 +174,13 @@ export declare class OrgSettingsService {
118
174
  config: Pick<KernelConfigService, "get">);
119
175
  /** 部署默认值(设置页展示「跟随部署」时的实际取值)。 */
120
176
  deployment(): OrgSettingsDeployment;
121
- /** 组织实际生效的沙箱 cpu / 内存(只读;由企业管理员在部署设置里覆盖)。 */
177
+ /** 组织实际生效的沙箱 cpu / 内存(只读;由超级管理员在部署设置里覆盖)。 */
122
178
  sandboxLimits(orgId: string): Promise<OrgSandboxLimits>;
123
179
  get(orgId: string): Promise<OrgSettings>;
124
- update(orgId: string, patch: OrgSettingsPatch, actorAccountId: string, actorTokenId?: string): Promise<OrgSettings>;
180
+ /** The refusals of {@link update} that need no read of the org (the Platform tool's precheck). */
181
+ check(patch: OrgSettingsPatch): void;
182
+ update(orgId: string, patch: OrgSettingsPatch, actorAccountId: string, actorTokenId?: string,
183
+ /** Merged into the audit detail (the Platform tool's `via: "agent"`). */
184
+ auditDetail?: Record<string, unknown>): Promise<OrgSettings>;
125
185
  private updateIn;
126
186
  }
@@ -17,16 +17,28 @@ import { KernelConfigService } from "../infra/config/kernel-config.service.js";
17
17
  import { KernelDb } from "../infra/database/kernel-db.js";
18
18
  import { TransactionHost } from "../infra/database/transaction-host.js";
19
19
  import { Transactional } from "../infra/database/transactional.decorator.js";
20
+ import { assertThemeOnIn } from "../themes/theme-state.js";
21
+ import { IanaTimeZone } from "../time-zone.js";
22
+ import { mergeArrangement, OrgUiArrangementPatchSchema, UiArrangementSchema, } from "../ui/arrangement.js";
20
23
  import { OrgLock } from "./org-lock.js";
21
24
  /**
22
25
  * 组织设置(`capybara.orgs.settings` jsonb)。读取宽松:缺失或非法的字段按默认值,未知键保留不动
23
26
  * (更新时与存量合并),新版本加字段不需要迁移。
24
- * - `toolSearch`:工具超过阈值时是否改用目录 + `tool_search`(D11,默认 on)。
27
+ * - `toolSearch`:工具超过阈值时是否改用目录 + `ToolSearch`(D11,默认 on)。
25
28
  * - `locale`:组织默认语言(`zh` / `en`,默认 en),机器人在 IM 里说的固定话术按它选择。
26
29
  * - `sandboxToolPolicy`:沙箱工具的默认策略(M5 T8,默认 allow)。为 `ask` 时除只读的
27
- * `sandbox_read` / `sandbox_glob` / `sandbox_grep` 外都需要审批(执行时实时读取)。
30
+ * `Read` / `Glob` / `Grep` 外都需要审批(执行时实时读取)。
31
+ * - `wakeOnBackgroundTask`:组织对 `runtime.wakeOnBackgroundTask` 的覆盖(缺省跟随部署),见 {@link effectiveWakeOnBackgroundTask}。
28
32
  * - `sandboxEgress`:组织的沙箱出站(Ruling M19 / D6),缺省跟随部署的 `sandbox.limits.egress` + `allowHosts`。
29
33
  * 见 {@link effectiveSandboxEgress}。存量值非法时按 `none` 读(宁可断网,不悄悄放宽到部署默认)。
34
+ * - `platformTool`: the `Platform` builtin for the whole org (Platform tool spec §3): `on`,
35
+ * `read-only` (writes listed as unavailable) or `off` (default `on`).
36
+ * - `timeZone`: the org's default time zone (IANA; absent = UTC) for senders without one of their
37
+ * own (run context spec §3.3); an invalid stored value reads as absent.
38
+ * - `theme`: the org's default theme and whether members may pick their own (themes spec §7);
39
+ * absent (or an invalid stored value) = follow the platform, personal picks allowed.
40
+ * - `uiArrangement`: per slot, the extension contributions the org hides and their order (UI slots
41
+ * spec §5); a slot with no entry follows the platform's; an invalid stored value reads as absent.
30
42
  */
31
43
  /** 组织沙箱出站白名单的主机数上限。 */
32
44
  export const ORG_SANDBOX_ALLOW_HOSTS_MAX = 200;
@@ -53,11 +65,33 @@ export const SandboxEgressSettingSchema = z
53
65
  .optional(),
54
66
  })
55
67
  .strict();
68
+ /**
69
+ * The org's theme setting (themes spec §7): `id` a theme on in the org (a `platform_themes` id),
70
+ * null = follow the platform's default; `personal: "locked"` hides the personal picker in the org
71
+ * and resolution ignores personal picks there.
72
+ */
73
+ export const OrgThemeSettingSchema = z
74
+ .object({
75
+ id: z.string().min(1).max(200).nullable(),
76
+ personal: z.enum(["allowed", "locked"]),
77
+ })
78
+ .strict();
79
+ /** The theme setting of an org that has none: follow the platform, personal picks allowed. */
80
+ export const DEFAULT_ORG_THEME = { id: null, personal: "allowed" };
56
81
  export const OrgSettingsSchema = z.object({
57
82
  toolSearch: z.enum(["on", "off"]).default("on").catch("on"),
58
83
  locale: z.enum(["zh", "en"]).default("en").catch("en"),
59
84
  sandboxToolPolicy: z.enum(["allow", "ask"]).default("allow").catch("allow"),
85
+ platformTool: z.enum(["on", "read-only", "off"]).default("on").catch("on"),
60
86
  sandboxEgress: SandboxEgressSettingSchema.optional().catch({ mode: "none" }),
87
+ /** Overrides `runtime.wakeOnBackgroundTask`; absent follows the deployment. */
88
+ wakeOnBackgroundTask: z.boolean().optional().catch(undefined),
89
+ /** The org's default time zone (run context spec §3.3); absent = UTC. */
90
+ timeZone: IanaTimeZone.optional().catch(undefined),
91
+ /** The org's default theme and personal lock (themes spec §7); absent = {@link DEFAULT_ORG_THEME}. */
92
+ theme: OrgThemeSettingSchema.optional().catch(undefined),
93
+ /** Hidden and ordered extension contributions per slot; absent = follow the platform. */
94
+ uiArrangement: UiArrangementSchema.optional().catch(undefined),
61
95
  });
62
96
  /** PATCH 体:只改给出的字段;未知字段 → 400。 */
63
97
  export const OrgSettingsPatchSchema = z
@@ -65,8 +99,23 @@ export const OrgSettingsPatchSchema = z
65
99
  toolSearch: z.enum(["on", "off"]).optional(),
66
100
  locale: z.enum(["zh", "en"]).optional(),
67
101
  sandboxToolPolicy: z.enum(["allow", "ask"]).optional(),
102
+ platformTool: z.enum(["on", "read-only", "off"]).optional(),
103
+ /** null clears (follow the deployment again). */
104
+ wakeOnBackgroundTask: z.boolean().nullable().optional(),
68
105
  /** null 清除(恢复跟随部署默认)。 */
69
106
  sandboxEgress: SandboxEgressSettingSchema.nullable().optional(),
107
+ /** The org's default time zone (IANA); null clears it (UTC). */
108
+ timeZone: IanaTimeZone.nullable().optional(),
109
+ /**
110
+ * The org's default theme (`id`: a theme on in the org, else 400 `theme.not_available`; null
111
+ * follows the platform) and whether members may pick their own; null clears it.
112
+ */
113
+ theme: OrgThemeSettingSchema.nullable().optional(),
114
+ /**
115
+ * Per slot, the entry to hide / order contributions with (replaces that slot's stored entry);
116
+ * null removes a slot's entry (it follows the platform again). `platform.page` is refused.
117
+ */
118
+ uiArrangement: OrgUiArrangementPatchSchema.optional(),
70
119
  })
71
120
  .strict();
72
121
  /**
@@ -80,8 +129,12 @@ export function effectiveSandboxEgress(deployment, org) {
80
129
  return { egress: "none", allowHosts: [] };
81
130
  return { egress: "allowlist", allowHosts: [...(org.allowHosts ?? deployment.allowHosts)] };
82
131
  }
132
+ /** Whether a finished background task wakes an idle conversation: the org's setting, else the deployment's. */
133
+ export function effectiveWakeOnBackgroundTask(deployment, org) {
134
+ return org ?? deployment;
135
+ }
83
136
  /**
84
- * 组织实际生效的沙箱限额(C19 / Ruling M16):企业管理员的覆盖(部署设置 `sandboxLimitOverrides[orgId]`)
137
+ * 组织实际生效的沙箱限额(C19 / Ruling M16):超级管理员的覆盖(部署设置 `sandboxLimitOverrides[orgId]`)
85
138
  * 给出的 cpu / memoryMb 替换部署默认,未给的项、disk 与出站沿用 `deployment`。只在创建沙箱时读取。
86
139
  */
87
140
  export function effectiveSandboxLimits(deployment, override) {
@@ -130,7 +183,7 @@ let OrgSettingsService = class OrgSettingsService {
130
183
  sandboxEgress: { mode: lim.egress, allowHosts: [...lim.allowHosts] },
131
184
  };
132
185
  }
133
- /** 组织实际生效的沙箱 cpu / 内存(只读;由企业管理员在部署设置里覆盖)。 */
186
+ /** 组织实际生效的沙箱 cpu / 内存(只读;由超级管理员在部署设置里覆盖)。 */
134
187
  async sandboxLimits(orgId) {
135
188
  const lim = this.config.get().sandbox.limits;
136
189
  const override = await readSandboxLimitOverride(this.db.db, orgId);
@@ -151,14 +204,20 @@ let OrgSettingsService = class OrgSettingsService {
151
204
  throw new ApiError("org.not_found", "Organization not found");
152
205
  return parseOrgSettings(row.settings);
153
206
  }
154
- async update(orgId, patch, actorAccountId, actorTokenId) {
207
+ /** The refusals of {@link update} that need no read of the org (the Platform tool's precheck). */
208
+ check(patch) {
155
209
  if (patch.sandboxEgress?.mode === "allowlist" &&
156
210
  this.deployment().sandboxEgress.mode === "none") {
157
211
  throw new ApiError("org.sandbox_egress_not_allowed", "This deployment disables sandbox network access (sandbox.limits.egress is none); an organization can only set sandboxEgress to none");
158
212
  }
159
- return this.updateIn(orgId, patch, actorAccountId, actorTokenId);
160
213
  }
161
- async updateIn(orgId, patch, actorAccountId, actorTokenId) {
214
+ async update(orgId, patch, actorAccountId, actorTokenId,
215
+ /** Merged into the audit detail (the Platform tool's `via: "agent"`). */
216
+ auditDetail) {
217
+ this.check(patch);
218
+ return this.updateIn(orgId, patch, actorAccountId, actorTokenId, auditDetail);
219
+ }
220
+ async updateIn(orgId, patch, actorAccountId, actorTokenId, auditDetail) {
162
221
  await this.orgLock.lockAndAuthorize(orgId, actorAccountId, "org.update");
163
222
  const row = await this.db
164
223
  .selectFrom("orgs")
@@ -169,15 +228,35 @@ let OrgSettingsService = class OrgSettingsService {
169
228
  const before = parseOrgSettings(stored);
170
229
  const changes = Object.fromEntries(Object.entries(patch)
171
230
  .filter(([, v]) => v !== undefined)
172
- // null 清除 sandboxEgress:恢复跟随部署默认
231
+ // null clears sandboxEgress / wakeOnBackgroundTask: follow the deployment default again
173
232
  .map(([k, v]) => [k, v === null ? undefined : v]));
233
+ const arrangementPatch = patch.uiArrangement;
234
+ delete changes.uiArrangement;
174
235
  const after = { ...before, ...changes };
236
+ if (arrangementPatch !== undefined) {
237
+ after.uiArrangement = mergeArrangement(before.uiArrangement, arrangementPatch);
238
+ if (Object.keys(after.uiArrangement).length === 0)
239
+ delete after.uiArrangement;
240
+ }
175
241
  if (after.sandboxEgress === undefined)
176
242
  delete after.sandboxEgress;
243
+ if (after.wakeOnBackgroundTask === undefined)
244
+ delete after.wakeOnBackgroundTask;
245
+ if (after.timeZone === undefined)
246
+ delete after.timeZone;
247
+ if (after.theme === undefined)
248
+ delete after.theme;
249
+ if (after.uiArrangement === undefined)
250
+ delete after.uiArrangement;
177
251
  if (sameSettings(before, after))
178
252
  return before;
253
+ // Lock order: the org row (orgLock above), then the theme's catalog item and its row FOR
254
+ // SHARE (assertThemeOnIn), then the check, so no scope writer changes what it read first
255
+ if (patch.theme?.id != null && patch.theme.id !== before.theme?.id) {
256
+ await assertThemeOnIn(this.db.db, orgId, patch.theme.id);
257
+ }
179
258
  // 与存量合并:保留本版本不认识的键(清除的 sandboxEgress 不留在存量里)
180
- const { sandboxEgress: _old, ...rest } = stored;
259
+ const { sandboxEgress: _old, wakeOnBackgroundTask: _oldWake, timeZone: _oldZone, theme: _oldTheme, uiArrangement: _oldArrangement, ...rest } = stored;
181
260
  await this.db
182
261
  .updateTable("orgs")
183
262
  .set({ settings: JSON.stringify({ ...rest, ...after }) })
@@ -189,7 +268,7 @@ let OrgSettingsService = class OrgSettingsService {
189
268
  orgId,
190
269
  action: "org.settings_updated",
191
270
  target: orgId,
192
- detail: { before, after },
271
+ detail: { before, after, ...auditDetail },
193
272
  });
194
273
  return after;
195
274
  }
@@ -1,15 +1,20 @@
1
1
  import type { NestInterceptor } from "@nestjs/common";
2
2
  import { APP_INTERCEPTOR } from "@nestjs/core";
3
+ import { ADMIN_USAGE_TIMINGS, type AdminUsageTimings } from "./admin/usage.service.js";
3
4
  import { CHANNEL_WEBHOOK_TIMINGS, type ChannelWebhookTimings } from "./channels/webhook.js";
4
5
  import type { EvalReplayHooks } from "./evals/run-replay.js";
5
6
  import { EVAL_REPLAY_HOOKS } from "./evals/worker.js";
6
7
  import { BOOTSTRAP_LOCK_TTL } from "./extensions/bootstrap.js";
7
8
  import { FILE_PREVIEW_TIMEOUT } from "./files/previewers.js";
9
+ import { PRESENCE_INTERVAL_MS } from "./infra/presence/replica-presence.js";
8
10
  import { LIST_MODELS_TIMEOUT } from "./runtime/providers.js";
11
+ import { RUN_CONTEXT_CLOCK } from "./runtime/run-context.service.js";
9
12
  import { AGENT_LOOP_FACTORY, type AgentLoopFactory } from "./runtime/run-steps.js";
10
13
  import { RUN_HOOKS, type RunHooks } from "./runtime/run-worker.js";
14
+ import { SUBAGENT_MESSAGES_HOOKS, type SubagentMessagesHooks } from "./runtime/subagents/messages.js";
11
15
  import { USAGE_REPORT_RETRY, type UsageReportRetry } from "./runtime/usage-report.js";
12
16
  import { SANDBOX_LEASE_TIMINGS, type SandboxLeaseTimings } from "./sandbox/leases.js";
17
+ import { SETUP_CHECK_TIMEOUT } from "./setup/setup-checks.service.js";
13
18
  import { TOOL_PIPELINE_HOOKS, type ToolPipelineHooks } from "./tools/pipeline.js";
14
19
  import { EMBED_TOKEN_CLOCK } from "./ui/embed-token.js";
15
20
  /**
@@ -20,9 +25,14 @@ import { EMBED_TOKEN_CLOCK } from "./ui/embed-token.js";
20
25
  * - `RUN_HOOKS`: the run worker's hooks;
21
26
  * - `EVAL_REPLAY_HOOKS`: the hooks of the eval full-run replay and the judge;
22
27
  * - `TOOL_PIPELINE_HOOKS`: the tool pipeline's hooks and policy decision;
28
+ * - `SUBAGENT_MESSAGES_HOOKS`: the sub-agent message tools' hooks (a send raced by a run's end);
23
29
  * - `BOOTSTRAP_LOCK_TTL`, `FILE_PREVIEW_TIMEOUT`, `LIST_MODELS_TIMEOUT`, `USAGE_REPORT_RETRY`,
24
- * `SANDBOX_LEASE_TIMINGS`, `CHANNEL_WEBHOOK_TIMINGS`: shorter timings;
30
+ * `SANDBOX_LEASE_TIMINGS`, `CHANNEL_WEBHOOK_TIMINGS`, `SETUP_CHECK_TIMEOUT`,
31
+ * `PRESENCE_INTERVAL_MS`: shorter timings;
32
+ * - `ADMIN_USAGE_TIMINGS`: the usage aggregate's statement timeout and clock;
25
33
  * - `EMBED_TOKEN_CLOCK`: the clock embed tokens are issued and checked with;
34
+ * - `RUN_CONTEXT_CLOCK`: the clock run start reads the run context's date from, and the
35
+ * `CurrentTime` builtin the time;
26
36
  * - `APP_INTERCEPTOR`: one more global interceptor (a probe of the matched routes).
27
37
  */
28
38
  interface KernelSeams {
@@ -30,13 +40,18 @@ interface KernelSeams {
30
40
  [RUN_HOOKS]: RunHooks;
31
41
  [EVAL_REPLAY_HOOKS]: EvalReplayHooks;
32
42
  [TOOL_PIPELINE_HOOKS]: ToolPipelineHooks;
43
+ [SUBAGENT_MESSAGES_HOOKS]: SubagentMessagesHooks;
33
44
  [BOOTSTRAP_LOCK_TTL]: number;
34
45
  [FILE_PREVIEW_TIMEOUT]: number;
35
46
  [LIST_MODELS_TIMEOUT]: number;
36
47
  [USAGE_REPORT_RETRY]: UsageReportRetry;
37
48
  [SANDBOX_LEASE_TIMINGS]: Partial<SandboxLeaseTimings>;
38
49
  [CHANNEL_WEBHOOK_TIMINGS]: Partial<ChannelWebhookTimings>;
50
+ [SETUP_CHECK_TIMEOUT]: number;
51
+ [PRESENCE_INTERVAL_MS]: number;
52
+ [ADMIN_USAGE_TIMINGS]: Partial<AdminUsageTimings>;
39
53
  [EMBED_TOKEN_CLOCK]: () => number;
54
+ [RUN_CONTEXT_CLOCK]: () => number;
40
55
  [APP_INTERCEPTOR]: NestInterceptor;
41
56
  }
42
57
  /**
package/dist/overrides.js CHANGED
@@ -1,13 +1,18 @@
1
1
  import { APP_INTERCEPTOR } from "@nestjs/core";
2
+ import { ADMIN_USAGE_TIMINGS } from "./admin/usage.service.js";
2
3
  import { CHANNEL_WEBHOOK_TIMINGS } from "./channels/webhook.js";
3
4
  import { EVAL_REPLAY_HOOKS } from "./evals/worker.js";
4
5
  import { BOOTSTRAP_LOCK_TTL } from "./extensions/bootstrap.js";
5
6
  import { FILE_PREVIEW_TIMEOUT } from "./files/previewers.js";
7
+ import { PRESENCE_INTERVAL_MS } from "./infra/presence/replica-presence.js";
6
8
  import { LIST_MODELS_TIMEOUT } from "./runtime/providers.js";
9
+ import { RUN_CONTEXT_CLOCK } from "./runtime/run-context.service.js";
7
10
  import { AGENT_LOOP_FACTORY } from "./runtime/run-steps.js";
8
11
  import { RUN_HOOKS } from "./runtime/run-worker.js";
12
+ import { SUBAGENT_MESSAGES_HOOKS, } from "./runtime/subagents/messages.js";
9
13
  import { USAGE_REPORT_RETRY } from "./runtime/usage-report.js";
10
14
  import { SANDBOX_LEASE_TIMINGS } from "./sandbox/leases.js";
15
+ import { SETUP_CHECK_TIMEOUT } from "./setup/setup-checks.service.js";
11
16
  import { TOOL_PIPELINE_HOOKS } from "./tools/pipeline.js";
12
17
  import { EMBED_TOKEN_CLOCK } from "./ui/embed-token.js";
13
18
  const SEAM_TOKENS = [
@@ -15,13 +20,18 @@ const SEAM_TOKENS = [
15
20
  RUN_HOOKS,
16
21
  EVAL_REPLAY_HOOKS,
17
22
  TOOL_PIPELINE_HOOKS,
23
+ SUBAGENT_MESSAGES_HOOKS,
18
24
  BOOTSTRAP_LOCK_TTL,
19
25
  FILE_PREVIEW_TIMEOUT,
20
26
  LIST_MODELS_TIMEOUT,
21
27
  USAGE_REPORT_RETRY,
22
28
  SANDBOX_LEASE_TIMINGS,
23
29
  CHANNEL_WEBHOOK_TIMINGS,
30
+ SETUP_CHECK_TIMEOUT,
31
+ PRESENCE_INTERVAL_MS,
32
+ ADMIN_USAGE_TIMINGS,
24
33
  EMBED_TOKEN_CLOCK,
34
+ RUN_CONTEXT_CLOCK,
25
35
  APP_INTERCEPTOR,
26
36
  ];
27
37
  const allSeamsListed = true;