@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
@@ -1,10 +1,11 @@
1
1
  import { type PluginExtensionSection } from "@capybara-hq/plugin-sdk";
2
2
  import type { core } from "zod";
3
3
  import type { Keyring } from "../ctx/secrets.js";
4
- import { EnterpriseAdminLock } from "../identity/enterprise-admin.js";
4
+ import { SuperAdminLock } from "../identity/super-admin.js";
5
5
  import { KernelConfigService } from "../infra/config/kernel-config.service.js";
6
6
  import { KernelDb } from "../infra/database/kernel-db.js";
7
7
  import { TransactionHost } from "../infra/database/transaction-host.js";
8
+ import { OrgLock } from "../orgs/org-lock.js";
8
9
  import { type ProvenanceResult } from "../packages/provenance.js";
9
10
  import { ExtensionApprovals } from "./approvals.js";
10
11
  import { ExtensionBlobs } from "./blobs.js";
@@ -83,7 +84,7 @@ export interface IngestSource {
83
84
  export declare class ExtensionInstalls {
84
85
  private readonly db;
85
86
  readonly txHost: TransactionHost;
86
- /** The enterprise admin lock (identity/enterprise-admin.ts): joins the transaction. */
87
+ /** The super admin lock (identity/super-admin.ts): joins the transaction. */
87
88
  private readonly adminLock;
88
89
  private readonly blobs;
89
90
  private readonly approvals;
@@ -91,17 +92,26 @@ export declare class ExtensionInstalls {
91
92
  private readonly registry;
92
93
  private readonly config;
93
94
  private readonly keyring;
95
+ /** The owner org's lock: an org upload re-checks its org admin instead (ruling P3-10). */
96
+ private readonly orgLock;
94
97
  constructor(db: KernelDb, txHost: TransactionHost,
95
- /** The enterprise admin lock (identity/enterprise-admin.ts): joins the transaction. */
96
- adminLock: EnterpriseAdminLock, blobs: ExtensionBlobs, approvals: ExtensionApprovals,
98
+ /** The super admin lock (identity/super-admin.ts): joins the transaction. */
99
+ adminLock: SuperAdminLock, blobs: ExtensionBlobs, approvals: ExtensionApprovals,
97
100
  /** The config-declared extension names (an install cannot take them, C15). */
98
- registry: ExtensionRegistry, config: KernelConfigService, keyring: Keyring);
101
+ registry: ExtensionRegistry, config: KernelConfigService, keyring: Keyring,
102
+ /** The owner org's lock: an org upload re-checks its org admin instead (ruling P3-10). */
103
+ orgLock: OrgLock);
99
104
  /**
100
105
  * An extension's effective deployment config, not validated yet (C10): the startup config
101
106
  * (`fileValue`, file / Nacos merged with env) completed by the fields stored in PG; merged by
102
107
  * the fields of `schema` when it is given.
103
108
  */
104
109
  effectiveDeploymentConfig(plugin: string, fileValue: unknown, schema?: core.$ZodType): Promise<unknown>;
110
+ /**
111
+ * Whether PG holds a deployment config row for the extension (a super admin saved one and has
112
+ * not cleared it since; `DELETE /api/v1/admin/extensions/:name/config` removes it).
113
+ */
114
+ hasStoredDeploymentConfig(plugin: string): Promise<boolean>;
105
115
  /** Every install record's extension name (any desired state). */
106
116
  installedNames(): Promise<string[]>;
107
117
  /**
@@ -112,19 +122,26 @@ export declare class ExtensionInstalls {
112
122
  * - extension name equal to a config-declared one -> `extension.config_declared`;
113
123
  * - an install record of the same name comes from another npm package -> `extension.name_conflict`
114
124
  * (a new version of the same package is an upgrade, handled elsewhere).
115
- * `actor` null means the CLI (no enterprise admin re-check, audit without an actor).
125
+ * `actor` null means the CLI (no super admin re-check, audit without an actor). `owner`: an org
126
+ * upload (spec §14, P3-10): the actor is re-checked as an org admin of that org (`catalog.upload`)
127
+ * instead of a super admin; the package is only stored, as always (nothing runs, no install).
116
128
  */
117
129
  ingest(actor: string | null, bytes: Uint8Array, src: IngestSource, opts?: {
118
130
  actorTokenId?: string;
119
131
  store?: "object" | "pg";
120
132
  expectPackageName?: string;
133
+ owner?: {
134
+ orgId: string;
135
+ };
121
136
  }): Promise<PackageReview>;
122
137
  /**
123
- * The enterprise admin re-check under its lock, in a transaction of its own (`requires_new`, as
138
+ * The super admin re-check under its lock, in a transaction of its own (`requires_new`, as
124
139
  * before the conversion): the package write that follows never runs inside a caller's
125
140
  * transaction holding the lock.
126
141
  */
127
142
  private authorize;
143
+ /** The super admin, or for an org upload the owner org's admin, re-checked under its lock. */
144
+ private authorizeIn;
128
145
  /**
129
146
  * The `extension.package_uploaded` audit, re-checking the actor under the lock, committed on its
130
147
  * own (`requires_new`): the stored package it records is not rolled back by a caller either.
@@ -138,7 +155,7 @@ export declare class ExtensionInstalls {
138
155
  /**
139
156
  * Fetches one package from the configured npm registry (verified by `dist.integrity`, see
140
157
  * packages/npm.ts), downloading only, not storing: download failure -> `packages.npm_failed` (502);
141
- * over `packages.maxBytes` -> `extension.package_too_large`. Enterprise catalog npm imports use it
158
+ * over `packages.maxBytes` -> `extension.package_too_large`. Platform catalog npm imports use it
142
159
  * too.
143
160
  */
144
161
  fetchNpm(input: {
@@ -194,6 +211,10 @@ export declare class ExtensionInstalls {
194
211
  }): Promise<PackageReview>;
195
212
  /** 全部安装记录(按名字)。 */
196
213
  list(): Promise<ExtensionInstallRow[]>;
197
- /** Install records desired enabled, with their reviewed extension sections (by name). */
214
+ /**
215
+ * Install records desired enabled, with their reviewed extension sections, the earliest enabled
216
+ * first (`enabled_at`, then the install time, then the name): of two enabled providers of a
217
+ * single-provider extension point the first one in this order is the one every replica loads.
218
+ */
198
219
  desired(): Promise<DesiredExtension[]>;
199
220
  }
@@ -9,15 +9,17 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
9
9
  };
10
10
  import { SDK_VERSION } from "@capybara-hq/plugin-sdk";
11
11
  import { Inject, Injectable } from "@nestjs/common";
12
+ import { sql } from "kysely";
12
13
  import { configFields } from "../config/fields.js";
13
14
  import { ApiError } from "../errors.js";
14
15
  import { audit } from "../identity/audit.js";
15
- import { EnterpriseAdminLock } from "../identity/enterprise-admin.js";
16
+ import { SuperAdminLock } from "../identity/super-admin.js";
16
17
  import { KernelConfigService } from "../infra/config/kernel-config.service.js";
17
18
  import { KernelDb } from "../infra/database/kernel-db.js";
18
19
  import { TransactionHost } from "../infra/database/transaction-host.js";
19
20
  import { Transactional } from "../infra/database/transactional.decorator.js";
20
21
  import { KEYRING } from "../infra/tokens.js";
22
+ import { OrgLock } from "../orgs/org-lock.js";
21
23
  import { fetchNpmPackage, IntegrityMismatchError, NpmFetchError, PackageTooLargeError, } from "../packages/npm.js";
22
24
  import { fetchProvenance, PROVENANCE_TIMEOUT_MS, } from "../packages/provenance.js";
23
25
  import { ExtensionApprovals } from "./approvals.js";
@@ -45,11 +47,14 @@ let ExtensionInstalls = class ExtensionInstalls {
45
47
  registry;
46
48
  config;
47
49
  keyring;
50
+ orgLock;
48
51
  constructor(db, txHost,
49
- /** The enterprise admin lock (identity/enterprise-admin.ts): joins the transaction. */
52
+ /** The super admin lock (identity/super-admin.ts): joins the transaction. */
50
53
  adminLock, blobs, approvals,
51
54
  /** The config-declared extension names (an install cannot take them, C15). */
52
- registry, config, keyring) {
55
+ registry, config, keyring,
56
+ /** The owner org's lock: an org upload re-checks its org admin instead (ruling P3-10). */
57
+ orgLock) {
53
58
  this.db = db;
54
59
  this.txHost = txHost;
55
60
  this.adminLock = adminLock;
@@ -58,6 +63,7 @@ let ExtensionInstalls = class ExtensionInstalls {
58
63
  this.registry = registry;
59
64
  this.config = config;
60
65
  this.keyring = keyring;
66
+ this.orgLock = orgLock;
61
67
  }
62
68
  /**
63
69
  * An extension's effective deployment config, not validated yet (C10): the startup config
@@ -71,6 +77,18 @@ let ExtensionInstalls = class ExtensionInstalls {
71
77
  const fields = schema ? configFields(schema).map((f) => f.path) : undefined;
72
78
  return mergeDeploymentConfig(stored, fileValue, fields);
73
79
  }
80
+ /**
81
+ * Whether PG holds a deployment config row for the extension (a super admin saved one and has
82
+ * not cleared it since; `DELETE /api/v1/admin/extensions/:name/config` removes it).
83
+ */
84
+ async hasStoredDeploymentConfig(plugin) {
85
+ const row = await this.db
86
+ .selectFrom("extension_deployment_configs")
87
+ .select("plugin")
88
+ .where("plugin", "=", plugin)
89
+ .executeTakeFirst();
90
+ return row !== undefined;
91
+ }
74
92
  /** Every install record's extension name (any desired state). */
75
93
  async installedNames() {
76
94
  const rows = await this.db.selectFrom("extension_installs").select("name").execute();
@@ -84,9 +102,14 @@ let ExtensionInstalls = class ExtensionInstalls {
84
102
  * - extension name equal to a config-declared one -> `extension.config_declared`;
85
103
  * - an install record of the same name comes from another npm package -> `extension.name_conflict`
86
104
  * (a new version of the same package is an upgrade, handled elsewhere).
87
- * `actor` null means the CLI (no enterprise admin re-check, audit without an actor).
105
+ * `actor` null means the CLI (no super admin re-check, audit without an actor). `owner`: an org
106
+ * upload (spec §14, P3-10): the actor is re-checked as an org admin of that org (`catalog.upload`)
107
+ * instead of a super admin; the package is only stored, as always (nothing runs, no install).
88
108
  */
89
109
  async ingest(actor, bytes, src, opts = {}) {
110
+ if (opts.owner !== undefined && actor === null) {
111
+ throw new Error("an org upload has an actor");
112
+ }
90
113
  const maxBytes = this.config.get().packages.maxBytes;
91
114
  if (bytes.byteLength > maxBytes) {
92
115
  throw new ApiError("extension.package_too_large", `The extension package is larger than ${maxBytes} bytes`);
@@ -121,9 +144,9 @@ let ExtensionInstalls = class ExtensionInstalls {
121
144
  if (installed && installed.package_name !== packageName) {
122
145
  throw new ApiError("extension.name_conflict", `Extension ${m.name} is already installed from package ${installed.package_name}; package ${packageName} uses the same extension name`);
123
146
  }
124
- // 写包之前在锁内复核发起人仍是企业管理员(守卫读到的身份可能已过期);审计在写完后同样复核
147
+ // 写包之前在锁内复核发起人仍是超级管理员(守卫读到的身份可能已过期);审计在写完后同样复核
125
148
  if (actor !== null)
126
- await this.authorize(actor);
149
+ await this.authorize(actor, opts.owner);
127
150
  await this.blobs.put(pkg, bytes, {
128
151
  source: src.source,
129
152
  ref: src.ref,
@@ -135,7 +158,8 @@ let ExtensionInstalls = class ExtensionInstalls {
135
158
  version: m.version,
136
159
  sha256: pkg.sha256,
137
160
  source: src.source,
138
- });
161
+ ...(opts.owner !== undefined && { orgId: opts.owner.orgId }),
162
+ }, opts.owner);
139
163
  const set = permissionSetOfPackage(pkg);
140
164
  const snapshot = (await this.approvals.all()).get(m.name);
141
165
  const { added, removed } = diffPermissions(snapshot?.permissions, set);
@@ -153,20 +177,27 @@ let ExtensionInstalls = class ExtensionInstalls {
153
177
  };
154
178
  }
155
179
  /**
156
- * The enterprise admin re-check under its lock, in a transaction of its own (`requires_new`, as
180
+ * The super admin re-check under its lock, in a transaction of its own (`requires_new`, as
157
181
  * before the conversion): the package write that follows never runs inside a caller's
158
182
  * transaction holding the lock.
159
183
  */
160
- async authorize(actor) {
161
- await this.adminLock.lockAndAuthorize(actor);
184
+ async authorize(actor, owner) {
185
+ await this.authorizeIn(actor, owner);
186
+ }
187
+ /** The super admin, or for an org upload the owner org's admin, re-checked under its lock. */
188
+ async authorizeIn(actor, owner) {
189
+ if (owner !== undefined)
190
+ await this.orgLock.lockAndAuthorize(owner.orgId, actor, "catalog.upload");
191
+ else
192
+ await this.adminLock.lockAndAuthorize(actor);
162
193
  }
163
194
  /**
164
195
  * The `extension.package_uploaded` audit, re-checking the actor under the lock, committed on its
165
196
  * own (`requires_new`): the stored package it records is not rolled back by a caller either.
166
197
  */
167
- async auditUpload(actor, actorTokenId, detail) {
198
+ async auditUpload(actor, actorTokenId, detail, owner) {
168
199
  if (actor !== null)
169
- await this.adminLock.lockAndAuthorize(actor);
200
+ await this.authorizeIn(actor, owner);
170
201
  await audit(this.db.db, {
171
202
  ...(actor !== null && { actorAccountId: actor }),
172
203
  ...(actorTokenId !== undefined && { actorTokenId }),
@@ -182,7 +213,7 @@ let ExtensionInstalls = class ExtensionInstalls {
182
213
  /**
183
214
  * Fetches one package from the configured npm registry (verified by `dist.integrity`, see
184
215
  * packages/npm.ts), downloading only, not storing: download failure -> `packages.npm_failed` (502);
185
- * over `packages.maxBytes` -> `extension.package_too_large`. Enterprise catalog npm imports use it
216
+ * over `packages.maxBytes` -> `extension.package_too_large`. Platform catalog npm imports use it
186
217
  * too.
187
218
  */
188
219
  async fetchNpm(input, signal) {
@@ -301,7 +332,11 @@ let ExtensionInstalls = class ExtensionInstalls {
301
332
  updatedAt: r.updated_at.toISOString(),
302
333
  }));
303
334
  }
304
- /** Install records desired enabled, with their reviewed extension sections (by name). */
335
+ /**
336
+ * Install records desired enabled, with their reviewed extension sections, the earliest enabled
337
+ * first (`enabled_at`, then the install time, then the name): of two enabled providers of a
338
+ * single-provider extension point the first one in this order is the one every replica loads.
339
+ */
305
340
  async desired() {
306
341
  const rows = await this.db
307
342
  .selectFrom("extension_installs")
@@ -316,6 +351,8 @@ let ExtensionInstalls = class ExtensionInstalls {
316
351
  "extension_packages.blob_store",
317
352
  ])
318
353
  .where("extension_installs.desired_state", "=", "enabled")
354
+ .orderBy(sql `extension_installs.enabled_at ASC NULLS LAST`)
355
+ .orderBy("extension_installs.installed_at")
319
356
  .orderBy("extension_installs.name")
320
357
  .execute();
321
358
  return rows.map((r) => ({
@@ -332,6 +369,9 @@ let ExtensionInstalls = class ExtensionInstalls {
332
369
  __decorate([
333
370
  Transactional({ propagation: "requires_new" })
334
371
  ], ExtensionInstalls.prototype, "authorize", null);
372
+ __decorate([
373
+ Transactional({ propagation: "mandatory" })
374
+ ], ExtensionInstalls.prototype, "authorizeIn", null);
335
375
  __decorate([
336
376
  Transactional({ propagation: "requires_new" })
337
377
  ], ExtensionInstalls.prototype, "auditUpload", null);
@@ -339,11 +379,12 @@ ExtensionInstalls = __decorate([
339
379
  Injectable(),
340
380
  __param(0, Inject(KernelDb)),
341
381
  __param(1, Inject(TransactionHost)),
342
- __param(2, Inject(EnterpriseAdminLock)),
382
+ __param(2, Inject(SuperAdminLock)),
343
383
  __param(3, Inject(ExtensionBlobs)),
344
384
  __param(4, Inject(ExtensionApprovals)),
345
385
  __param(5, Inject(ExtensionRegistry)),
346
386
  __param(6, Inject(KernelConfigService)),
347
- __param(7, Inject(KEYRING))
387
+ __param(7, Inject(KEYRING)),
388
+ __param(8, Inject(OrgLock))
348
389
  ], ExtensionInstalls);
349
390
  export { ExtensionInstalls };
@@ -1,5 +1,5 @@
1
- import { type ExtensionManifest, type ExtensionPointRef, type StaticExtensionManifest } from "@capybara-hq/plugin-sdk";
2
- import { type ExtensionPointAccess, type KernelDeps, type KernelExtensionContext, LiveConfig, type RegisteredTool, type Route } from "../ctx/create-ctx.js";
1
+ import { type DroppedUiContribution, type ExtensionManifest, type ExtensionPointRef, type ResolvedUiContribution, type StaticExtensionManifest } from "@capybara-hq/plugin-sdk";
2
+ import { type ExtensionPointAccess, type KernelDeps, type KernelExtensionContext, LiveConfig, type RegisteredSetupCheck, type RegisteredTool, type Route } from "../ctx/create-ctx.js";
3
3
  import type { UiActionHandler, UiRender } from "../ui/registry.js";
4
4
  import type { RegisteredHook } from "./hooks.js";
5
5
  import { InflightTracker } from "./inflight.js";
@@ -44,6 +44,17 @@ export declare class ExtensionInstance {
44
44
  readonly generation: number;
45
45
  readonly manifest: ExtensionManifest;
46
46
  readonly permissions: PermissionSet;
47
+ /** The manifest's UI contributions whose slot the catalog knows (UI slots spec §3.2), in manifest order. */
48
+ readonly ui: ResolvedUiContribution[];
49
+ /** The manifest's UI contributions left out at load (unknown slot or slot version). */
50
+ readonly uiDropped: DroppedUiContribution[];
51
+ /** `after` values that are not anchors of their slot (the contribution keeps the default position). */
52
+ readonly uiUnknownAnchors: {
53
+ id: string;
54
+ after: string;
55
+ }[];
56
+ /** Ids of contributions that still name the deprecated `place`. */
57
+ readonly uiDeprecatedPlace: string[];
47
58
  private hash;
48
59
  private readonly live;
49
60
  readonly entryUrl: string;
@@ -68,6 +79,10 @@ export declare class ExtensionInstance {
68
79
  get hooks(): readonly RegisteredHook[];
69
80
  get uiViews(): ReadonlyMap<string, UiRender>;
70
81
  get uiActions(): ReadonlyMap<string, UiActionHandler>;
82
+ /** Setup checks registered through `ctx.setup.check` (empty after revocation). */
83
+ get setupChecks(): ReadonlyMap<string, RegisteredSetupCheck>;
84
+ /** The instance's `ctx.signal`: aborted when it is revoked or disposed. */
85
+ get signal(): AbortSignal;
71
86
  /** 账上仍在的登记(撤销后为空)。 */
72
87
  registrations(): Registration[];
73
88
  get disposed(): boolean;
@@ -60,6 +60,14 @@ export class ExtensionInstance {
60
60
  generation;
61
61
  manifest;
62
62
  permissions;
63
+ /** The manifest's UI contributions whose slot the catalog knows (UI slots spec §3.2), in manifest order. */
64
+ ui;
65
+ /** The manifest's UI contributions left out at load (unknown slot or slot version). */
66
+ uiDropped;
67
+ /** `after` values that are not anchors of their slot (the contribution keeps the default position). */
68
+ uiUnknownAnchors;
69
+ /** Ids of contributions that still name the deprecated `place`. */
70
+ uiDeprecatedPlace;
63
71
  hash;
64
72
  live;
65
73
  entryUrl;
@@ -77,6 +85,11 @@ export class ExtensionInstance {
77
85
  this.source = init.source;
78
86
  this.generation = init.generation;
79
87
  this.permissions = init.permissions;
88
+ const ui = init.ctx.uiResolution;
89
+ this.ui = ui.resolved;
90
+ this.uiDropped = ui.dropped;
91
+ this.uiUnknownAnchors = ui.unknownAnchors;
92
+ this.uiDeprecatedPlace = ui.deprecatedPlace;
80
93
  this.hash = init.configHash;
81
94
  this.live = init.config;
82
95
  this.entryUrl = init.entryUrl;
@@ -117,6 +130,14 @@ export class ExtensionInstance {
117
130
  get uiActions() {
118
131
  return this.ctx.uiActions;
119
132
  }
133
+ /** Setup checks registered through `ctx.setup.check` (empty after revocation). */
134
+ get setupChecks() {
135
+ return this.ctx.setupChecks;
136
+ }
137
+ /** The instance's `ctx.signal`: aborted when it is revoked or disposed. */
138
+ get signal() {
139
+ return this.ctx.signal;
140
+ }
120
141
  /** 账上仍在的登记(撤销后为空)。 */
121
142
  registrations() {
122
143
  return this.ctx.ledger.list();
@@ -1,5 +1,5 @@
1
1
  /** 插件经 ctx 做的一项登记的种类(C17)。 */
2
- export type RegistrationKind = "tool" | "route" | "queue" | "bus" | "lease" | "ui.view" | "ui.action" | "provide" | "hook";
2
+ export type RegistrationKind = "tool" | "route" | "queue" | "bus" | "lease" | "ui.view" | "ui.action" | "provide" | "hook" | "setup.check";
3
3
  /** 账上的一项:撤销时调用 `dispose()`。 */
4
4
  export interface Registration {
5
5
  kind: RegistrationKind;
@@ -31,3 +31,15 @@ export declare class PluginDeploymentConfigLock {
31
31
  constructor(xactLock: XactLock, txHost: TransactionHost);
32
32
  lock(name: string): Promise<void>;
33
33
  }
34
+ /**
35
+ * Serializes the enables of the providers of one single-provider extension point (`sandbox@2`, …):
36
+ * two concurrent enables of different providers cannot both see the point free. Joins the
37
+ * caller's transaction (`mandatory`); taken after the install lock of the extension's name, the
38
+ * points in sorted order.
39
+ */
40
+ export declare class SingleProviderLock {
41
+ private readonly xactLock;
42
+ readonly txHost: TransactionHost;
43
+ constructor(xactLock: XactLock, txHost: TransactionHost);
44
+ lock(extensionPoint: string): Promise<void>;
45
+ }
@@ -84,3 +84,29 @@ PluginDeploymentConfigLock = __decorate([
84
84
  __param(1, Inject(TransactionHost))
85
85
  ], PluginDeploymentConfigLock);
86
86
  export { PluginDeploymentConfigLock };
87
+ /**
88
+ * Serializes the enables of the providers of one single-provider extension point (`sandbox@2`, …):
89
+ * two concurrent enables of different providers cannot both see the point free. Joins the
90
+ * caller's transaction (`mandatory`); taken after the install lock of the extension's name, the
91
+ * points in sorted order.
92
+ */
93
+ let SingleProviderLock = class SingleProviderLock {
94
+ xactLock;
95
+ txHost;
96
+ constructor(xactLock, txHost) {
97
+ this.xactLock = xactLock;
98
+ this.txHost = txHost;
99
+ }
100
+ async lock(extensionPoint) {
101
+ await this.xactLock.lock(`capybara.single-provider:${extensionPoint}`);
102
+ }
103
+ };
104
+ __decorate([
105
+ Transactional({ propagation: "mandatory" })
106
+ ], SingleProviderLock.prototype, "lock", null);
107
+ SingleProviderLock = __decorate([
108
+ Injectable(),
109
+ __param(0, Inject(XactLock)),
110
+ __param(1, Inject(TransactionHost))
111
+ ], SingleProviderLock);
112
+ export { SingleProviderLock };
@@ -1,4 +1,6 @@
1
+ import { type PluginScope } from "../catalog/scope.js";
1
2
  import { type Keyring } from "../ctx/secrets.js";
3
+ import type { KernelSchemaDb } from "../db/kernel-schema.js";
2
4
  import { KernelDb } from "../infra/database/kernel-db.js";
3
5
  import { TransactionHost } from "../infra/database/transaction-host.js";
4
6
  import { KernelEvents } from "../infra/events/kernel-events.js";
@@ -6,9 +8,11 @@ import type { KernelLogger } from "../log.js";
6
8
  import { OrgLock } from "../orgs/org-lock.js";
7
9
  import { type ConfigIssue, toIssues } from "./config-issues.js";
8
10
  import { type JsonSchema } from "./config-json-schema.js";
11
+ import { EffectiveConfigs } from "./effective-config.js";
9
12
  import { ExtensionHost } from "./host.js";
10
13
  import { ExtensionInstalls } from "./installs.js";
11
- import { type PermissionGroup } from "./permission-view.js";
14
+ import { type DeploymentExtensionStatus, type PermissionGroup } from "./permission-view.js";
15
+ import { ExtensionAvailability, type ExtensionUnavailableReason } from "./unavailable.js";
12
16
  export { type ConfigIssue, toIssues };
13
17
  /** 组织视角下一个已加载插件的状态;`config` 永远不含密钥字段,密钥只回显「是否已设置」。 */
14
18
  export interface OrgExtensionView {
@@ -32,12 +36,41 @@ export interface OrgExtensionView {
32
36
  * 组织的启用开关保留不变(不能修改),其余字段为空。
33
37
  */
34
38
  available: boolean;
39
+ /**
40
+ * The extension's status on the deployment, as the admin console derives it
41
+ * (`deriveExtensionStatus`): `enabled` when it is loaded here; otherwise why not.
42
+ */
43
+ status: DeploymentExtensionStatus;
44
+ /**
45
+ * Only when unavailable: why it cannot be used (spec §14.5 item 4), e.g.
46
+ * `needs_deployment_config`. State only, never a config value or field name.
47
+ */
48
+ reason?: ExtensionUnavailableReason;
35
49
  /**
36
50
  * A required bootstrap plugin: enabled in every org (`enabled` is always true) and cannot be
37
51
  * disabled here (`extension.required`); its org config, when it has one, can still be set.
38
52
  */
39
53
  required: boolean;
54
+ /** The catalog plugin the extension ships in and its scope (builtin counts as `all`); null without one. */
55
+ catalogItem: {
56
+ itemId: string;
57
+ scope: PluginScope;
58
+ } | null;
59
+ /** The org admin can switch it (the plugin's switch): never for an `all` / builtin plugin. */
60
+ switchable: boolean;
61
+ /**
62
+ * The two-level deployment config (spec A §5.3, §5.4): `following` the platform, a `copy` of the
63
+ * overridable fields, or `none` (the extension has no overridable field, or is unavailable).
64
+ */
65
+ overrideState: "following" | "copy" | "none";
66
+ /**
67
+ * The org must configure the extension before it works here (spec A §6): its effective config
68
+ * is not valid, or a required org-only field is missing. Always false when unavailable.
69
+ */
70
+ needsConfig: boolean;
40
71
  }
72
+ /** The extension points an extension provides, from its permission list's `provides` group. */
73
+ export declare function providesOf(view: Pick<OrgExtensionView, "permissions">): string[];
41
74
  /** `put` 的输入:`config` 中的密钥字段缺省 = 保留原值、`null` = 清除、其他值 = 新值。 */
42
75
  export interface OrgExtensionInput {
43
76
  enabled?: boolean | undefined;
@@ -48,7 +81,7 @@ export interface OrgExtensionInput {
48
81
  /** `put` 的内部选项(不来自 HTTP)。 */
49
82
  export interface OrgExtensionPutOptions {
50
83
  /**
51
- * Enable through this enterprise catalog item (the extension's own item, or an app item: plugins
84
+ * Enable through this platform catalog item (the extension's own item, or an app item: plugins
52
85
  * in an app follow the app item's policy, C22). When omitted, judged by every source item in
53
86
  * `extension_catalog_sources` (the strictest wins); an extension not installed through the catalog
54
87
  * is not bound by catalog policy.
@@ -69,6 +102,13 @@ export interface OrgExtensionPutOptions {
69
102
  ifDisabled?: {
70
103
  skipped: boolean;
71
104
  };
105
+ /**
106
+ * Check the role and the config (the given `config`, or with `enabled: true` the stored one,
107
+ * merged with the stored secrets, against the schema) and write nothing: lets a caller that must
108
+ * do another write first fail without a side effect. The rules for newly enabling (catalog policy,
109
+ * dependencies) are left to that write: the plugin install that enables it checks them.
110
+ */
111
+ validateOnly?: boolean;
72
112
  }
73
113
  /**
74
114
  * Org-level extension config: enablement and the `config.org` config stored per org.
@@ -90,6 +130,10 @@ export declare class OrgExtensionConfigs {
90
130
  private readonly events;
91
131
  /** Secret values handled (written or decrypted) are masked in the logs after the commit. */
92
132
  private readonly log;
133
+ /** The effective deployment config of each org (spec A §6): read for `needsConfig`. */
134
+ private readonly effective;
135
+ /** Why an installed extension is not loaded (`status` / `reason` of the unavailable ones). */
136
+ private readonly availability;
93
137
  /** Test seam only: a deterministic interleaving point after the config rows are read, before the secrets. */
94
138
  afterConfigRowRead: (() => Promise<void>) | undefined;
95
139
  constructor(kdb: KernelDb, txHost: TransactionHost, keyring: Keyring, host: ExtensionHost,
@@ -100,7 +144,11 @@ export declare class OrgExtensionConfigs {
100
144
  /** `extension.org-disabled` after a disable commits (channel connections drop at once). */
101
145
  events: KernelEvents,
102
146
  /** Secret values handled (written or decrypted) are masked in the logs after the commit. */
103
- log: KernelLogger);
147
+ log: KernelLogger,
148
+ /** The effective deployment config of each org (spec A §6): read for `needsConfig`. */
149
+ effective: EffectiveConfigs,
150
+ /** Why an installed extension is not loaded (`status` / `reason` of the unavailable ones). */
151
+ availability: ExtensionAvailability);
104
152
  /** The kernel-schema handle of the current transaction. */
105
153
  private get db();
106
154
  /** 把一份组织配置里的密钥值登记到日志打码(无密钥时无操作);调用方须在事务提交后调用。 */
@@ -108,12 +156,34 @@ export declare class OrgExtensionConfigs {
108
156
  /** After a write committed: a disabled extension's channel connections drop at once. */
109
157
  private afterPut;
110
158
  /**
111
- * 列出所有已加载插件在该组织下的状态(按加载顺序);无记录时 enabled=false、config=null。
112
- * 之后是已安装但此刻没加载的插件(部署上停用等),`available: false`,按名字排序。
159
+ * The state of every loaded extension the org sees, in load order (no row: `enabled` false,
160
+ * `config` null), then the installed extensions not loaded right now (disabled on the deployment
161
+ * and the like) as `available: false`, sorted by name.
113
162
  */
114
163
  list(orgId: string): Promise<OrgExtensionView[]>;
164
+ /**
165
+ * Fills `overrideState` and the platform half of `needsConfig` (spec A §6) for the views of
166
+ * extensions with overridable fields (the others always run with the platform's config, which
167
+ * loaded valid). Reads the org's copy rows once and the effective config of each such extension.
168
+ */
169
+ private withLayers;
115
170
  /** `REPEATABLE READ` read-only: the config rows and the secrets come from one snapshot. */
116
171
  private listSnapshot;
172
+ /**
173
+ * How an `enabled` write of this extension is handled: `direct` through {@link put} (a required
174
+ * bootstrap plugin keeps `extension.required`; an extension without a live item is config-declared;
175
+ * several live items keep the direct write, the strictest source rules applying), `locked` (a live
176
+ * item is builtin and the write switches off: `plugin.scope_locked`), or `item` (the single plugin
177
+ * whose org switch it is).
178
+ */
179
+ switchPlan(plugin: string, enabled: boolean): Promise<{
180
+ kind: "direct";
181
+ } | {
182
+ kind: "locked";
183
+ } | {
184
+ kind: "item";
185
+ itemId: string;
186
+ }>;
117
187
  /**
118
188
  * Writes enablement and / or config. The actor's role is re-read under the org row lock (needs
119
189
  * `org.extensions.manage`).
@@ -125,8 +195,16 @@ export declare class OrgExtensionConfigs {
125
195
  * - The merged full config (or, without `config`, the existing config when the result is enabled)
126
196
  * does not satisfy the schema -> `extension.config_invalid`.
127
197
  */
128
- put(orgId: string, plugin: string, input: OrgExtensionInput, actorAccountId: string, actorTokenId?: string, opts?: OrgExtensionPutOptions): Promise<OrgExtensionView>;
198
+ put(orgId: string, plugin: string, input: OrgExtensionInput,
199
+ /** null: the kernel itself (the plugin scope sync installing a plugin), no role check. */
200
+ actorAccountId: string | null, actorTokenId?: string, opts?: OrgExtensionPutOptions): Promise<OrgExtensionView>;
129
201
  private write;
202
+ /**
203
+ * The rules of a write that switches: newly enabling an extension from the platform catalog
204
+ * re-checks the item policy and grants (C22; one already enabled is unaffected), enabling needs
205
+ * the dependencies enabled, disabling (without `force`) no enabled dependents.
206
+ */
207
+ private assertSwitchRules;
130
208
  /**
131
209
  * 读取并解密某插件在该组织下的完整配置(供运行时按组织构造插件实例)。
132
210
  * A required bootstrap plugin is enabled without a row (its stored config, or `{}`, is validated).
@@ -150,7 +228,7 @@ export declare class OrgExtensionConfigs {
150
228
  * 在调用方事务里停用(应用安装的回滚与卸载用;调用方已锁组织行并复核角色):不检查依赖方,配置保留,
151
229
  * 审计 `org.plugin_config.updated`(带 reason)。提交后调用方须再调 {@link afterDisable}。
152
230
  */
153
- disableIn(orgId: string, plugin: string, actorAccountId: string, reason: string): Promise<boolean>;
231
+ disableIn(orgId: string, plugin: string, actorAccountId: string | null, reason: string): Promise<boolean>;
154
232
  /** {@link disableIn} 的事务提交之后:通知停用(断开该插件的渠道连接等)。 */
155
233
  afterDisable(orgId: string, plugin: string): Promise<void>;
156
234
  /** 该组织已启用的插件名(只含当前已加载的插件;待批准的不算;必需的引导插件始终算启用)。 */
@@ -166,6 +244,18 @@ export declare class OrgExtensionConfigs {
166
244
  private manifest;
167
245
  private permissionsOf;
168
246
  private view;
247
+ /**
248
+ * The org schema's form JSON Schema, a copy (`x-ui` stripped when its hints are invalid; the host
249
+ * warns at load). Never throws: a hint conversion that throws serves the plain schema, or null
250
+ * (one warning per schema on this replica), so one hand-made package cannot fail the org's list.
251
+ */
252
+ private formSchema;
169
253
  /** 该组织在 `kernel` 命名空间下已设置的插件配置密钥键(不解密)。 */
170
254
  private setSecretKeys;
171
255
  }
256
+ /**
257
+ * Whether the org sees `plugin` in its extension list (a required bootstrap plugin always; else
258
+ * under its catalog items' scope, as {@link OrgExtensionConfigs.list} filters). `db` may be a
259
+ * transaction.
260
+ */
261
+ export declare function extensionVisibleTo(db: KernelSchemaDb, orgId: string, plugin: string): Promise<boolean>;