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

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 (1170) hide show
  1. package/bootstrap.json +85 -5
  2. package/dist/admin/admin.controller.d.ts +52 -71
  3. package/dist/admin/admin.controller.js +117 -63
  4. package/dist/admin/admin.module.d.ts +3 -0
  5. package/dist/admin/admin.module.js +22 -0
  6. package/dist/admin/admin.schemas.d.ts +60 -0
  7. package/dist/admin/admin.schemas.js +50 -0
  8. package/dist/admin/extensions.controller.d.ts +47 -16
  9. package/dist/admin/extensions.controller.js +94 -23
  10. package/dist/admin/extensions.schemas.d.ts +7 -0
  11. package/dist/admin/extensions.schemas.js +10 -0
  12. package/dist/admin/limit-defaults.d.ts +20 -0
  13. package/dist/admin/limit-defaults.js +10 -0
  14. package/dist/admin/setup-lock.d.ts +16 -0
  15. package/dist/admin/setup-lock.js +47 -0
  16. package/dist/admin/setup.controller.d.ts +9 -9
  17. package/dist/admin/setup.controller.js +28 -26
  18. package/dist/admin/setup.service.d.ts +20 -28
  19. package/dist/admin/setup.service.js +65 -65
  20. package/dist/agents/agent-lookup.d.ts +72 -0
  21. package/dist/agents/agent-lookup.js +208 -0
  22. package/dist/agents/agent-profile.service.d.ts +31 -0
  23. package/dist/agents/agent-profile.service.js +122 -0
  24. package/dist/agents/agents.controller.d.ts +54 -169
  25. package/dist/agents/agents.controller.js +172 -37
  26. package/dist/agents/agents.module.d.ts +10 -0
  27. package/dist/agents/agents.module.js +71 -0
  28. package/dist/agents/agents.schemas.d.ts +389 -0
  29. package/dist/agents/agents.schemas.js +126 -0
  30. package/dist/agents/agents.service.d.ts +104 -76
  31. package/dist/agents/agents.service.js +509 -383
  32. package/dist/agents/definition.d.ts +133 -21
  33. package/dist/agents/definition.js +361 -41
  34. package/dist/agents/from-template.d.ts +106 -0
  35. package/dist/agents/from-template.js +680 -0
  36. package/dist/agents/from-template.service.d.ts +72 -0
  37. package/dist/agents/from-template.service.js +178 -0
  38. package/dist/agents/instruction-files.d.ts +60 -0
  39. package/dist/agents/instruction-files.js +111 -0
  40. package/dist/agents/models.controller.d.ts +44 -6
  41. package/dist/agents/models.controller.js +84 -8
  42. package/dist/agents/org-templates.d.ts +186 -0
  43. package/dist/agents/org-templates.js +868 -0
  44. package/dist/agents/pending-connector-requests.d.ts +79 -0
  45. package/dist/agents/pending-connector-requests.js +215 -0
  46. package/dist/agents/pending-connectors.controller.d.ts +39 -0
  47. package/dist/agents/pending-connectors.controller.js +91 -0
  48. package/dist/agents/pending-connectors.service.d.ts +62 -0
  49. package/dist/agents/pending-connectors.service.js +282 -0
  50. package/dist/agents/profile.d.ts +114 -0
  51. package/dist/agents/profile.js +55 -0
  52. package/dist/agents/readiness.controller.d.ts +26 -0
  53. package/dist/agents/readiness.controller.js +56 -0
  54. package/dist/agents/templates.controller.d.ts +78 -6
  55. package/dist/agents/templates.controller.js +154 -8
  56. package/dist/agents/templates.d.ts +132 -30
  57. package/dist/agents/templates.js +500 -46
  58. package/dist/agents/templates.schemas.d.ts +20 -0
  59. package/dist/agents/templates.schemas.js +45 -0
  60. package/dist/app.d.ts +93 -0
  61. package/dist/app.js +150 -0
  62. package/dist/background/background.controller.d.ts +38 -0
  63. package/dist/background/background.controller.js +88 -0
  64. package/dist/background/background.module.d.ts +10 -0
  65. package/dist/background/background.module.js +39 -0
  66. package/dist/background/background.schemas.d.ts +10 -0
  67. package/dist/background/background.schemas.js +16 -0
  68. package/dist/background/finish.d.ts +44 -0
  69. package/dist/background/finish.js +95 -0
  70. package/dist/background/launch-lock.d.ts +15 -0
  71. package/dist/background/launch-lock.js +40 -0
  72. package/dist/background/launch.d.ts +42 -0
  73. package/dist/background/launch.js +77 -0
  74. package/dist/background/poll.job.d.ts +56 -0
  75. package/dist/background/poll.job.js +195 -0
  76. package/dist/background/render.d.ts +23 -0
  77. package/dist/background/render.js +48 -0
  78. package/dist/background/session.d.ts +48 -0
  79. package/dist/background/session.js +80 -0
  80. package/dist/background/status.d.ts +35 -0
  81. package/dist/background/status.js +57 -0
  82. package/dist/background/stop.d.ts +68 -0
  83. package/dist/background/stop.js +244 -0
  84. package/dist/background/store.d.ts +167 -0
  85. package/dist/background/store.js +361 -0
  86. package/dist/background/store.module.d.ts +6 -0
  87. package/dist/background/store.module.js +22 -0
  88. package/dist/background/tasks.service.d.ts +77 -0
  89. package/dist/background/tasks.service.js +216 -0
  90. package/dist/background/wake-rules.d.ts +66 -0
  91. package/dist/background/wake-rules.js +113 -0
  92. package/dist/background/wake.d.ts +30 -0
  93. package/dist/background/wake.js +63 -0
  94. package/dist/catalog/admin-catalog.controller.d.ts +102 -52
  95. package/dist/catalog/admin-catalog.controller.js +222 -67
  96. package/dist/catalog/admin-catalog.schemas.d.ts +72 -0
  97. package/dist/catalog/admin-catalog.schemas.js +92 -0
  98. package/dist/catalog/catalog-content.d.ts +264 -0
  99. package/dist/catalog/catalog-content.js +430 -0
  100. package/dist/catalog/catalog-files.d.ts +41 -0
  101. package/dist/catalog/catalog-files.js +86 -0
  102. package/dist/catalog/catalog-import.module.d.ts +7 -0
  103. package/dist/catalog/catalog-import.module.js +60 -0
  104. package/dist/catalog/catalog-items.d.ts +290 -0
  105. package/dist/catalog/catalog-items.js +677 -0
  106. package/dist/catalog/catalog-scope.service.d.ts +286 -0
  107. package/dist/catalog/catalog-scope.service.js +1196 -0
  108. package/dist/catalog/catalog.module.d.ts +12 -0
  109. package/dist/catalog/catalog.module.js +81 -0
  110. package/dist/catalog/catalog.service.d.ts +144 -207
  111. package/dist/catalog/catalog.service.js +258 -528
  112. package/dist/catalog/claude/agents.js +15 -10
  113. package/dist/catalog/claude/translate.js +3 -0
  114. package/dist/catalog/cli.d.ts +14 -3
  115. package/dist/catalog/cli.js +39 -32
  116. package/dist/catalog/component-promotion.d.ts +96 -0
  117. package/dist/catalog/component-promotion.js +395 -0
  118. package/dist/catalog/component-scope.controller.d.ts +90 -0
  119. package/dist/catalog/component-scope.controller.js +234 -0
  120. package/dist/catalog/component-scope.schemas.d.ts +118 -0
  121. package/dist/catalog/component-scope.schemas.js +97 -0
  122. package/dist/catalog/component-scope.service.d.ts +366 -0
  123. package/dist/catalog/component-scope.service.js +1115 -0
  124. package/dist/catalog/component-state.d.ts +197 -0
  125. package/dist/catalog/component-state.js +473 -0
  126. package/dist/catalog/git-source.d.ts +9 -1
  127. package/dist/catalog/git-source.js +29 -2
  128. package/dist/catalog/job-ids.d.ts +45 -0
  129. package/dist/catalog/job-ids.js +40 -0
  130. package/dist/catalog/jobs.d.ts +27 -0
  131. package/dist/catalog/jobs.js +70 -0
  132. package/dist/catalog/locks.d.ts +24 -0
  133. package/dist/catalog/locks.js +63 -0
  134. package/dist/catalog/marketplace-fetch.d.ts +1 -1
  135. package/dist/catalog/marketplace-icons.d.ts +64 -0
  136. package/dist/catalog/marketplace-icons.js +131 -0
  137. package/dist/catalog/marketplaces.controller.d.ts +53 -44
  138. package/dist/catalog/marketplaces.controller.js +146 -51
  139. package/dist/catalog/marketplaces.schemas.d.ts +48 -0
  140. package/dist/catalog/marketplaces.schemas.js +53 -0
  141. package/dist/catalog/marketplaces.service.d.ts +136 -26
  142. package/dist/catalog/marketplaces.service.js +663 -281
  143. package/dist/catalog/org-catalog.controller.d.ts +115 -63
  144. package/dist/catalog/org-catalog.controller.js +207 -100
  145. package/dist/catalog/org-catalog.schemas.d.ts +88 -0
  146. package/dist/catalog/org-catalog.schemas.js +93 -0
  147. package/dist/catalog/org-catalog.service.d.ts +89 -216
  148. package/dist/catalog/org-catalog.service.js +434 -472
  149. package/dist/catalog/org-extension-switch.d.ts +41 -0
  150. package/dist/catalog/org-extension-switch.js +115 -0
  151. package/dist/catalog/org-extension.controller.d.ts +113 -0
  152. package/dist/catalog/org-extension.controller.js +271 -0
  153. package/dist/catalog/org-extension.schemas.d.ts +15 -0
  154. package/dist/catalog/org-extension.schemas.js +22 -0
  155. package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
  156. package/dist/catalog/org-plugin-uploads.controller.js +200 -0
  157. package/dist/catalog/org-plugin-uploads.d.ts +71 -0
  158. package/dist/catalog/org-plugin-uploads.js +122 -0
  159. package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
  160. package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
  161. package/dist/catalog/owned-items.d.ts +188 -0
  162. package/dist/catalog/owned-items.js +808 -0
  163. package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
  164. package/dist/catalog/owned-plugin-cleanup.js +194 -0
  165. package/dist/catalog/ownership.d.ts +172 -0
  166. package/dist/catalog/ownership.js +326 -0
  167. package/dist/catalog/platform-components.d.ts +243 -0
  168. package/dist/catalog/platform-components.js +872 -0
  169. package/dist/catalog/platform-migration.d.ts +115 -0
  170. package/dist/catalog/platform-migration.js +583 -0
  171. package/dist/catalog/plugin-import.d.ts +293 -71
  172. package/dist/catalog/plugin-import.js +1039 -281
  173. package/dist/catalog/plugin-install.d.ts +271 -66
  174. package/dist/catalog/plugin-install.js +1198 -344
  175. package/dist/catalog/plugin-package.d.ts +41 -4
  176. package/dist/catalog/plugin-package.js +140 -7
  177. package/dist/catalog/plugin-upgrade.d.ts +312 -188
  178. package/dist/catalog/plugin-upgrade.js +1371 -1065
  179. package/dist/catalog/request-rules.d.ts +65 -0
  180. package/dist/catalog/request-rules.js +217 -0
  181. package/dist/catalog/requests.service.d.ts +205 -117
  182. package/dist/catalog/requests.service.js +612 -369
  183. package/dist/catalog/reserved-names.d.ts +8 -0
  184. package/dist/catalog/reserved-names.js +42 -0
  185. package/dist/catalog/scope-orgs.d.ts +21 -0
  186. package/dist/catalog/scope-orgs.js +67 -0
  187. package/dist/catalog/scope-state.d.ts +35 -0
  188. package/dist/catalog/scope-state.js +87 -0
  189. package/dist/catalog/scope-sync-workers.d.ts +7 -0
  190. package/dist/catalog/scope-sync-workers.js +29 -0
  191. package/dist/catalog/scope-sync.d.ts +176 -0
  192. package/dist/catalog/scope-sync.js +576 -0
  193. package/dist/catalog/scope.d.ts +42 -0
  194. package/dist/catalog/scope.js +42 -0
  195. package/dist/catalog/unshare.d.ts +22 -0
  196. package/dist/catalog/unshare.js +119 -0
  197. package/dist/channels/actions.d.ts +6 -4
  198. package/dist/channels/actions.js +11 -4
  199. package/dist/channels/cards.d.ts +33 -11
  200. package/dist/channels/cards.js +96 -24
  201. package/dist/channels/channels.module.d.ts +40 -0
  202. package/dist/channels/channels.module.js +130 -0
  203. package/dist/channels/channels.schemas.d.ts +37 -0
  204. package/dist/channels/channels.schemas.js +38 -0
  205. package/dist/channels/connections.controller.d.ts +44 -37
  206. package/dist/channels/connections.controller.js +83 -38
  207. package/dist/channels/connections.service.d.ts +101 -30
  208. package/dist/channels/connections.service.js +380 -147
  209. package/dist/channels/inbound.d.ts +44 -38
  210. package/dist/channels/inbound.js +190 -44
  211. package/dist/channels/job-ids.d.ts +10 -0
  212. package/dist/channels/job-ids.js +10 -0
  213. package/dist/channels/jobs.d.ts +85 -0
  214. package/dist/channels/jobs.js +157 -0
  215. package/dist/channels/outbound.d.ts +71 -80
  216. package/dist/channels/outbound.js +219 -202
  217. package/dist/channels/phrases.d.ts +33 -2
  218. package/dist/channels/phrases.js +29 -1
  219. package/dist/channels/supervisor.d.ts +88 -46
  220. package/dist/channels/supervisor.js +230 -132
  221. package/dist/channels/threads.d.ts +34 -8
  222. package/dist/channels/threads.js +79 -13
  223. package/dist/channels/webhook.d.ts +20 -14
  224. package/dist/channels/webhook.js +51 -20
  225. package/dist/config/docs.js +5 -1
  226. package/dist/config/load.d.ts +3 -2
  227. package/dist/config/load.js +3 -2
  228. package/dist/config/nacos-source.js +11 -2
  229. package/dist/config/schema.d.ts +36 -2
  230. package/dist/config/schema.js +226 -25
  231. package/dist/conversations/access.d.ts +31 -0
  232. package/dist/conversations/access.js +110 -0
  233. package/dist/conversations/agent-tree.d.ts +46 -0
  234. package/dist/conversations/agent-tree.js +92 -0
  235. package/dist/conversations/artifacts.d.ts +11 -11
  236. package/dist/conversations/artifacts.js +36 -10
  237. package/dist/conversations/attachments.controller.d.ts +1 -1
  238. package/dist/conversations/attachments.controller.js +8 -6
  239. package/dist/conversations/attachments.module.d.ts +7 -0
  240. package/dist/conversations/attachments.module.js +25 -0
  241. package/dist/conversations/attachments.service.d.ts +60 -22
  242. package/dist/conversations/attachments.service.js +249 -51
  243. package/dist/conversations/conversations.controller.d.ts +86 -50
  244. package/dist/conversations/conversations.controller.js +184 -103
  245. package/dist/conversations/conversations.module.d.ts +8 -0
  246. package/dist/conversations/conversations.module.js +72 -0
  247. package/dist/conversations/conversations.schemas.d.ts +52 -0
  248. package/dist/conversations/conversations.schemas.js +79 -0
  249. package/dist/conversations/conversations.service.d.ts +166 -49
  250. package/dist/conversations/conversations.service.js +383 -179
  251. package/dist/conversations/environment-status.d.ts +24 -0
  252. package/dist/conversations/environment-status.js +71 -0
  253. package/dist/conversations/event-log.d.ts +64 -27
  254. package/dist/conversations/event-log.js +167 -31
  255. package/dist/conversations/events.d.ts +252 -9
  256. package/dist/conversations/events.js +243 -32
  257. package/dist/conversations/files.d.ts +10 -10
  258. package/dist/conversations/files.js +37 -11
  259. package/dist/conversations/idem-keys.d.ts +5 -0
  260. package/dist/conversations/idem-keys.js +5 -0
  261. package/dist/conversations/job-ids.d.ts +6 -0
  262. package/dist/conversations/job-ids.js +6 -0
  263. package/dist/conversations/message-context.d.ts +79 -0
  264. package/dist/conversations/message-context.js +145 -0
  265. package/dist/conversations/outputs-read.d.ts +11 -11
  266. package/dist/conversations/outputs-read.js +31 -7
  267. package/dist/conversations/queue.d.ts +53 -58
  268. package/dist/conversations/queue.js +37 -293
  269. package/dist/conversations/queue.service.d.ts +60 -0
  270. package/dist/conversations/queue.service.js +350 -0
  271. package/dist/conversations/titles.d.ts +83 -27
  272. package/dist/conversations/titles.js +195 -71
  273. package/dist/conversations/tree.d.ts +17 -0
  274. package/dist/conversations/tree.js +42 -0
  275. package/dist/ctx/bus.js +9 -3
  276. package/dist/ctx/create-ctx.d.ts +26 -1
  277. package/dist/ctx/create-ctx.js +45 -16
  278. package/dist/ctx/lock.d.ts +7 -3
  279. package/dist/ctx/lock.js +9 -20
  280. package/dist/ctx/secrets.d.ts +10 -2
  281. package/dist/ctx/secrets.js +7 -3
  282. package/dist/db/kernel-schema.d.ts +589 -27
  283. package/dist/db/pool.d.ts +10 -0
  284. package/dist/db/pool.js +4 -0
  285. package/dist/devices/device-auth.controller.d.ts +42 -0
  286. package/dist/devices/device-auth.controller.js +116 -0
  287. package/dist/devices/device-auth.d.ts +119 -0
  288. package/dist/devices/device-auth.js +403 -0
  289. package/dist/devices/device-auth.module.d.ts +7 -0
  290. package/dist/devices/device-auth.module.js +25 -0
  291. package/dist/devices/device-gateway.d.ts +128 -0
  292. package/dist/devices/device-gateway.js +530 -0
  293. package/dist/devices/device-provider.d.ts +89 -0
  294. package/dist/devices/device-provider.js +151 -0
  295. package/dist/devices/device-routes.d.ts +36 -0
  296. package/dist/devices/device-routes.js +90 -0
  297. package/dist/devices/devices.module.d.ts +16 -0
  298. package/dist/devices/devices.module.js +44 -0
  299. package/dist/devices/dto.d.ts +66 -0
  300. package/dist/devices/dto.js +44 -0
  301. package/dist/devices/keys.d.ts +25 -0
  302. package/dist/devices/keys.js +25 -0
  303. package/dist/devices/machines.d.ts +118 -0
  304. package/dist/devices/machines.js +366 -0
  305. package/dist/devices/relay.d.ts +100 -0
  306. package/dist/devices/relay.js +373 -0
  307. package/dist/devices/targets.d.ts +28 -0
  308. package/dist/devices/targets.js +73 -0
  309. package/dist/environments/access.d.ts +66 -0
  310. package/dist/environments/access.js +113 -0
  311. package/dist/environments/conversation-environments.d.ts +75 -0
  312. package/dist/environments/conversation-environments.js +231 -0
  313. package/dist/environments/dto.d.ts +25 -0
  314. package/dist/environments/dto.js +12 -0
  315. package/dist/environments/environments.controller.d.ts +36 -0
  316. package/dist/environments/environments.controller.js +124 -0
  317. package/dist/environments/environments.module.d.ts +8 -0
  318. package/dist/environments/environments.module.js +31 -0
  319. package/dist/environments/environments.schemas.d.ts +3 -0
  320. package/dist/environments/environments.schemas.js +14 -0
  321. package/dist/environments/environments.service.d.ts +251 -0
  322. package/dist/environments/environments.service.js +791 -0
  323. package/dist/environments/label.d.ts +11 -0
  324. package/dist/environments/label.js +25 -0
  325. package/dist/environments/legacy-cleanup.job.d.ts +34 -0
  326. package/dist/environments/legacy-cleanup.job.js +141 -0
  327. package/dist/errors.d.ts +160 -2
  328. package/dist/errors.js +160 -2
  329. package/dist/evals/budget.d.ts +42 -21
  330. package/dist/evals/budget.js +114 -62
  331. package/dist/evals/evals.module.d.ts +31 -0
  332. package/dist/evals/evals.module.js +114 -0
  333. package/dist/evals/evals.schemas.d.ts +110 -0
  334. package/dist/evals/evals.schemas.js +107 -0
  335. package/dist/evals/jobs.d.ts +20 -0
  336. package/dist/evals/jobs.js +45 -0
  337. package/dist/evals/reconstruct.d.ts +18 -9
  338. package/dist/evals/reconstruct.js +36 -10
  339. package/dist/evals/recorded-tools.d.ts +37 -1
  340. package/dist/evals/recorded-tools.js +120 -10
  341. package/dist/evals/run-replay.d.ts +75 -10
  342. package/dist/evals/run-replay.js +218 -94
  343. package/dist/evals/runs.controller.d.ts +3 -58
  344. package/dist/evals/runs.controller.js +18 -50
  345. package/dist/evals/runs.service.d.ts +31 -52
  346. package/dist/evals/runs.service.js +281 -255
  347. package/dist/evals/sets.controller.d.ts +3 -29
  348. package/dist/evals/sets.controller.js +18 -39
  349. package/dist/evals/sets.service.d.ts +29 -13
  350. package/dist/evals/sets.service.js +262 -202
  351. package/dist/evals/snapshot.d.ts +5 -4
  352. package/dist/evals/snapshot.js +17 -4
  353. package/dist/evals/step-replay.d.ts +6 -8
  354. package/dist/evals/step-replay.js +17 -10
  355. package/dist/evals/trajectory.controller.d.ts +1 -1
  356. package/dist/evals/trajectory.controller.js +11 -7
  357. package/dist/evals/trajectory.d.ts +2 -2
  358. package/dist/evals/trajectory.js +1 -1
  359. package/dist/evals/trajectory.service.d.ts +13 -7
  360. package/dist/evals/trajectory.service.js +56 -21
  361. package/dist/evals/worker.d.ts +48 -31
  362. package/dist/evals/worker.js +229 -124
  363. package/dist/extensions/admin-ops.d.ts +133 -41
  364. package/dist/extensions/admin-ops.js +378 -172
  365. package/dist/extensions/admin-view.d.ts +82 -32
  366. package/dist/extensions/admin-view.js +284 -71
  367. package/dist/extensions/approvals.d.ts +24 -10
  368. package/dist/extensions/approvals.js +73 -46
  369. package/dist/extensions/blobs.d.ts +27 -10
  370. package/dist/extensions/blobs.js +112 -45
  371. package/dist/extensions/bootstrap.d.ts +99 -36
  372. package/dist/extensions/bootstrap.js +290 -134
  373. package/dist/extensions/cli.d.ts +32 -10
  374. package/dist/extensions/cli.js +52 -98
  375. package/dist/extensions/config-hash.d.ts +10 -0
  376. package/dist/extensions/config-hash.js +38 -0
  377. package/dist/extensions/config-issues.d.ts +19 -0
  378. package/dist/extensions/config-issues.js +48 -0
  379. package/dist/extensions/config-json-schema.d.ts +43 -7
  380. package/dist/extensions/config-json-schema.js +124 -58
  381. package/dist/extensions/deployment-config-store.d.ts +55 -0
  382. package/dist/extensions/deployment-config-store.js +133 -0
  383. package/dist/extensions/deployment-config.d.ts +146 -70
  384. package/dist/extensions/deployment-config.js +439 -246
  385. package/dist/extensions/display-name.d.ts +22 -0
  386. package/dist/extensions/display-name.js +77 -0
  387. package/dist/extensions/effective-config.d.ts +127 -0
  388. package/dist/extensions/effective-config.js +368 -0
  389. package/dist/extensions/enabled.d.ts +5 -5
  390. package/dist/extensions/extensions.module.d.ts +8 -0
  391. package/dist/extensions/extensions.module.js +96 -0
  392. package/dist/extensions/hooks.d.ts +40 -6
  393. package/dist/extensions/hooks.js +83 -17
  394. package/dist/extensions/host.d.ts +161 -80
  395. package/dist/extensions/host.js +505 -213
  396. package/dist/extensions/installs.d.ts +73 -19
  397. package/dist/extensions/installs.js +174 -37
  398. package/dist/extensions/job-ids.d.ts +6 -0
  399. package/dist/extensions/job-ids.js +6 -0
  400. package/dist/extensions/lifecycle-topics.d.ts +18 -0
  401. package/dist/extensions/lifecycle-topics.js +18 -0
  402. package/dist/extensions/lifecycle.d.ts +35 -47
  403. package/dist/extensions/lifecycle.js +103 -39
  404. package/dist/extensions/locks.d.ts +45 -0
  405. package/dist/extensions/locks.js +112 -0
  406. package/dist/extensions/migrate-lock.d.ts +3 -4
  407. package/dist/extensions/org-config.d.ts +141 -49
  408. package/dist/extensions/org-config.js +471 -243
  409. package/dist/extensions/org-levels.d.ts +37 -0
  410. package/dist/extensions/org-levels.js +71 -0
  411. package/dist/extensions/org-overrides.d.ts +151 -0
  412. package/dist/extensions/org-overrides.js +524 -0
  413. package/dist/extensions/package.d.ts +14 -1
  414. package/dist/extensions/package.js +51 -2
  415. package/dist/extensions/permission-view.d.ts +59 -6
  416. package/dist/extensions/permission-view.js +7 -5
  417. package/dist/extensions/plugin-guides.d.ts +129 -0
  418. package/dist/extensions/plugin-guides.js +283 -0
  419. package/dist/extensions/plugin-icons.d.ts +54 -0
  420. package/dist/extensions/plugin-icons.js +125 -0
  421. package/dist/extensions/plugin-items.d.ts +21 -0
  422. package/dist/extensions/plugin-items.js +42 -0
  423. package/dist/extensions/point-defaults.controller.d.ts +28 -0
  424. package/dist/extensions/point-defaults.controller.js +69 -0
  425. package/dist/extensions/point-defaults.d.ts +73 -0
  426. package/dist/extensions/point-defaults.js +236 -0
  427. package/dist/extensions/point-defaults.schemas.d.ts +9 -0
  428. package/dist/extensions/point-defaults.schemas.js +14 -0
  429. package/dist/extensions/registry.d.ts +50 -2
  430. package/dist/extensions/registry.js +91 -4
  431. package/dist/extensions/resolve.d.ts +51 -1
  432. package/dist/extensions/resolve.js +85 -3
  433. package/dist/extensions/single-provider.d.ts +92 -0
  434. package/dist/extensions/single-provider.js +180 -0
  435. package/dist/extensions/sources.d.ts +19 -10
  436. package/dist/extensions/sources.js +34 -13
  437. package/dist/extensions/state.module.d.ts +9 -0
  438. package/dist/extensions/state.module.js +38 -0
  439. package/dist/extensions/unavailable.d.ts +50 -0
  440. package/dist/extensions/unavailable.js +115 -0
  441. package/dist/files/files.module.d.ts +3 -0
  442. package/dist/files/files.module.js +22 -0
  443. package/dist/files/previewers.controller.d.ts +7 -2
  444. package/dist/files/previewers.controller.js +19 -12
  445. package/dist/files/previewers.d.ts +21 -19
  446. package/dist/files/previewers.js +114 -38
  447. package/dist/files/previewers.schemas.d.ts +10 -0
  448. package/dist/files/previewers.schemas.js +9 -0
  449. package/dist/http/adapter.d.ts +3 -0
  450. package/dist/http/adapter.js +25 -0
  451. package/dist/http/api.module.d.ts +3 -110
  452. package/dist/http/api.module.js +93 -358
  453. package/dist/http/app.d.ts +22 -17
  454. package/dist/http/app.js +46 -65
  455. package/dist/http/error-filter.module.d.ts +5 -0
  456. package/dist/http/error-filter.module.js +18 -0
  457. package/dist/http/error.filter.js +2 -2
  458. package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +7 -3
  459. package/dist/http/gateway-routes.js +16 -0
  460. package/dist/http/nest-logger.d.ts +6 -5
  461. package/dist/http/nest-logger.js +24 -10
  462. package/dist/http/plugin-dispatch.d.ts +4 -1
  463. package/dist/http/plugin-dispatch.js +14 -2
  464. package/dist/identity/accounts.d.ts +137 -38
  465. package/dist/identity/accounts.js +386 -186
  466. package/dist/identity/api-tokens.d.ts +11 -7
  467. package/dist/identity/api-tokens.js +71 -44
  468. package/dist/identity/audit.d.ts +9 -5
  469. package/dist/identity/audit.js +5 -1
  470. package/dist/identity/auth.controller.d.ts +11 -10
  471. package/dist/identity/auth.controller.js +40 -30
  472. package/dist/identity/auth.guard.d.ts +16 -8
  473. package/dist/identity/auth.guard.js +41 -13
  474. package/dist/identity/binding.d.ts +9 -11
  475. package/dist/identity/binding.js +41 -13
  476. package/dist/identity/cookies.d.ts +26 -5
  477. package/dist/identity/cookies.js +58 -6
  478. package/dist/identity/external-identity-lock.d.ts +17 -0
  479. package/dist/identity/external-identity-lock.js +39 -0
  480. package/dist/identity/external.d.ts +19 -15
  481. package/dist/identity/external.js +163 -125
  482. package/dist/identity/identity.module.d.ts +6 -0
  483. package/dist/identity/identity.module.js +59 -0
  484. package/dist/identity/initial-passwords.controller.d.ts +22 -0
  485. package/dist/identity/initial-passwords.controller.js +49 -0
  486. package/dist/identity/initial-passwords.d.ts +61 -0
  487. package/dist/identity/initial-passwords.job.d.ts +16 -0
  488. package/dist/identity/initial-passwords.job.js +46 -0
  489. package/dist/identity/initial-passwords.js +159 -0
  490. package/dist/identity/me.controller.d.ts +32 -15
  491. package/dist/identity/me.controller.js +80 -33
  492. package/dist/identity/me.schemas.d.ts +24 -0
  493. package/dist/identity/me.schemas.js +25 -0
  494. package/dist/identity/principal.d.ts +11 -3
  495. package/dist/identity/principal.js +11 -3
  496. package/dist/identity/sessions.d.ts +24 -10
  497. package/dist/identity/sessions.js +119 -42
  498. package/dist/identity/settings.d.ts +69 -23
  499. package/dist/identity/settings.js +201 -72
  500. package/dist/identity/sso.controller.d.ts +7 -7
  501. package/dist/identity/sso.controller.js +13 -9
  502. package/dist/identity/sso.d.ts +9 -12
  503. package/dist/identity/sso.js +54 -24
  504. package/dist/identity/super-admin.d.ts +20 -0
  505. package/dist/identity/super-admin.js +81 -0
  506. package/dist/inbox/inbox.module.d.ts +6 -0
  507. package/dist/inbox/inbox.module.js +26 -0
  508. package/dist/inbox/inbox.schemas.d.ts +8 -0
  509. package/dist/inbox/inbox.schemas.js +11 -0
  510. package/dist/inbox/inbox.service.d.ts +68 -11
  511. package/dist/inbox/inbox.service.js +104 -13
  512. package/dist/inbox/org-notices.d.ts +63 -0
  513. package/dist/inbox/org-notices.js +91 -0
  514. package/dist/inbox/platform-inbox.controller.d.ts +23 -0
  515. package/dist/inbox/platform-inbox.controller.js +58 -0
  516. package/dist/inbox/platform-inbox.service.d.ts +151 -0
  517. package/dist/inbox/platform-inbox.service.js +263 -0
  518. package/dist/inbox/platform-notices.d.ts +19 -0
  519. package/dist/inbox/platform-notices.js +9 -0
  520. package/dist/index.d.ts +22 -13
  521. package/dist/index.js +16 -7
  522. package/dist/infra/cache/cache.module.d.ts +3 -0
  523. package/dist/infra/cache/cache.module.js +16 -0
  524. package/dist/infra/cache/cache.service.d.ts +21 -0
  525. package/dist/infra/cache/cache.service.js +80 -0
  526. package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
  527. package/dist/infra/cache/cacheable.decorator.js +83 -0
  528. package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
  529. package/dist/infra/cli/kernel-cli.module.js +173 -0
  530. package/dist/infra/close-within.d.ts +15 -0
  531. package/dist/infra/close-within.js +36 -0
  532. package/dist/infra/config/config.module.d.ts +13 -0
  533. package/dist/infra/config/config.module.js +39 -0
  534. package/dist/infra/config/kernel-config.service.d.ts +25 -0
  535. package/dist/infra/config/kernel-config.service.js +157 -0
  536. package/dist/infra/database/after-commit.d.ts +6 -0
  537. package/dist/infra/database/after-commit.js +9 -0
  538. package/dist/infra/database/database.module.d.ts +25 -0
  539. package/dist/infra/database/database.module.js +91 -0
  540. package/dist/infra/database/kernel-db.d.ts +22 -0
  541. package/dist/infra/database/kernel-db.js +65 -0
  542. package/dist/infra/database/transaction-host.d.ts +50 -0
  543. package/dist/infra/database/transaction-host.js +125 -0
  544. package/dist/infra/database/transactional.decorator.d.ts +15 -0
  545. package/dist/infra/database/transactional.decorator.js +27 -0
  546. package/dist/infra/database/xact-lock.d.ts +17 -0
  547. package/dist/infra/database/xact-lock.js +43 -0
  548. package/dist/infra/events/kernel-events.d.ts +121 -0
  549. package/dist/infra/events/kernel-events.js +65 -0
  550. package/dist/infra/health/health.controller.d.ts +26 -0
  551. package/dist/infra/health/health.controller.js +104 -0
  552. package/dist/infra/health/health.module.d.ts +9 -0
  553. package/dist/infra/health/health.module.js +24 -0
  554. package/dist/infra/health/health.options.d.ts +10 -0
  555. package/dist/infra/health/health.options.js +15 -0
  556. package/dist/infra/health/shutdown-state.d.ts +6 -0
  557. package/dist/infra/health/shutdown-state.js +2 -0
  558. package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
  559. package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
  560. package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
  561. package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
  562. package/dist/infra/lifecycle/process-guards.d.ts +52 -0
  563. package/dist/infra/lifecycle/process-guards.js +90 -0
  564. package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
  565. package/dist/infra/lifecycle/shutdown-signals.js +48 -0
  566. package/dist/infra/lock/key-template.d.ts +13 -0
  567. package/dist/infra/lock/key-template.js +46 -0
  568. package/dist/infra/lock/lock.module.d.ts +3 -0
  569. package/dist/infra/lock/lock.module.js +16 -0
  570. package/dist/infra/lock/lock.service.d.ts +120 -0
  571. package/dist/infra/lock/lock.service.js +343 -0
  572. package/dist/infra/lock/shared-lease.d.ts +44 -0
  573. package/dist/infra/lock/shared-lease.js +121 -0
  574. package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
  575. package/dist/infra/lock/with-lock.decorator.js +49 -0
  576. package/dist/infra/logging/logging.module.d.ts +18 -0
  577. package/dist/infra/logging/logging.module.js +52 -0
  578. package/dist/infra/queue/add-job-once.d.ts +14 -0
  579. package/dist/infra/queue/add-job-once.js +16 -0
  580. package/dist/infra/queue/configured-processor.d.ts +18 -0
  581. package/dist/infra/queue/configured-processor.js +23 -0
  582. package/dist/infra/queue/job-failure.d.ts +18 -0
  583. package/dist/infra/queue/job-failure.js +26 -0
  584. package/dist/infra/queue/queue-shutdown.d.ts +27 -0
  585. package/dist/infra/queue/queue-shutdown.js +81 -0
  586. package/dist/infra/queue/queue.module.d.ts +16 -0
  587. package/dist/infra/queue/queue.module.js +61 -0
  588. package/dist/infra/queue/redis-connection.d.ts +13 -0
  589. package/dist/infra/queue/redis-connection.js +25 -0
  590. package/dist/infra/queue/retired-schedulers.d.ts +7 -0
  591. package/dist/infra/queue/retired-schedulers.js +9 -0
  592. package/dist/infra/queue/run-job.d.ts +16 -0
  593. package/dist/infra/queue/run-job.js +19 -0
  594. package/dist/infra/redis/redis.module.d.ts +24 -0
  595. package/dist/infra/redis/redis.module.js +91 -0
  596. package/dist/infra/schedule/cron-tick.d.ts +12 -0
  597. package/dist/infra/schedule/cron-tick.js +25 -0
  598. package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
  599. package/dist/infra/schedule/locked-cron.decorator.js +53 -0
  600. package/dist/infra/schedule/locked-interval.d.ts +69 -0
  601. package/dist/infra/schedule/locked-interval.js +190 -0
  602. package/dist/infra/schedule/locked-tick.d.ts +90 -0
  603. package/dist/infra/schedule/locked-tick.js +137 -0
  604. package/dist/infra/schedule/schedule.module.d.ts +8 -0
  605. package/dist/infra/schedule/schedule.module.js +27 -0
  606. package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
  607. package/dist/infra/schedule/scheduled-runs.js +163 -0
  608. package/dist/infra/swagger/swagger.d.ts +16 -0
  609. package/dist/infra/swagger/swagger.js +31 -0
  610. package/dist/infra/throttler/credential-throttler.d.ts +35 -0
  611. package/dist/infra/throttler/credential-throttler.js +77 -0
  612. package/dist/infra/throttler/named-throttlers.d.ts +36 -0
  613. package/dist/infra/throttler/named-throttlers.js +157 -0
  614. package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
  615. package/dist/infra/throttler/redis-throttler-storage.js +130 -0
  616. package/dist/infra/throttler/throttler.guard.d.ts +23 -0
  617. package/dist/infra/throttler/throttler.guard.js +68 -0
  618. package/dist/infra/throttler/throttler.module.d.ts +15 -0
  619. package/dist/infra/throttler/throttler.module.js +53 -0
  620. package/dist/infra/tokens.d.ts +20 -0
  621. package/dist/infra/tokens.js +20 -0
  622. package/dist/infra/validation/create-zod-dto.d.ts +23 -0
  623. package/dist/infra/validation/create-zod-dto.js +35 -0
  624. package/dist/infra/validation/parse-with-zod.d.ts +7 -0
  625. package/dist/infra/validation/parse-with-zod.js +12 -0
  626. package/dist/infra/validation/validation.module.d.ts +3 -0
  627. package/dist/infra/validation/validation.module.js +16 -0
  628. package/dist/infra/validation/zod-params.d.ts +7 -0
  629. package/dist/infra/validation/zod-params.js +42 -0
  630. package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
  631. package/dist/infra/validation/zod-validation.pipe.js +31 -0
  632. package/dist/kernel.d.ts +9 -244
  633. package/dist/kernel.js +8 -1305
  634. package/dist/kernel.module.d.ts +17 -0
  635. package/dist/kernel.module.js +145 -0
  636. package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
  637. package/dist/lifecycle/kernel-lifecycle.js +465 -0
  638. package/dist/lifecycle/tokens.d.ts +3 -0
  639. package/dist/lifecycle/tokens.js +3 -0
  640. package/dist/log-context.d.ts +2 -0
  641. package/dist/log-context.js +4 -0
  642. package/dist/log.d.ts +13 -1
  643. package/dist/log.js +93 -17
  644. package/dist/models/embeddings.d.ts +82 -0
  645. package/dist/models/embeddings.js +326 -0
  646. package/dist/models/enablement.controller.d.ts +40 -0
  647. package/dist/models/enablement.controller.js +74 -0
  648. package/dist/models/enablement.d.ts +101 -0
  649. package/dist/models/enablement.js +264 -0
  650. package/dist/models/models.module.d.ts +7 -0
  651. package/dist/models/models.module.js +36 -0
  652. package/dist/models/org-models.schemas.d.ts +8 -0
  653. package/dist/models/org-models.schemas.js +22 -0
  654. package/dist/models/prices.d.ts +13 -5
  655. package/dist/models/prices.js +69 -39
  656. package/dist/models/purposes.controller.d.ts +6 -4
  657. package/dist/models/purposes.controller.js +16 -11
  658. package/dist/models/purposes.d.ts +103 -23
  659. package/dist/models/purposes.js +208 -77
  660. package/dist/orgs/directory-sync.controller.d.ts +1 -1
  661. package/dist/orgs/directory-sync.controller.js +2 -2
  662. package/dist/orgs/directory-sync.d.ts +74 -35
  663. package/dist/orgs/directory-sync.js +243 -132
  664. package/dist/orgs/invitations.controller.d.ts +8 -8
  665. package/dist/orgs/invitations.controller.js +27 -26
  666. package/dist/orgs/invitations.service.d.ts +12 -9
  667. package/dist/orgs/invitations.service.js +130 -92
  668. package/dist/orgs/job-ids.d.ts +8 -0
  669. package/dist/orgs/job-ids.js +8 -0
  670. package/dist/orgs/members.service.d.ts +19 -12
  671. package/dist/orgs/members.service.js +161 -117
  672. package/dist/orgs/offboarding.d.ts +61 -60
  673. package/dist/orgs/offboarding.js +206 -95
  674. package/dist/orgs/org-lock.d.ts +33 -19
  675. package/dist/orgs/org-lock.js +94 -35
  676. package/dist/orgs/org.guard.d.ts +11 -1
  677. package/dist/orgs/org.guard.js +45 -34
  678. package/dist/orgs/orgs.controller.d.ts +13 -16
  679. package/dist/orgs/orgs.controller.js +29 -20
  680. package/dist/orgs/orgs.module.d.ts +6 -0
  681. package/dist/orgs/orgs.module.js +71 -0
  682. package/dist/orgs/orgs.schemas.d.ts +8 -0
  683. package/dist/orgs/orgs.schemas.js +16 -0
  684. package/dist/orgs/orgs.service.d.ts +47 -21
  685. package/dist/orgs/orgs.service.js +166 -91
  686. package/dist/orgs/roles.d.ts +1 -1
  687. package/dist/orgs/roles.js +5 -1
  688. package/dist/orgs/settings.controller.d.ts +2 -2
  689. package/dist/orgs/settings.controller.js +8 -6
  690. package/dist/orgs/settings.service.d.ts +76 -14
  691. package/dist/orgs/settings.service.js +140 -51
  692. package/dist/overrides.d.ts +63 -0
  693. package/dist/overrides.js +34 -0
  694. package/dist/platform/actor.d.ts +48 -0
  695. package/dist/platform/actor.js +100 -0
  696. package/dist/platform/agent-docs.d.ts +18 -0
  697. package/dist/platform/agent-docs.js +59 -0
  698. package/dist/platform/availability.d.ts +14 -0
  699. package/dist/platform/availability.js +43 -0
  700. package/dist/platform/errors.d.ts +28 -0
  701. package/dist/platform/errors.js +65 -0
  702. package/dist/platform/exclusions.d.ts +11 -0
  703. package/dist/platform/exclusions.js +683 -0
  704. package/dist/platform/method.d.ts +6 -0
  705. package/dist/platform/method.js +15 -0
  706. package/dist/platform/operation.d.ts +169 -0
  707. package/dist/platform/operation.js +94 -0
  708. package/dist/platform/ops/accounts.ops.d.ts +32 -0
  709. package/dist/platform/ops/accounts.ops.js +291 -0
  710. package/dist/platform/ops/admin.ops.d.ts +38 -0
  711. package/dist/platform/ops/admin.ops.js +407 -0
  712. package/dist/platform/ops/agent-skills.ops.d.ts +24 -0
  713. package/dist/platform/ops/agent-skills.ops.js +226 -0
  714. package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
  715. package/dist/platform/ops/agent-templates.ops.js +272 -0
  716. package/dist/platform/ops/agents.ops.d.ts +37 -0
  717. package/dist/platform/ops/agents.ops.js +717 -0
  718. package/dist/platform/ops/approvals.ops.d.ts +30 -0
  719. package/dist/platform/ops/approvals.ops.js +116 -0
  720. package/dist/platform/ops/background.ops.d.ts +14 -0
  721. package/dist/platform/ops/background.ops.js +134 -0
  722. package/dist/platform/ops/catalog-admin.ops.d.ts +74 -0
  723. package/dist/platform/ops/catalog-admin.ops.js +599 -0
  724. package/dist/platform/ops/channels.ops.d.ts +16 -0
  725. package/dist/platform/ops/channels.ops.js +195 -0
  726. package/dist/platform/ops/components.ops.d.ts +46 -0
  727. package/dist/platform/ops/components.ops.js +854 -0
  728. package/dist/platform/ops/connectors.ops.d.ts +17 -0
  729. package/dist/platform/ops/connectors.ops.js +188 -0
  730. package/dist/platform/ops/conversations.ops.d.ts +30 -0
  731. package/dist/platform/ops/conversations.ops.js +470 -0
  732. package/dist/platform/ops/environments.ops.d.ts +26 -0
  733. package/dist/platform/ops/environments.ops.js +311 -0
  734. package/dist/platform/ops/errors.d.ts +16 -0
  735. package/dist/platform/ops/errors.js +30 -0
  736. package/dist/platform/ops/evals.ops.d.ts +28 -0
  737. package/dist/platform/ops/evals.ops.js +783 -0
  738. package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
  739. package/dist/platform/ops/extensions-admin.ops.js +372 -0
  740. package/dist/platform/ops/extensions.ops.d.ts +25 -0
  741. package/dist/platform/ops/extensions.ops.js +347 -0
  742. package/dist/platform/ops/inbox.ops.d.ts +25 -0
  743. package/dist/platform/ops/inbox.ops.js +378 -0
  744. package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
  745. package/dist/platform/ops/marketplaces.ops.js +466 -0
  746. package/dist/platform/ops/models.ops.d.ts +25 -0
  747. package/dist/platform/ops/models.ops.js +232 -0
  748. package/dist/platform/ops/org-plugins.ops.d.ts +29 -0
  749. package/dist/platform/ops/org-plugins.ops.js +329 -0
  750. package/dist/platform/ops/org-settings.ops.d.ts +18 -0
  751. package/dist/platform/ops/org-settings.ops.js +127 -0
  752. package/dist/platform/ops/orgs.ops.d.ts +28 -0
  753. package/dist/platform/ops/orgs.ops.js +296 -0
  754. package/dist/platform/ops/other-orgs.d.ts +20 -0
  755. package/dist/platform/ops/other-orgs.js +72 -0
  756. package/dist/platform/ops/paging.d.ts +14 -0
  757. package/dist/platform/ops/paging.js +20 -0
  758. package/dist/platform/ops/platform.ops.d.ts +30 -0
  759. package/dist/platform/ops/platform.ops.js +231 -0
  760. package/dist/platform/ops/plugins.ops.d.ts +35 -0
  761. package/dist/platform/ops/plugins.ops.js +476 -0
  762. package/dist/platform/ops/previewers.ops.d.ts +14 -0
  763. package/dist/platform/ops/previewers.ops.js +109 -0
  764. package/dist/platform/ops/requests.ops.d.ts +14 -0
  765. package/dist/platform/ops/requests.ops.js +191 -0
  766. package/dist/platform/ops/role.d.ts +4 -0
  767. package/dist/platform/ops/role.js +10 -0
  768. package/dist/platform/ops/skills.ops.d.ts +17 -0
  769. package/dist/platform/ops/skills.ops.js +216 -0
  770. package/dist/platform/ops/summary.d.ts +10 -0
  771. package/dist/platform/ops/summary.js +18 -0
  772. package/dist/platform/ops/themes.ops.d.ts +14 -0
  773. package/dist/platform/ops/themes.ops.js +47 -0
  774. package/dist/platform/ops/unavailable.d.ts +23 -0
  775. package/dist/platform/ops/unavailable.js +118 -0
  776. package/dist/platform/parity.d.ts +33 -0
  777. package/dist/platform/parity.js +272 -0
  778. package/dist/platform/platform-ops.module.d.ts +40 -0
  779. package/dist/platform/platform-ops.module.js +127 -0
  780. package/dist/platform/platform.module.d.ts +8 -0
  781. package/dist/platform/platform.module.js +25 -0
  782. package/dist/platform/registry.d.ts +30 -0
  783. package/dist/platform/registry.js +111 -0
  784. package/dist/platform/route-schemas.d.ts +18 -0
  785. package/dist/platform/route-schemas.js +66 -0
  786. package/dist/roles/gateway-role.d.ts +54 -0
  787. package/dist/roles/gateway-role.js +118 -0
  788. package/dist/roles/gateway.module.d.ts +9 -0
  789. package/dist/roles/gateway.module.js +31 -0
  790. package/dist/roles/worker-role.d.ts +65 -0
  791. package/dist/roles/worker-role.js +151 -0
  792. package/dist/roles/worker.module.d.ts +14 -0
  793. package/dist/roles/worker.module.js +106 -0
  794. package/dist/runtime/abort.js +19 -2
  795. package/dist/runtime/checkpointer.d.ts +8 -3
  796. package/dist/runtime/checkpointer.js +87 -55
  797. package/dist/runtime/context/build.d.ts +21 -13
  798. package/dist/runtime/context/build.js +106 -29
  799. package/dist/runtime/context/claude-tools.d.ts +4 -1
  800. package/dist/runtime/context/claude-tools.js +13 -12
  801. package/dist/runtime/context/compaction.js +24 -1
  802. package/dist/runtime/context/environment-paths.d.ts +40 -0
  803. package/dist/runtime/context/environment-paths.js +48 -0
  804. package/dist/runtime/context/legacy-text.d.ts +22 -0
  805. package/dist/runtime/context/legacy-text.js +37 -0
  806. package/dist/runtime/context/reminders.d.ts +2 -0
  807. package/dist/runtime/context/reminders.js +2 -0
  808. package/dist/runtime/context/run-context.d.ts +65 -0
  809. package/dist/runtime/context/run-context.js +215 -0
  810. package/dist/runtime/context/skills.d.ts +29 -11
  811. package/dist/runtime/context/skills.js +46 -32
  812. package/dist/runtime/context/tool-changes.d.ts +27 -0
  813. package/dist/runtime/context/tool-changes.js +60 -0
  814. package/dist/runtime/conversation-lock.d.ts +20 -11
  815. package/dist/runtime/conversation-lock.js +62 -72
  816. package/dist/runtime/hook-calls.d.ts +11 -4
  817. package/dist/runtime/hook-calls.js +41 -13
  818. package/dist/runtime/job-ids.d.ts +10 -0
  819. package/dist/runtime/job-ids.js +10 -0
  820. package/dist/runtime/langgraph-loop.d.ts +3 -1
  821. package/dist/runtime/langgraph-loop.js +37 -18
  822. package/dist/runtime/loop.d.ts +42 -6
  823. package/dist/runtime/loop.js +14 -0
  824. package/dist/runtime/maintenance-queue.d.ts +10 -0
  825. package/dist/runtime/maintenance-queue.js +10 -0
  826. package/dist/runtime/maintenance.d.ts +50 -74
  827. package/dist/runtime/maintenance.js +166 -137
  828. package/dist/runtime/model-call.d.ts +61 -15
  829. package/dist/runtime/model-call.js +128 -84
  830. package/dist/runtime/providers.d.ts +158 -27
  831. package/dist/runtime/providers.js +373 -63
  832. package/dist/runtime/quota.d.ts +17 -3
  833. package/dist/runtime/quota.js +27 -2
  834. package/dist/runtime/retired-schedulers.d.ts +7 -0
  835. package/dist/runtime/retired-schedulers.js +31 -0
  836. package/dist/runtime/run-context.service.d.ts +65 -0
  837. package/dist/runtime/run-context.service.js +236 -0
  838. package/dist/runtime/run-control.d.ts +43 -0
  839. package/dist/runtime/run-control.js +89 -0
  840. package/dist/runtime/run-drafts.d.ts +85 -0
  841. package/dist/runtime/run-drafts.js +230 -0
  842. package/dist/runtime/run-finish.d.ts +27 -18
  843. package/dist/runtime/run-finish.js +98 -51
  844. package/dist/runtime/run-jobs.d.ts +46 -0
  845. package/dist/runtime/run-jobs.js +91 -0
  846. package/dist/runtime/run-processors.d.ts +60 -0
  847. package/dist/runtime/run-processors.js +185 -0
  848. package/dist/runtime/run-queue.d.ts +90 -58
  849. package/dist/runtime/run-queue.js +566 -297
  850. package/dist/runtime/run-steps.d.ts +39 -0
  851. package/dist/runtime/run-steps.js +96 -0
  852. package/dist/runtime/run-worker.d.ts +134 -77
  853. package/dist/runtime/run-worker.js +412 -237
  854. package/dist/runtime/runtime.module.d.ts +10 -0
  855. package/dist/runtime/runtime.module.js +122 -0
  856. package/dist/runtime/step-log.d.ts +51 -0
  857. package/dist/runtime/step-log.js +111 -0
  858. package/dist/runtime/stream.controller.d.ts +28 -9
  859. package/dist/runtime/stream.controller.js +72 -13
  860. package/dist/runtime/stream.d.ts +27 -6
  861. package/dist/runtime/stream.js +102 -7
  862. package/dist/runtime/subagents/child.d.ts +58 -51
  863. package/dist/runtime/subagents/child.js +105 -86
  864. package/dist/runtime/subagents/definition.d.ts +32 -28
  865. package/dist/runtime/subagents/definition.js +89 -143
  866. package/dist/runtime/subagents/deliveries.d.ts +71 -0
  867. package/dist/runtime/subagents/deliveries.js +228 -0
  868. package/dist/runtime/subagents/dispatch.d.ts +197 -27
  869. package/dist/runtime/subagents/dispatch.js +336 -270
  870. package/dist/runtime/subagents/limits.d.ts +32 -8
  871. package/dist/runtime/subagents/limits.js +44 -8
  872. package/dist/runtime/subagents/messages.d.ts +95 -0
  873. package/dist/runtime/subagents/messages.js +328 -0
  874. package/dist/runtime/subagents/org-agents.d.ts +4 -4
  875. package/dist/runtime/subagents/org-agents.js +3 -2
  876. package/dist/runtime/subagents/preamble.d.ts +4 -4
  877. package/dist/runtime/subagents/preamble.js +9 -7
  878. package/dist/runtime/subagents/progress.d.ts +10 -8
  879. package/dist/runtime/subagents/progress.js +11 -6
  880. package/dist/runtime/subagents/render.d.ts +30 -0
  881. package/dist/runtime/subagents/render.js +53 -0
  882. package/dist/runtime/subagents/roster.d.ts +27 -10
  883. package/dist/runtime/subagents/roster.js +49 -13
  884. package/dist/runtime/subagents/skill-fork.d.ts +10 -10
  885. package/dist/runtime/subagents/skill-fork.js +23 -8
  886. package/dist/runtime/subagents/status.d.ts +14 -0
  887. package/dist/runtime/subagents/status.js +23 -0
  888. package/dist/runtime/subagents/subagents.service.d.ts +43 -0
  889. package/dist/runtime/subagents/subagents.service.js +106 -0
  890. package/dist/runtime/usage-report-jobs.d.ts +88 -0
  891. package/dist/runtime/usage-report-jobs.js +158 -0
  892. package/dist/runtime/usage-report.d.ts +121 -83
  893. package/dist/runtime/usage-report.js +355 -181
  894. package/dist/runtime/waits.d.ts +258 -81
  895. package/dist/runtime/waits.js +800 -263
  896. package/dist/sandbox/job-ids.d.ts +10 -0
  897. package/dist/sandbox/job-ids.js +10 -0
  898. package/dist/sandbox/jobs.d.ts +68 -0
  899. package/dist/sandbox/jobs.js +150 -0
  900. package/dist/sandbox/leases.d.ts +73 -82
  901. package/dist/sandbox/leases.js +162 -346
  902. package/dist/sandbox/providers.d.ts +46 -0
  903. package/dist/sandbox/providers.js +83 -0
  904. package/dist/sandbox/sandbox.module.d.ts +9 -0
  905. package/dist/sandbox/sandbox.module.js +36 -0
  906. package/dist/sandbox/sandbox.service.d.ts +359 -151
  907. package/dist/sandbox/sandbox.service.js +950 -435
  908. package/dist/sandbox/unreachable.d.ts +30 -0
  909. package/dist/sandbox/unreachable.js +108 -0
  910. package/dist/skills/catalog.d.ts +40 -26
  911. package/dist/skills/catalog.js +120 -99
  912. package/dist/skills/changes.controller.d.ts +11 -4
  913. package/dist/skills/changes.controller.js +34 -9
  914. package/dist/skills/changes.service.d.ts +31 -21
  915. package/dist/skills/changes.service.js +426 -368
  916. package/dist/skills/invocable.controller.d.ts +2 -2
  917. package/dist/skills/invocable.controller.js +10 -7
  918. package/dist/skills/invocation-keys.d.ts +1 -1
  919. package/dist/skills/invocation-keys.js +1 -1
  920. package/dist/skills/invoke.d.ts +19 -18
  921. package/dist/skills/invoke.js +68 -24
  922. package/dist/skills/package.d.ts +20 -1
  923. package/dist/skills/package.js +28 -1
  924. package/dist/skills/skills.controller.d.ts +33 -7
  925. package/dist/skills/skills.controller.js +79 -12
  926. package/dist/skills/skills.module.d.ts +6 -0
  927. package/dist/skills/skills.module.js +39 -0
  928. package/dist/skills/skills.schemas.d.ts +48 -0
  929. package/dist/skills/skills.schemas.js +61 -0
  930. package/dist/skills/skills.service.d.ts +151 -44
  931. package/dist/skills/skills.service.js +636 -204
  932. package/dist/skills/usable.d.ts +81 -0
  933. package/dist/skills/usable.js +379 -0
  934. package/dist/storage/job-ids.d.ts +6 -0
  935. package/dist/storage/job-ids.js +6 -0
  936. package/dist/storage/purge.d.ts +22 -7
  937. package/dist/storage/purge.js +55 -3
  938. package/dist/storage/storage.module.d.ts +6 -0
  939. package/dist/storage/storage.module.js +23 -0
  940. package/dist/storage/storage.service.d.ts +18 -4
  941. package/dist/storage/storage.service.js +44 -3
  942. package/dist/themes/render-css.d.ts +12 -0
  943. package/dist/themes/render-css.js +132 -0
  944. package/dist/themes/theme-delivery.service.d.ts +34 -0
  945. package/dist/themes/theme-delivery.service.js +111 -0
  946. package/dist/themes/theme-state.d.ts +95 -0
  947. package/dist/themes/theme-state.js +203 -0
  948. package/dist/themes/theme-usage.d.ts +61 -0
  949. package/dist/themes/theme-usage.js +98 -0
  950. package/dist/themes/themes-public.controller.d.ts +28 -0
  951. package/dist/themes/themes-public.controller.js +92 -0
  952. package/dist/themes/themes.controller.d.ts +13 -0
  953. package/dist/themes/themes.controller.js +38 -0
  954. package/dist/themes/themes.module.d.ts +3 -0
  955. package/dist/themes/themes.module.js +21 -0
  956. package/dist/themes/themes.schemas.d.ts +3 -0
  957. package/dist/themes/themes.schemas.js +2 -0
  958. package/dist/themes/themes.service.d.ts +50 -0
  959. package/dist/themes/themes.service.js +99 -0
  960. package/dist/time-zone.d.ts +5 -0
  961. package/dist/time-zone.js +19 -0
  962. package/dist/tools/approvals.controller.d.ts +1 -1
  963. package/dist/tools/approvals.controller.js +14 -11
  964. package/dist/tools/approvals.schemas.d.ts +21 -0
  965. package/dist/tools/approvals.schemas.js +15 -0
  966. package/dist/tools/approvals.service.d.ts +53 -27
  967. package/dist/tools/approvals.service.js +365 -260
  968. package/dist/tools/breaker.d.ts +2 -2
  969. package/dist/tools/breaker.js +21 -3
  970. package/dist/tools/builtin-names.d.ts +109 -0
  971. package/dist/tools/builtin-names.js +173 -0
  972. package/dist/tools/builtins/agent.d.ts +27 -25
  973. package/dist/tools/builtins/agent.js +66 -63
  974. package/dist/tools/builtins/ask-user.d.ts +3 -3
  975. package/dist/tools/builtins/ask-user.js +3 -3
  976. package/dist/tools/builtins/builtin-tools.d.ts +41 -0
  977. package/dist/tools/builtins/builtin-tools.js +151 -0
  978. package/dist/tools/builtins/current-time.d.ts +26 -0
  979. package/dist/tools/builtins/current-time.js +99 -0
  980. package/dist/tools/builtins/handback.d.ts +28 -0
  981. package/dist/tools/builtins/handback.js +53 -0
  982. package/dist/tools/builtins/platform.d.ts +51 -0
  983. package/dist/tools/builtins/platform.js +451 -0
  984. package/dist/tools/builtins/read-tool-output.d.ts +3 -3
  985. package/dist/tools/builtins/read-tool-output.js +3 -3
  986. package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
  987. package/dist/tools/builtins/sandbox/bash.js +293 -41
  988. package/dist/tools/builtins/sandbox/common.d.ts +137 -37
  989. package/dist/tools/builtins/sandbox/common.js +222 -62
  990. package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
  991. package/dist/tools/builtins/sandbox/deliver.js +21 -18
  992. package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
  993. package/dist/tools/builtins/sandbox/edit.js +65 -51
  994. package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
  995. package/dist/tools/builtins/sandbox/file-state.js +34 -0
  996. package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
  997. package/dist/tools/builtins/sandbox/glob-match.js +1 -1
  998. package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
  999. package/dist/tools/builtins/sandbox/glob.js +19 -14
  1000. package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
  1001. package/dist/tools/builtins/sandbox/grep.js +155 -36
  1002. package/dist/tools/builtins/sandbox/index.d.ts +9 -5
  1003. package/dist/tools/builtins/sandbox/index.js +13 -5
  1004. package/dist/tools/builtins/sandbox/read.d.ts +2 -2
  1005. package/dist/tools/builtins/sandbox/read.js +30 -20
  1006. package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
  1007. package/dist/tools/builtins/sandbox/task-output.js +334 -0
  1008. package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
  1009. package/dist/tools/builtins/sandbox/task-stop.js +113 -0
  1010. package/dist/tools/builtins/sandbox/write.d.ts +1 -1
  1011. package/dist/tools/builtins/sandbox/write.js +52 -45
  1012. package/dist/tools/builtins/send-message.d.ts +56 -0
  1013. package/dist/tools/builtins/send-message.js +100 -0
  1014. package/dist/tools/builtins/skill-load.d.ts +32 -21
  1015. package/dist/tools/builtins/skill-load.js +125 -74
  1016. package/dist/tools/builtins/skill-write.d.ts +4 -4
  1017. package/dist/tools/builtins/skill-write.js +12 -12
  1018. package/dist/tools/builtins/tool-search.d.ts +13 -9
  1019. package/dist/tools/builtins/tool-search.js +25 -14
  1020. package/dist/tools/builtins/web/errors.d.ts +8 -0
  1021. package/dist/tools/builtins/web/errors.js +53 -0
  1022. package/dist/tools/builtins/web/extract.d.ts +62 -0
  1023. package/dist/tools/builtins/web/extract.js +271 -0
  1024. package/dist/tools/builtins/web/fetch.d.ts +55 -0
  1025. package/dist/tools/builtins/web/fetch.js +175 -0
  1026. package/dist/tools/builtins/web/index.d.ts +13 -0
  1027. package/dist/tools/builtins/web/index.js +12 -0
  1028. package/dist/tools/builtins/web/page-cache.d.ts +25 -0
  1029. package/dist/tools/builtins/web/page-cache.js +77 -0
  1030. package/dist/tools/builtins/web/search.d.ts +25 -0
  1031. package/dist/tools/builtins/web/search.js +210 -0
  1032. package/dist/tools/builtins/web/url.d.ts +17 -0
  1033. package/dist/tools/builtins/web/url.js +43 -0
  1034. package/dist/tools/canonical-json.d.ts +6 -0
  1035. package/dist/tools/canonical-json.js +16 -0
  1036. package/dist/tools/connector-content.controller.d.ts +1 -1
  1037. package/dist/tools/connector-content.controller.js +11 -6
  1038. package/dist/tools/connector-content.d.ts +12 -15
  1039. package/dist/tools/connector-content.js +53 -18
  1040. package/dist/tools/connectors.controller.d.ts +16 -3
  1041. package/dist/tools/connectors.controller.js +34 -14
  1042. package/dist/tools/connectors.schemas.d.ts +12 -0
  1043. package/dist/tools/connectors.schemas.js +19 -0
  1044. package/dist/tools/connectors.service.d.ts +80 -18
  1045. package/dist/tools/connectors.service.js +529 -358
  1046. package/dist/tools/credentials.d.ts +20 -20
  1047. package/dist/tools/credentials.js +55 -34
  1048. package/dist/tools/display-names.d.ts +9 -0
  1049. package/dist/tools/display-names.js +24 -0
  1050. package/dist/tools/drift.d.ts +29 -41
  1051. package/dist/tools/drift.js +116 -84
  1052. package/dist/tools/elicitation.js +1 -1
  1053. package/dist/tools/extension-tools.controller.d.ts +14 -0
  1054. package/dist/tools/extension-tools.controller.js +37 -0
  1055. package/dist/tools/info.d.ts +73 -13
  1056. package/dist/tools/info.js +151 -39
  1057. package/dist/tools/job-ids.d.ts +13 -0
  1058. package/dist/tools/job-ids.js +15 -0
  1059. package/dist/tools/jobs.d.ts +24 -0
  1060. package/dist/tools/jobs.js +69 -0
  1061. package/dist/tools/legacy-data.d.ts +34 -0
  1062. package/dist/tools/legacy-data.js +76 -0
  1063. package/dist/tools/legacy-keys.d.ts +51 -0
  1064. package/dist/tools/legacy-keys.js +115 -0
  1065. package/dist/tools/naming.d.ts +1 -5
  1066. package/dist/tools/naming.js +1 -7
  1067. package/dist/tools/oauth/flow-paths.d.ts +16 -0
  1068. package/dist/tools/oauth/flow-paths.js +38 -0
  1069. package/dist/tools/oauth/flow.d.ts +30 -30
  1070. package/dist/tools/oauth/flow.js +109 -81
  1071. package/dist/tools/oauth/oauth.controller.d.ts +3 -3
  1072. package/dist/tools/oauth/oauth.controller.js +12 -9
  1073. package/dist/tools/oauth/tokens.d.ts +45 -10
  1074. package/dist/tools/oauth/tokens.js +70 -24
  1075. package/dist/tools/org-tool-switches.d.ts +88 -0
  1076. package/dist/tools/org-tool-switches.js +201 -0
  1077. package/dist/tools/outputs.d.ts +13 -4
  1078. package/dist/tools/outputs.js +48 -4
  1079. package/dist/tools/pipeline.d.ts +108 -80
  1080. package/dist/tools/pipeline.js +396 -409
  1081. package/dist/tools/policy.d.ts +4 -17
  1082. package/dist/tools/policy.js +49 -35
  1083. package/dist/tools/questions.controller.d.ts +2 -2
  1084. package/dist/tools/questions.controller.js +9 -6
  1085. package/dist/tools/questions.service.d.ts +26 -25
  1086. package/dist/tools/questions.service.js +201 -142
  1087. package/dist/tools/registry.d.ts +215 -84
  1088. package/dist/tools/registry.js +382 -264
  1089. package/dist/tools/resources.d.ts +1 -1
  1090. package/dist/tools/resources.js +1 -1
  1091. package/dist/tools/specs.d.ts +5 -4
  1092. package/dist/tools/specs.js +3 -1
  1093. package/dist/tools/tools.module.d.ts +10 -0
  1094. package/dist/tools/tools.module.js +113 -0
  1095. package/dist/tools/validate.js +1 -1
  1096. package/dist/ui/call-extension.d.ts +16 -0
  1097. package/dist/ui/call-extension.js +38 -0
  1098. package/dist/ui/embed-token.d.ts +9 -5
  1099. package/dist/ui/embed-token.js +34 -6
  1100. package/dist/ui/ui-stream.d.ts +22 -17
  1101. package/dist/ui/ui-stream.js +72 -12
  1102. package/dist/ui/ui.module.d.ts +7 -0
  1103. package/dist/ui/ui.module.js +28 -0
  1104. package/dist/ui/views.controller.d.ts +14 -12
  1105. package/dist/ui/views.controller.js +32 -25
  1106. package/dist/ui/views.d.ts +10 -57
  1107. package/dist/ui/views.js +58 -46
  1108. package/package.json +13 -3
  1109. package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
  1110. package/src/migrations/0064_account_last_org.sql +7 -0
  1111. package/src/migrations/0065_conversation_archive.sql +8 -0
  1112. package/src/migrations/0066_extension_display_name.sql +4 -0
  1113. package/src/migrations/0067_agent_profiles.sql +20 -0
  1114. package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
  1115. package/src/migrations/0069_attachments_agent_idx.sql +3 -0
  1116. package/src/migrations/0070_background_tasks.sql +37 -0
  1117. package/src/migrations/0071_background_tasks_reserve.sql +6 -0
  1118. package/src/migrations/0072_background_tasks_stopping.sql +5 -0
  1119. package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
  1120. package/src/migrations/0074_subagent_tree.sql +50 -0
  1121. package/src/migrations/0075_plugin_scope.sql +61 -0
  1122. package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
  1123. package/src/migrations/0077_scope_requests.sql +52 -0
  1124. package/src/migrations/0078_scope_grant_switches.sql +18 -0
  1125. package/src/migrations/0079_scope_live_install_switches.sql +19 -0
  1126. package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
  1127. package/src/migrations/0081_platform_components.sql +129 -0
  1128. package/src/migrations/0082_platform_migration.sql +33 -0
  1129. package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
  1130. package/src/migrations/0084_org_owned_items.sql +85 -0
  1131. package/src/migrations/0085_agent_templates_phase4.sql +45 -0
  1132. package/src/migrations/0086_org_layering.sql +30 -0
  1133. package/src/migrations/0087_approval_summary.sql +6 -0
  1134. package/src/migrations/0088_environments.sql +80 -0
  1135. package/src/migrations/0089_model_kinds_usage.sql +38 -0
  1136. package/src/migrations/0090_initial_passwords.sql +27 -0
  1137. package/src/migrations/0091_account_time_zone.sql +4 -0
  1138. package/src/migrations/0092_tools_default_on.sql +27 -0
  1139. package/src/migrations/0093_connected_environments.sql +37 -0
  1140. package/src/migrations/0094_environment_paths_idx.sql +7 -0
  1141. package/src/migrations/0095_environment_files_resets.sql +5 -0
  1142. package/src/migrations/0096_environment_demoted_default.sql +18 -0
  1143. package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
  1144. package/src/migrations/0098_single_provider_running_first.sql +41 -0
  1145. package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
  1146. package/src/migrations/0100_catalog_files.sql +13 -0
  1147. package/src/migrations/0101_marketplace_icons.sql +32 -0
  1148. package/src/migrations/0102_themes.sql +64 -0
  1149. package/src/migrations/0103_ui_theme_setting.sql +7 -0
  1150. package/dist/catalog/upgrade-targets.d.ts +0 -59
  1151. package/dist/catalog/upgrade-targets.js +0 -90
  1152. package/dist/conversations/sandbox-status.d.ts +0 -21
  1153. package/dist/conversations/sandbox-status.js +0 -24
  1154. package/dist/extensions/org-config.controller.d.ts +0 -24
  1155. package/dist/extensions/org-config.controller.js +0 -59
  1156. package/dist/http/gateway.module.js +0 -13
  1157. package/dist/http/health.controller.d.ts +0 -26
  1158. package/dist/http/health.controller.js +0 -79
  1159. package/dist/http/tokens.d.ts +0 -131
  1160. package/dist/http/tokens.js +0 -131
  1161. package/dist/http/zod.pipe.d.ts +0 -8
  1162. package/dist/http/zod.pipe.js +0 -14
  1163. package/dist/identity/enterprise-admin.d.ts +0 -14
  1164. package/dist/identity/enterprise-admin.js +0 -27
  1165. package/dist/identity/rate-limit.d.ts +0 -55
  1166. package/dist/identity/rate-limit.js +0 -121
  1167. package/dist/sandbox/lifecycle.d.ts +0 -21
  1168. package/dist/sandbox/lifecycle.js +0 -68
  1169. package/dist/tools/builtins/sandbox/names.d.ts +0 -7
  1170. package/dist/tools/builtins/sandbox/names.js +0 -20
@@ -1,17 +1,35 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
8
+ return function (target, key) { decorator(target, key, paramIndex); }
9
+ };
1
10
  import { isSafePackagePath, marketplaceEntryVersion, } from "@capybara-hq/plugin-sdk";
11
+ import { Inject, Injectable } from "@nestjs/common";
2
12
  import { sql } from "kysely";
3
13
  import { ApiError } from "../errors.js";
4
- import { enabledExtensionsByOrg } from "../extensions/enabled.js";
14
+ import { ExtensionAdmin } from "../extensions/admin-view.js";
15
+ import { ExtensionInstalls } from "../extensions/installs.js";
16
+ import { PluginInstallLock } from "../extensions/locks.js";
5
17
  import { audit } from "../identity/audit.js";
6
- import { lockEnterpriseAdminsAndAuthorize } from "../identity/enterprise-admin.js";
18
+ import { SuperAdminLock } from "../identity/super-admin.js";
19
+ import { KernelConfigService } from "../infra/config/kernel-config.service.js";
20
+ import { KernelDb } from "../infra/database/kernel-db.js";
21
+ import { TransactionHost } from "../infra/database/transaction-host.js";
22
+ import { Transactional } from "../infra/database/transactional.decorator.js";
7
23
  import { sameRepository } from "../packages/provenance.js";
8
- import { endpointCredentialIssues } from "../tools/endpoint.js";
9
- import { expandGitUrl, GitSourceError, gitErrorDetails, gitLocationIdentity, normalGitPath, readGitTreeAndOids, resolveGitCommit, } from "./git-source.js";
10
- import { marketplaceNetPolicy, marketplaceUrlProblem } from "./marketplace-fetch.js";
11
- import { entryCompatible, entryContentChanged, entrySourceHost, HOST_VERSIONS, hostAllowed, loadMarketplaceEntry, pluginNameFrom, sourceEffective, } from "./marketplaces.service.js";
12
- import { cancelPendingRequests } from "./requests.service.js";
13
- import { schemaHasPath } from "./schema-path.js";
14
- import { compareVersions, newestFirst, sameRelease, withBuild } from "./versions.js";
24
+ import { assertNotPlatformDefault } from "../themes/theme-usage.js";
25
+ import { countInstalls, itemConfirmations, itemScopeFacts, itemView, marketplaceLatest, versionUsable, } from "./catalog-items.js";
26
+ import { expandGitUrl, GitSourceError, gitErrorDetails, normalGitPath, readGitTreeAndOids, resolveGitCommit, } from "./git-source.js";
27
+ import { fetchMarketplaceArchive, marketplaceNetPolicy, marketplaceUrlProblem, } from "./marketplace-fetch.js";
28
+ import { assertEntryNotDeprecated, entryCompatible, entrySourceHost, HOST_VERSIONS, hostAllowed, loadMarketplaceEntry, MarketplacesService, pluginNameFrom, } from "./marketplaces.service.js";
29
+ import { releaseExtensionClaim } from "./ownership.js";
30
+ import { PluginImport } from "./plugin-import.js";
31
+ import { cancelPendingRequests } from "./request-rules.js";
32
+ import { newestFirst } from "./versions.js";
15
33
  const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
16
34
  const notFound = () => new ApiError("catalog.item_not_found", "Catalog item not found");
17
35
  /** An archive URL as recorded (origin + path): a query string or fragment may carry a token. */
@@ -58,33 +76,66 @@ function gitSource(loc, read, pinned) {
58
76
  ref: `${u.origin}${u.pathname}@${commit}${path === "." ? "" : `:${path}`}`,
59
77
  };
60
78
  }
61
- /**
62
- * The object storage prefix of one import (relative to `deployment/`):
63
- * `directory/<itemId>/<version>/<importId>/`. Each import gets a new `importId`, so the losing one of
64
- * two concurrent imports of the same version never overwrites the committed version's files; reads
65
- * always go through the `object_prefix` stored on the version row. Build metadata's `+` is written
66
- * as `_` (a `+` in a key can turn into a space through URL query encoding).
67
- */
68
- export const catalogObjectPrefix = (itemId, version, importId) => `directory/${itemId}/${version.replace(/\+/g, "_")}/${importId}/`;
69
79
  /** Default / largest page size of the list. */
70
80
  export const CATALOG_LIST_DEFAULT_LIMIT = 200;
71
81
  export const CATALOG_LIST_MAX_LIMIT = 1000;
72
- const PUT_CONCURRENCY = 8;
73
82
  /**
74
- * Enterprise catalog items (D9 / C21 / C22, `/api/v1/admin/catalog/*`, enterprise admins only). One
83
+ * Platform catalog items (D9 / C21 / C22, `/api/v1/admin/catalog/*`, super admins only). One
75
84
  * kind: every item is a plugin (spec §4), imported through {@link PluginImport} (prepare -> confirm,
76
- * one review); this service lists and shows items, changes policy, deletes, installs an item's
77
- * extension on the deployment, and prepares marketplace imports. Stateless, shared by every replica.
85
+ * one review, whose confirm installs the plugin's extension); this service lists and shows items,
86
+ * deletes, and prepares marketplace imports (scope and disable: `CatalogScopeService`). Stateless,
87
+ * shared by every replica.
78
88
  */
79
- export class CatalogService {
80
- d;
81
- constructor(d) {
82
- this.d = d;
89
+ let CatalogService = class CatalogService {
90
+ kdb;
91
+ adminLock;
92
+ config;
93
+ installs;
94
+ admin;
95
+ pluginImport;
96
+ marketplaces;
97
+ installLock;
98
+ txHost;
99
+ constructor(kdb,
100
+ /** The super admin lock (identity/super-admin.ts): joins the caller's transaction. */
101
+ adminLock, config, installs,
102
+ /** The deployment's extensions with their approvals (what is pending confirmation). */
103
+ admin,
104
+ /** Plugin import (a marketplace entry goes through its prepare). */
105
+ pluginImport,
106
+ /** The token of a custom marketplace (sent only to its URL's origin). */
107
+ marketplaces,
108
+ /** Serializes a claim release with an install of that name still committing (F10). */
109
+ installLock, txHost) {
110
+ this.kdb = kdb;
111
+ this.adminLock = adminLock;
112
+ this.config = config;
113
+ this.installs = installs;
114
+ this.admin = admin;
115
+ this.pluginImport = pluginImport;
116
+ this.marketplaces = marketplaces;
117
+ this.installLock = installLock;
118
+ this.txHost = txHost;
119
+ }
120
+ /** The kernel-schema handle of the current context (the transaction, else the pool). */
121
+ get db() {
122
+ return this.kdb.db;
123
+ }
124
+ /** Downloads a marketplace archive source, verified against its integrity. */
125
+ fetchArchive(archive, signal) {
126
+ const config = this.config.get();
127
+ return fetchMarketplaceArchive(archive, {
128
+ maxBytes: config.packages.maxBytes,
129
+ timeoutMs: 120_000,
130
+ net: marketplaceNetPolicy(config),
131
+ ...(signal !== undefined && { signal }),
132
+ });
83
133
  }
84
134
  /**
85
135
  * Prepares the import of one marketplace entry (C25 / C26, spec §5.2): `version` defaults to the
86
136
  * newest compatible version the marketplace lists for `name`; the entry must be compatible with
87
- * the host (`marketplace.incompatible`); an npm source is downloaded from the configured registry
137
+ * the host (`marketplace.incompatible`) and not deprecated (`marketplace.entry_deprecated`, 409; the
138
+ * confirm does not read the marketplace again); an npm source is downloaded from the configured registry
88
139
  * and an archive source from its URL, both always verified against the marketplace's integrity
89
140
  * (`marketplace.integrity_mismatch`, nothing written). A `path` source is read from the git
90
141
  * marketplace's repository at its last refreshed commit (an http marketplace has none:
@@ -100,12 +151,13 @@ export class CatalogService {
100
151
  * `marketplace.not_found`; disabled, or the entry / version missing -> `marketplace.entry_not_found`.
101
152
  */
102
153
  async importFromMarketplace(actor, input, opts = {}) {
103
- const config = this.d.config();
104
- const { entry, marketplace, claude } = await loadMarketplaceEntry(this.d.db, config, input.marketplaceId, input.name, input.version);
154
+ const config = this.config.get();
155
+ const { entry, marketplace, claude } = await loadMarketplaceEntry(this.db, config, input.marketplaceId, input.name, input.version);
105
156
  const version = marketplaceEntryVersion(entry);
106
157
  if (!entryCompatible(entry)) {
107
158
  throw new ApiError("marketplace.incompatible", `${entry.name}${version !== null ? `@${version}` : ""} needs kernel >= ${entry.minKernel}; this deployment runs kernel ${HOST_VERSIONS.kernel}`);
108
159
  }
160
+ assertEntryNotDeprecated(entry);
109
161
  const src = entry.source;
110
162
  const host = entrySourceHost(entry);
111
163
  if (host !== undefined && !hostAllowed(host, config)) {
@@ -113,6 +165,7 @@ export class CatalogService {
113
165
  }
114
166
  const prepareOpts = {
115
167
  ...(opts.actorTokenId !== undefined && { actorTokenId: opts.actorTokenId }),
168
+ ...(opts.auditDetail !== undefined && { auditDetail: opts.auditDetail }),
116
169
  expect: {
117
170
  marketplace: {
118
171
  name: entry.name,
@@ -129,20 +182,20 @@ export class CatalogService {
129
182
  let detail;
130
183
  let provenance;
131
184
  if ("npm" in src) {
132
- got = await this.d.installs.fetchMarketplacePackage({ package: src.npm.package, version: src.npm.version, integrity: src.npm.integrity }, opts.signal);
185
+ got = await this.installs.fetchMarketplacePackage({ package: src.npm.package, version: src.npm.version, integrity: src.npm.integrity }, opts.signal);
133
186
  ref = `${input.marketplaceId}:${src.npm.package}@${src.npm.version}`;
134
187
  detail = { registry: new URL(config.packages.npmRegistry).origin };
135
- const p = await this.d.installs.fetchProvenance({ package: src.npm.package, version: src.npm.version, integrity: got.integrity }, opts.signal);
188
+ const p = await this.installs.fetchProvenance({ package: src.npm.package, version: src.npm.version, integrity: got.integrity }, opts.signal);
136
189
  // a git marketplace declares its repository: an attestation from another one is a warning
137
190
  const mismatch = p.checked && marketplace.form === "git" && !sameRepository(p.repository, marketplace.url);
138
191
  provenance = { provenance: p, ...(mismatch && { warning: "repository_mismatch" }) };
139
192
  }
140
193
  else {
141
- got = await this.d.fetchArchive(src.archive, opts.signal);
194
+ got = await this.fetchArchive(src.archive, opts.signal);
142
195
  ref = `${input.marketplaceId}:${archiveRef(src.archive.url)}`;
143
196
  detail = { url: archiveRef(src.archive.url) };
144
197
  }
145
- staged = await this.d.pluginImport.prepare(actor, got.bytes, {
198
+ staged = await this.pluginImport.prepare(actor, got.bytes, {
146
199
  kind: "marketplace",
147
200
  ref,
148
201
  integrity: got.integrity,
@@ -184,7 +237,7 @@ export class CatalogService {
184
237
  }
185
238
  const token = marketplace.builtin
186
239
  ? undefined
187
- : await this.d.marketplaceToken(input.marketplaceId);
240
+ : await this.marketplaces.token(input.marketplaceId);
188
241
  const read = await this.readGit(loc, {
189
242
  ...(token !== undefined && { token, tokenOrigin: new URL(marketplace.url).origin }),
190
243
  ...(opts.signal !== undefined && { signal: opts.signal }),
@@ -192,7 +245,7 @@ export class CatalogService {
192
245
  // path entries follow the marketplace's ref; git entries follow theirs unless a commit is pinned
193
246
  const pinned = "git" in src && src.git.commit !== undefined;
194
247
  const where = gitSource("path" in src && marketplace.ref !== null ? { ...loc, ref: marketplace.ref } : loc, read, pinned);
195
- staged = await this.d.pluginImport.prepareGit(actor, read.files, {
248
+ staged = await this.pluginImport.prepareGit(actor, read.files, {
196
249
  kind: "git",
197
250
  ref: `${input.marketplaceId}:${where.ref}`,
198
251
  marketplaceId: input.marketplaceId,
@@ -224,7 +277,7 @@ export class CatalogService {
224
277
  */
225
278
  async importFromGit(actor, input, opts = {}) {
226
279
  const url = expandGitUrl(input.url);
227
- const problem = marketplaceUrlProblem(url, this.d.config().marketplaces.allowInsecureLoopback);
280
+ const problem = marketplaceUrlProblem(url, this.config.get().marketplaces.allowInsecureLoopback);
228
281
  if (problem !== null)
229
282
  throw new ApiError("validation_failed", `url: ${problem}`);
230
283
  if (input.path !== undefined) {
@@ -247,8 +300,9 @@ export class CatalogService {
247
300
  .filter((s) => s !== "")
248
301
  .pop() ?? "plugin")
249
302
  : where.detail.path.split("/").pop();
250
- const r = await this.d.pluginImport.prepareGit(actor, read.files, { kind: "git", ref: where.ref, detail: where.detail }, {
303
+ const r = await this.pluginImport.prepareGit(actor, read.files, { kind: "git", ref: where.ref, detail: where.detail }, {
251
304
  ...(opts.actorTokenId !== undefined && { actorTokenId: opts.actorTokenId }),
305
+ ...(opts.auditDetail !== undefined && { auditDetail: opts.auditDetail }),
252
306
  fallback: {
253
307
  name: pluginNameFrom(segment),
254
308
  version: gitFallbackVersion(read.commit),
@@ -259,7 +313,7 @@ export class CatalogService {
259
313
  }
260
314
  /** Resolves the commit and reads the plugin's files; git failures become API errors. */
261
315
  async readGit(loc, o) {
262
- const config = this.d.config();
316
+ const config = this.config.get();
263
317
  const options = {
264
318
  net: marketplaceNetPolicy(config),
265
319
  maxBytes: config.packages.maxBytes,
@@ -287,9 +341,28 @@ export class CatalogService {
287
341
  }
288
342
  /** Same as {@link list}, plus the offset of the next page (null when there is none). */
289
343
  async page(q = {}) {
344
+ // `pending`: every item waiting for a confirmation (one list, not paged: the pending set is small)
345
+ if (q.pending === true) {
346
+ const all = await this.page({
347
+ ...(q.includeDeleted && { includeDeleted: true }),
348
+ limit: CATALOG_LIST_MAX_LIMIT,
349
+ });
350
+ const items = [...all.items];
351
+ let next = all.nextOffset;
352
+ while (next !== null) {
353
+ const more = await this.page({
354
+ ...(q.includeDeleted && { includeDeleted: true }),
355
+ limit: CATALOG_LIST_MAX_LIMIT,
356
+ offset: next,
357
+ });
358
+ items.push(...more.items);
359
+ next = more.nextOffset;
360
+ }
361
+ return { items: items.filter((i) => i.pending), nextOffset: null };
362
+ }
290
363
  const limit = Math.min(Math.max(1, q.limit ?? CATALOG_LIST_DEFAULT_LIMIT), CATALOG_LIST_MAX_LIMIT);
291
364
  const offset = Math.max(0, q.offset ?? 0);
292
- let query = this.d.db
365
+ let query = this.db
293
366
  .selectFrom("catalog_items")
294
367
  .selectAll()
295
368
  .orderBy("name")
@@ -303,7 +376,7 @@ export class CatalogService {
303
376
  const items = rows.slice(0, limit);
304
377
  if (items.length === 0)
305
378
  return { items: [], nextOffset: null };
306
- const versions = await this.d.db
379
+ const versions = await this.db
307
380
  .selectFrom("catalog_item_versions")
308
381
  .select([
309
382
  "item_id",
@@ -314,19 +387,29 @@ export class CatalogService {
314
387
  "integrity",
315
388
  "source_detail",
316
389
  "imported_at",
390
+ "manifest",
391
+ "source_format",
392
+ "applied_at",
393
+ "rejected_at",
317
394
  ])
318
395
  .where("item_id", "in", items.map((i) => i.id))
319
396
  .execute();
397
+ const platformOwned = new Set(items.filter((i) => i.owner_org_id === null).map((i) => i.id));
320
398
  const byItem = new Map();
321
399
  for (const v of versions) {
400
+ // a platform item offers only versions it may use (a transferred org item's rejected or
401
+ // never-applied uploads stay out, ruling P3-52); an org item's pending ones show in 待确认
402
+ if (platformOwned.has(v.item_id) && !versionUsable(v))
403
+ continue;
322
404
  const list = byItem.get(v.item_id) ?? [];
323
405
  list.push(v);
324
406
  byItem.set(v.item_id, list);
325
407
  }
326
- const installs = await countInstalls(this.d.db, items, byItem);
327
- const latest = await marketplaceLatest(this.d.db, this.d.config(), items, byItem);
408
+ const installs = await countInstalls(this.db, items, byItem);
409
+ const latest = await marketplaceLatest(this.db, this.config.get(), items, byItem);
410
+ const facts = await itemScopeFacts(this.db, items, await itemConfirmations(this.admin, items, byItem));
328
411
  return {
329
- items: items.map((i) => itemView(i, byItem.get(i.id) ?? [], installs.get(i.id) ?? 0, latest.get(i.id))),
412
+ items: items.map((i) => itemView(i, byItem.get(i.id) ?? [], installs.get(i.id) ?? 0, latest.get(i.id), facts.get(i.id))),
330
413
  nextOffset,
331
414
  };
332
415
  }
@@ -334,27 +417,29 @@ export class CatalogService {
334
417
  async get(itemId) {
335
418
  if (!UUID_RE.test(itemId))
336
419
  throw notFound();
337
- const item = await this.d.db
420
+ const item = await this.db
338
421
  .selectFrom("catalog_items")
339
422
  .selectAll()
340
423
  .where("id", "=", itemId)
341
424
  .executeTakeFirst();
342
425
  if (!item)
343
426
  throw notFound();
344
- const rows = await this.d.db
427
+ const rows = (await this.db
345
428
  .selectFrom("catalog_item_versions")
346
429
  .selectAll()
347
430
  .where("item_id", "=", itemId)
348
- .execute();
431
+ .execute()).filter((v) => item.owner_org_id !== null || versionUsable(v));
349
432
  rows.sort((a, b) => newestFirst({ version: a.version, importedAt: a.imported_at }, { version: b.version, importedAt: b.imported_at }));
350
433
  const byItem = new Map([[item.id, rows]]);
351
- const installs = await countInstalls(this.d.db, [item], byItem);
352
- const latest = await marketplaceLatest(this.d.db, this.d.config(), [item], byItem);
434
+ const installs = await countInstalls(this.db, [item], byItem);
435
+ const latest = await marketplaceLatest(this.db, this.config.get(), [item], byItem);
436
+ const facts = await itemScopeFacts(this.db, [item], await itemConfirmations(this.admin, [item], byItem));
353
437
  return {
354
438
  item: {
355
- ...itemView(item, rows, installs.get(item.id) ?? 0, latest.get(item.id)),
439
+ ...itemView(item, rows, installs.get(item.id) ?? 0, latest.get(item.id), facts.get(item.id)),
356
440
  packageName: item.package_name,
357
441
  deletedAt: item.deleted_at?.toISOString() ?? null,
442
+ platformVersion: item.platform_synced_version ?? item.latest_version,
358
443
  },
359
444
  versions: rows.map((v) => ({
360
445
  version: v.version,
@@ -376,507 +461,152 @@ export class CatalogService {
376
461
  })),
377
462
  };
378
463
  }
379
- /**
380
- * Changes the policy (audit `catalog.policy_changed`, not written when unchanged). Deleted /
381
- * missing -> `catalog.item_not_found`.
382
- */
383
- async setPolicy(actor, itemId, policy, opts = {}) {
384
- if (!UUID_RE.test(itemId))
385
- throw notFound();
386
- await this.d.db.transaction().execute(async (trx) => {
387
- await lockEnterpriseAdminsAndAuthorize(trx, actor);
388
- const row = await trx
389
- .selectFrom("catalog_items")
390
- .select(["name", "policy"])
391
- .where("id", "=", itemId)
392
- .where("deleted_at", "is", null)
393
- .forUpdate()
394
- .executeTakeFirst();
395
- if (!row)
396
- throw notFound();
397
- if (row.policy === policy)
398
- return;
399
- await trx
400
- .updateTable("catalog_items")
401
- .set({ policy, updated_at: sql `now()` })
402
- .where("id", "=", itemId)
403
- .execute();
404
- await audit(trx, {
405
- actorAccountId: actor,
406
- ...(opts.actorTokenId !== undefined && { actorTokenId: opts.actorTokenId }),
407
- action: "catalog.policy_changed",
408
- target: itemId,
409
- detail: { name: row.name, from: row.policy, to: policy },
410
- });
411
- });
412
- return this.view(itemId);
413
- }
414
464
  /**
415
465
  * Deletes the item (soft delete, audit `catalog.removed`; requests still pending are cancelled in
416
466
  * the same transaction): versions and stored files are kept (installed components still refer to
417
- * them), organizations no longer see it; the same name can later be imported again as a new
418
- * item. Deleted / missing -> `catalog.item_not_found`.
467
+ * them), its themes are soft-deleted (nothing refers to their rows), organizations no longer see
468
+ * it; the same name can later be imported again as a new item. Deleted / missing -> `catalog.item_not_found`. A platform plugin whose extension is
469
+ * still enabled on the deployment -> 409 `catalog.extension_enabled` (details
470
+ * `[{ extension, displayName }]`): disable it on the Extensions page first, as an uninstall
471
+ * requires. A disabled extension keeps its install record (the super admin uninstalls it on the
472
+ * Extensions page); an org-owned item's extension is taken out by `OwnedPluginCleanup`.
419
473
  */
420
474
  async remove(actor, itemId, opts = {}) {
421
475
  if (!UUID_RE.test(itemId))
422
476
  throw notFound();
423
- await this.d.db.transaction().execute(async (trx) => {
424
- await lockEnterpriseAdminsAndAuthorize(trx, actor);
425
- const row = await trx
426
- .updateTable("catalog_items")
427
- .set({
428
- deleted_at: sql `now()`,
429
- updated_at: sql `now()`,
430
- })
431
- .where("id", "=", itemId)
432
- .where("deleted_at", "is", null)
433
- .returning(["name"])
434
- .executeTakeFirst();
435
- if (!row)
436
- throw notFound();
437
- // Pending requests for a deleted item are pointless: cancel them in the same transaction
438
- await cancelPendingRequests(trx, { itemId }, actor, "item_removed", opts);
439
- await audit(trx, {
440
- actorAccountId: actor,
441
- ...(opts.actorTokenId !== undefined && { actorTokenId: opts.actorTokenId }),
442
- action: "catalog.removed",
443
- target: itemId,
444
- detail: { name: row.name },
445
- });
446
- });
477
+ await this.writeRemove(actor, itemId, opts);
447
478
  }
448
479
  /**
449
- * Installs the extension of one version of an item on the deployment
450
- * (`ExtensionAdminOps.install`: a new install is disabled, a version change keeps the desired
451
- * state; audit `extension.installed`), with the install record linked to the item (F-AA). The
452
- * returned status may be `pending_approval` when the version's permissions are not approved yet.
453
- * A version without an extension -> `catalog.no_extension`; item or version missing ->
454
- * `catalog.item_not_found`.
480
+ * The precheck of {@link remove} (the Platform tool's `plugins.delete`): throws what the delete
481
+ * would throw for an enabled extension; read-only, no locks.
455
482
  */
456
- async installToDeployment(actor, itemId, version, opts = {}) {
483
+ async assertRemovable(itemId) {
457
484
  if (!UUID_RE.test(itemId))
458
485
  throw notFound();
459
- const item = await this.d.db
486
+ await this.assertExtensionDisabled(this.kdb.db, itemId);
487
+ }
488
+ async writeRemove(actor, itemId, opts) {
489
+ await this.adminLock.lockAndAuthorize(actor);
490
+ await this.assertExtensionDisabled(this.db, itemId, true);
491
+ if ((await this.removeIn(actor, itemId, opts)) === null)
492
+ throw notFound();
493
+ }
494
+ /**
495
+ * A live platform item whose extension (the install of the item's name from its package) is
496
+ * enabled -> 409 `catalog.extension_enabled`. With `lock`, under the per-name install lock an
497
+ * enable takes too (the caller's transaction), so no enable slips in between.
498
+ */
499
+ async assertExtensionDisabled(db, itemId, lock = false) {
500
+ const item = await db
460
501
  .selectFrom("catalog_items")
461
- .select(["id", "name"])
502
+ .select(["name", "package_name", "owner_org_id", "display_name"])
462
503
  .where("id", "=", itemId)
463
504
  .where("deleted_at", "is", null)
464
505
  .executeTakeFirst();
465
- if (!item)
466
- throw notFound();
467
- const v = await this.d.db
468
- .selectFrom("catalog_item_versions")
469
- .select("extension_sha256")
470
- .where("item_id", "=", itemId)
471
- .where("version", "=", version)
506
+ if (!item || item.owner_org_id !== null)
507
+ return;
508
+ if (lock)
509
+ await this.installLock.lock(item.name);
510
+ const install = await db
511
+ .selectFrom("extension_installs as x")
512
+ .innerJoin("extension_packages as p", "p.sha256", "x.sha256")
513
+ .select(["x.desired_state", "p.package_name"])
514
+ .where("x.name", "=", item.name)
472
515
  .executeTakeFirst();
473
- if (!v) {
474
- throw new ApiError("catalog.item_not_found", `Version ${version} of this item not found`);
475
- }
476
- if (v.extension_sha256 === null) {
477
- throw new ApiError("catalog.no_extension", `Plugin ${item.name} ${version} has no extension; there is nothing to install on the deployment`);
478
- }
479
- return this.d.ops.install(item.name, v.extension_sha256, actor, opts.actorTokenId, {
480
- catalogItemId: itemId,
481
- });
482
- }
483
- async view(itemId) {
484
- return (await this.get(itemId)).item;
485
- }
486
- }
487
- /**
488
- * Checks a connector template against the loaded connector `c` (problem paths start with `at`): the
489
- * endpoint matches its `endpointSchema` and carries no credential-like headers / query / URL user
490
- * info (the same rule as connector installs); every `editableEndpoint` path exists in the endpoint
491
- * schema.
492
- */
493
- export function templateProblems(c, t, at) {
494
- const problems = [];
495
- const r = c.endpointSchema.safeParse(t.endpoint);
496
- if (!r.success) {
497
- for (const i of r.error.issues) {
498
- problems.push(`${[`${at}.endpoint`, ...i.path.map(String)].join(".")}: ${i.message}`);
499
- }
500
- }
501
- else {
502
- for (const leak of endpointCredentialIssues(r.data)) {
503
- problems.push(`${at}.${leak.path}: ${leak.message}`);
504
- }
516
+ if (install === undefined || install.desired_state !== "enabled")
517
+ return;
518
+ if (item.package_name !== null && install.package_name !== item.package_name)
519
+ return;
520
+ throw new ApiError("catalog.extension_enabled", `The extension "${item.name}" of this plugin is enabled on the deployment; disable it on the Extensions page first, then delete the plugin`, [{ extension: item.name, displayName: item.display_name ?? null }]);
505
521
  }
506
- for (const p of t.editableEndpoint ?? []) {
507
- if (!schemaHasPath(c.endpointSchema, p.split("."))) {
508
- problems.push(`${at}.editableEndpoint "${p}" is not a field of the ${t.connector} connector's endpoint`);
509
- }
510
- }
511
- return problems;
512
- }
513
- /** Writes the files to `deployment/<prefix><path>` ({@link PUT_CONCURRENCY} at a time). */
514
- export async function putCatalogFiles(storage, prefix, files) {
515
- const store = storage.deployment();
516
- const queue = [...files];
517
- await Promise.all(Array.from({ length: Math.min(PUT_CONCURRENCY, queue.length) }, async () => {
518
- for (let f = queue.shift(); f; f = queue.shift()) {
519
- await store.put(`${prefix}${f.path}`, f.data, {
520
- contentType: "application/octet-stream",
521
- size: f.size,
522
- });
523
- }
524
- }));
525
- }
526
- /** Compares the marketplace's permission summary with the computed keys ({@link PermissionsMismatch}). */
527
- export function permissionsMismatch(declared, actual) {
528
- if (declared === undefined || actual === undefined)
529
- return null;
530
- const want = new Set(declared);
531
- const have = new Set(actual);
532
- const missing = [...have].filter((k) => !want.has(k)).sort();
533
- const extra = [...want].filter((k) => !have.has(k)).sort();
534
- return missing.length > 0 || extra.length > 0 ? { missing, extra } : null;
535
- }
536
- /** Takes the transaction-level advisory lock of an item name (concurrent imports of it serialize). */
537
- export async function lockCatalogName(trx, name) {
538
- await sql `SELECT pg_advisory_xact_lock(hashtext(${`capybara.directory-item:${name}`}))`.execute(trx);
539
- }
540
- /**
541
- * The live item of a name, with the source identity of its latest version
542
- * ({@link sourceIdentity}; null when there is none).
543
- */
544
- async function liveItem(db, name) {
545
- const item = await db
546
- .selectFrom("catalog_items")
547
- .select(["id", "package_name", "latest_version", "marketplace_id"])
548
- .where("name", "=", name)
549
- .where("deleted_at", "is", null)
550
- .executeTakeFirst();
551
- if (!item)
552
- return undefined;
553
- const latest = await db
554
- .selectFrom("catalog_item_versions")
555
- .select("source_detail")
556
- .where("item_id", "=", item.id)
557
- .where("version", "=", item.latest_version)
558
- .executeTakeFirst();
559
- return {
560
- ...item,
561
- source: sourceIdentity(latest?.source_detail ?? undefined, item.marketplace_id ?? undefined),
562
- };
563
- }
564
- /**
565
- * The identity of a git source, `<host>/<repo>:<path>` (host lower case, no `.git`), or null when
566
- * the source is not git. An item without package.json is identified by it instead of a package name.
567
- */
568
- export function gitIdentity(detail) {
569
- if (detail === undefined || !("commit" in detail))
570
- return null;
571
- return gitLocationIdentity(detail);
572
- }
573
- /**
574
- * What identifies the source of a plugin without package.json: `git <host>/<repo>:<path>`, or, for
575
- * a marketplace archive (a skills-only tgz without plugin.json), `marketplace <id>` (the
576
- * marketplace vouches for its entries; archive URLs change from version to version). null for
577
- * anything else.
578
- */
579
- function sourceIdentity(detail, marketplaceId) {
580
- const git = gitIdentity(detail);
581
- if (git !== null)
582
- return `git ${git}`;
583
- if (detail !== undefined && "url" in detail && marketplaceId !== undefined) {
584
- return `marketplace ${marketplaceId}`;
585
- }
586
- return null;
587
- }
588
- /** The versions of an item, with what tells their content apart. */
589
- async function itemVersions(db, itemId) {
590
- return db
591
- .selectFrom("catalog_item_versions")
592
- .select(["version", "content_digest", "integrity"])
593
- .where("item_id", "=", itemId)
594
- .execute();
595
- }
596
- /** `atConfirm`: found under the lock at confirm (another import committed after the review). */
597
- const versionExists = (version, sameContent, atConfirm = false) => new ApiError("catalog.version_exists", (sameContent
598
- ? `Version ${version} of this catalog item is already imported with the same content`
599
- : `Version ${version} of this catalog item has already been imported`) +
600
- (atConfirm
601
- ? " (by another import since this one was prepared); prepare the import again"
602
- : ""));
603
- /**
604
- * No version of the release of `p.version` (equal but for build metadata) holds the same content
605
- * (digest; for a version without one, the same integrity), else `catalog.version_exists`.
606
- */
607
- function assertNewContent(existing, p, atConfirm = false) {
608
- const same = existing.find((v) => sameRelease(v.version, p.version) &&
609
- (v.content_digest !== null
610
- ? v.content_digest === p.contentDigest
611
- : v.integrity !== null && v.integrity === p.integrity));
612
- if (same)
613
- throw versionExists(same.version, true, atConfirm);
614
- }
615
- /**
616
- * The version a new import records (Decision 6, spec §5.3): the plugin's own version, unless that
617
- * release is already imported. A version of the same release (equal but for build metadata) with
618
- * the same content (digest; for versions without one, the same integrity) -> `catalog.version_exists`
619
- * "already imported"; other content -> `<version>+git.<sha12>` (git) or `+sha256.<12>` (any other
620
- * source, the digest's first 12 hex), never overwriting the imported version. A git commit already
621
- * recorded with other content (a Claude Code plugin whose marketplace entry changed while its own
622
- * commit did not, see `claudeContentDigest`) falls back to `+sha256.<12>`.
623
- */
624
- export function recordedVersion(existing, p) {
625
- assertNewContent(existing, p);
626
- if (!existing.some((v) => v.version === p.version))
627
- return p.version;
628
- const d = p.detail;
629
- const byDigest = withBuild(p.version, `sha256.${p.contentDigest.slice(0, 12)}`);
630
- let next = d !== undefined && "commit" in d
631
- ? withBuild(p.version, `git.${d.commit.slice(0, 12)}`)
632
- : byDigest;
633
- if (existing.some((v) => v.version === next))
634
- next = byDigest;
635
- if (existing.some((v) => v.version === next))
636
- throw versionExists(next, false);
637
- return next;
638
- }
639
- /**
640
- * Conflict precheck before writing (no lock; {@link writeCatalogVersion}'s re-check inside the
641
- * transaction is final): an item with the same name from another npm package (or, without one,
642
- * another git source) -> `catalog.name_conflict`; the release already imported with the same
643
- * content -> `catalog.version_exists`. Returns the existing item (undefined when there is none) and
644
- * the version to record ({@link recordedVersion}).
645
- */
646
- export async function precheckCatalogImport(db, name, p) {
647
- const existing = await liveItem(db, name);
648
- if (!existing)
649
- return { existing, version: p.version };
650
- assertSameSource(existing, p.packageName, sourceIdentity(p.detail, p.marketplaceId));
651
- return { existing, version: recordedVersion(await itemVersions(db, existing.id), p) };
652
- }
653
- /**
654
- * Writes a catalog version in the caller's transaction (the caller has re-checked the enterprise
655
- * admin): takes the name's advisory lock, checks conflicts again (the same source; no version of
656
- * the release with the same content; `version` not taken meanwhile), creates the item when there is
657
- * none or adds the version (latest and display fields change only for a newer version, a version
658
- * equal but for build metadata being newer as the later import), and writes the version row (with
659
- * its content digest) and the `catalog.imported` audit. Returns the item id.
660
- */
661
- export async function writeCatalogVersion(trx, w) {
662
- const { name, version, listing } = w;
663
- await lockCatalogName(trx, name);
664
- const live = await liveItem(trx, name);
665
- let id;
666
- if (live) {
667
- id = live.id;
668
- assertSameSource(live, w.packageName, sourceIdentity(w.source.detail, w.marketplaceId));
669
- const existing = await itemVersions(trx, id);
670
- // the same content under any version of the release, then the recorded version itself
671
- assertNewContent(existing, {
672
- version,
673
- contentDigest: w.contentDigest,
674
- ...(w.source.integrity !== undefined && { integrity: w.source.integrity }),
675
- }, true);
676
- if (existing.some((v) => v.version === version))
677
- throw versionExists(version, false, true);
678
- const newer = compareVersions(version, live.latest_version) >= 0;
679
- await trx
522
+ /**
523
+ * The soft delete of {@link remove} in the caller's transaction, without its super admin check
524
+ * (pre-flight F14: the super admin's remove and an owner's delete or an org deletion,
525
+ * `OwnedItems.transferOrRemove`, share it): `deleted_at` set, a pending version cleared, the
526
+ * extension name claim of a first upload still waiting released (ruling P3-37, F10), its themes
527
+ * soft-deleted (refused with 409 `theme.platform_default` while one is the platform default),
528
+ * pending requests cancelled, audit `catalog.removed` (`actor` null: the kernel). Returns the
529
+ * removed item's name, or null when it is gone already.
530
+ */
531
+ async removeIn(actor, itemId, opts = {}) {
532
+ const t = this.db;
533
+ const now = sql `now()`;
534
+ // Its themes go with it: refused while one is the platform default (themes spec §7), before
535
+ // anything is written
536
+ // (the theme rows FOR UPDATE first: the theme lock order is item, theme row, `uiTheme`)
537
+ const themes = await t
538
+ .selectFrom("platform_themes")
539
+ .select("id")
540
+ .where("catalog_item_id", "=", itemId)
541
+ .where("deleted_at", "is", null)
542
+ .forUpdate()
543
+ .execute();
544
+ await assertNotPlatformDefault(t, themes.map((r) => r.id), () => "gone");
545
+ const row = await t
680
546
  .updateTable("catalog_items")
681
547
  .set({
682
- updated_at: sql `now()`,
683
- ...(w.marketplaceId !== undefined && { marketplace_id: w.marketplaceId }),
684
- ...(newer && {
685
- latest_version: version,
686
- publisher: listing.publisher,
687
- description: listing.description,
688
- display_name: listing.displayName ? JSON.stringify(listing.displayName) : null,
689
- }),
690
- })
691
- .where("id", "=", id)
692
- .execute();
693
- }
694
- else {
695
- id = w.newItemId;
696
- await trx
697
- .insertInto("catalog_items")
698
- .values({
699
- id,
700
- name,
701
- package_name: w.packageName,
702
- publisher: listing.publisher,
703
- description: listing.description,
704
- display_name: listing.displayName ? JSON.stringify(listing.displayName) : null,
705
- latest_version: version,
706
- created_by: w.actor,
707
- marketplace_id: w.marketplaceId ?? null,
548
+ deleted_at: now,
549
+ updated_at: now,
550
+ pending_version: null,
551
+ pending_by: null,
552
+ pending_at: null,
708
553
  })
554
+ .where("id", "=", itemId)
555
+ .where("deleted_at", "is", null)
556
+ .returning(["name", "awaiting_confirmation", "package_name", "owner_org_id"])
557
+ .executeTakeFirst();
558
+ if (!row)
559
+ return null;
560
+ // An org upload still waiting: free the name when nothing is installed under its claim
561
+ // (ruling P3-37, pre-flight F10). Under the install lock, so an install a running confirmation
562
+ // is committing is seen: that claim stays for its take-out or the cleanup job
563
+ if (row.awaiting_confirmation && row.package_name !== null) {
564
+ await this.installLock.lock(row.name);
565
+ await releaseExtensionClaim(t, row.name, row.package_name);
566
+ }
567
+ // Its themes go with it (themes spec §6): nothing refers to a theme row (a theme picked by an
568
+ // org or a person is an id that falls back once no live theme has it)
569
+ await t
570
+ .updateTable("platform_themes")
571
+ .set({ deleted_at: now, updated_at: now })
572
+ .where("catalog_item_id", "=", itemId)
573
+ .where("deleted_at", "is", null)
709
574
  .execute();
710
- }
711
- await trx
712
- .insertInto("catalog_item_versions")
713
- .values({
714
- item_id: id,
715
- version,
716
- manifest: JSON.stringify(w.manifest),
717
- source: w.source.source,
718
- source_ref: w.source.ref,
719
- integrity: w.source.integrity ?? null,
720
- source_detail: w.source.detail !== undefined ? JSON.stringify(w.source.detail) : null,
721
- content_digest: w.contentDigest,
722
- object_prefix: w.objectPrefix,
723
- extension_sha256: w.extensionSha256,
724
- files: JSON.stringify(w.files.map(({ path, size, sha256 }) => ({ path, size, sha256 }))),
725
- size: w.size,
726
- imported_by: w.actor,
727
- source_format: w.sourceFormat ?? "capybara",
728
- translation: w.translation != null ? JSON.stringify(w.translation) : null,
729
- license_text: w.licenseText ?? null,
730
- license_truncated: w.licenseTruncated === true,
731
- })
732
- .execute();
733
- await audit(trx, {
734
- ...(w.actor !== null && { actorAccountId: w.actor }),
735
- ...(w.actorTokenId !== undefined && { actorTokenId: w.actorTokenId }),
736
- action: "catalog.imported",
737
- target: id,
738
- detail: {
739
- name,
740
- version,
741
- source: w.source.source,
742
- sourceRef: w.source.ref,
743
- contentDigest: w.contentDigest,
744
- ...(w.extensionSha256 !== null && { sha256: w.extensionSha256 }),
745
- ...(w.source.integrity !== undefined && { integrity: w.source.integrity }),
746
- ...(w.marketplaceId !== undefined && { marketplaceId: w.marketplaceId }),
747
- ...w.auditDetail,
748
- },
749
- });
750
- return id;
751
- }
752
- /**
753
- * An extension name belongs to the npm package that first installed it (`extension_name_owners`,
754
- * Ruling P3): when another package owns it, the import is refused right away with
755
- * `extension.name_conflict` (the same code as at install), instead of failing only at deploy time.
756
- */
757
- export async function assertPluginNameOwner(db, name, packageName) {
758
- const owner = await db
759
- .selectFrom("extension_name_owners")
760
- .select("package_name")
761
- .where("name", "=", name)
762
- .executeTakeFirst();
763
- if (owner && owner.package_name !== packageName) {
764
- throw new ApiError("extension.name_conflict", `Extension name ${name} belongs to package ${owner.package_name}; ${packageLabel(packageName)} cannot use it`);
765
- }
766
- }
767
- /** "package <name>", or what a plugin without package.json is called in messages. */
768
- const packageLabel = (p) => p === null ? "a plugin without package.json" : `package ${p}`;
769
- /**
770
- * Whether a plugin may add a version to an existing item: the same npm package, or, for an item
771
- * without package.json, the same source ({@link sourceIdentity}: git host, repo and path, so
772
- * unrelated repos that resolve to the same name never merge; or the same marketplace for an
773
- * archive); never a mix of the two.
774
- */
775
- function assertSameSource(item, packageName, source) {
776
- const from = (p, src) => p !== null ? `package ${p}` : (src ?? "a plugin without package.json");
777
- const same = item.package_name !== null
778
- ? item.package_name === packageName
779
- : packageName === null && item.source !== null && item.source === source;
780
- if (!same) {
781
- throw new ApiError("catalog.name_conflict", `A catalog item with this name comes from ${from(item.package_name, item.source)}; ${from(packageName, source)} cannot add versions to it`);
782
- }
783
- }
784
- /**
785
- * For each marketplace-imported item, its marketplace (when enabled): the highest compatible
786
- * version listed, and whether a compatible entry's content changed at an imported version.
787
- */
788
- async function marketplaceLatest(db, config, items, versions) {
789
- const out = new Map();
790
- const sourced = items.filter((i) => typeof i.marketplace_id === "string");
791
- if (sourced.length === 0)
792
- return out;
793
- const rows = await db
794
- .selectFrom("marketplace_entries as e")
795
- .innerJoin("marketplaces as s", "s.id", "e.source_id")
796
- .select([
797
- "e.source_id",
798
- "e.name",
799
- "e.version",
800
- "e.entry",
801
- "e.head_commit",
802
- "e.tree_oid",
803
- "s.builtin",
804
- "s.enabled",
805
- "s.url",
806
- "s.last_commit",
807
- ])
808
- .where("e.source_id", "in", [...new Set(sourced.map((i) => i.marketplace_id))])
809
- .where("e.name", "in", [...new Set(sourced.map((i) => i.name))])
810
- .execute();
811
- for (const i of sourced) {
812
- const listed = rows.filter((r) => r.source_id === i.marketplace_id &&
813
- r.name === i.name &&
814
- sourceEffective(r, config) &&
815
- entryCompatible(r.entry));
816
- const [best] = listed
817
- .filter((r) => r.version !== "")
818
- .map((r) => r.version)
819
- .sort(newestFirst);
820
- const recorded = versions.get(i.id) ?? [];
821
- out.set(i.id, {
822
- latest: best ?? null,
823
- contentChanged: listed.some((r) => entryContentChanged(r.entry, {
824
- marketplaceId: r.source_id,
825
- headCommit: r.head_commit,
826
- treeOid: r.tree_oid,
827
- url: r.url,
828
- lastCommit: r.last_commit,
829
- }, recorded)),
575
+ // Pending requests for a deleted item are pointless: cancel them in the same transaction
576
+ await cancelPendingRequests(t, { itemId }, actor, "item_removed", opts);
577
+ await audit(t, {
578
+ actorAccountId: actor,
579
+ ...(opts.actorTokenId !== undefined && { actorTokenId: opts.actorTokenId }),
580
+ // an org-owned item's removal shows in its owner org's audit log too
581
+ ...(row.owner_org_id !== null && { orgId: row.owner_org_id }),
582
+ action: "catalog.removed",
583
+ target: itemId,
584
+ detail: {
585
+ name: row.name,
586
+ ...(row.owner_org_id !== null && { ownerOrgId: row.owner_org_id }),
587
+ ...(opts.reason !== undefined && { reason: opts.reason }),
588
+ ...opts.auditDetail,
589
+ },
830
590
  });
591
+ return { name: row.name };
831
592
  }
832
- return out;
833
- }
834
- /** Org install counts per item (see {@link CatalogItemView.installs}). */
835
- async function countInstalls(db, items, versions) {
836
- const orgs = new Map(items.map((i) => [i.id, new Set()]));
837
- const installed = await db
838
- .selectFrom("plugin_installs")
839
- .select(["item_id", "org_id"])
840
- .where("item_id", "in", items.map((i) => i.id))
841
- .where("status", "in", ["installed", "upgrading"])
842
- .execute();
843
- for (const r of installed)
844
- orgs.get(r.item_id)?.add(r.org_id);
845
- const withExtension = items.filter((i) => (versions.get(i.id) ?? []).find((v) => v.version === i.latest_version)?.extension_sha256 !=
846
- null);
847
- if (withExtension.length > 0) {
848
- const enabled = await db
849
- .selectFrom(enabledExtensionsByOrg(db).as("en"))
850
- .select(["en.plugin", "en.org_id"])
851
- .where("en.plugin", "in", withExtension.map((p) => p.name))
852
- .execute();
853
- for (const i of withExtension) {
854
- for (const r of enabled)
855
- if (r.plugin === i.name)
856
- orgs.get(i.id)?.add(r.org_id);
857
- }
858
- }
859
- return new Map([...orgs].map(([id, set]) => [id, set.size]));
860
- }
861
- export function itemView(i, versions, installs = 0, marketplace = { latest: null, contentChanged: false }) {
862
- const sorted = [...versions].sort((a, b) => newestFirst({ version: a.version, importedAt: a.imported_at ?? null }, { version: b.version, importedAt: b.imported_at ?? null }));
863
- const top = sorted[0]?.version ?? i.latest_version;
864
- const latestMarketplaceVersion = marketplace.latest;
865
- return {
866
- id: i.id,
867
- name: i.name,
868
- publisher: i.publisher,
869
- displayName: i.display_name,
870
- description: i.description,
871
- policy: i.policy,
872
- latestVersion: i.latest_version,
873
- versions: sorted.map((v) => v.version),
874
- installs,
875
- source: versions.find((v) => v.version === i.latest_version)?.source ?? "file",
876
- marketplaceId: i.marketplace_id ?? null,
877
- latestMarketplaceVersion,
878
- newerInMarketplace: latestMarketplaceVersion !== null && compareVersions(latestMarketplaceVersion, top) > 0,
879
- contentChanged: marketplace.contentChanged,
880
- updatedAt: i.updated_at.toISOString(),
881
- };
882
- }
593
+ };
594
+ __decorate([
595
+ Transactional()
596
+ ], CatalogService.prototype, "writeRemove", null);
597
+ __decorate([
598
+ Transactional({ propagation: "mandatory" })
599
+ ], CatalogService.prototype, "removeIn", null);
600
+ CatalogService = __decorate([
601
+ Injectable(),
602
+ __param(0, Inject(KernelDb)),
603
+ __param(1, Inject(SuperAdminLock)),
604
+ __param(2, Inject(KernelConfigService)),
605
+ __param(3, Inject(ExtensionInstalls)),
606
+ __param(4, Inject(ExtensionAdmin)),
607
+ __param(5, Inject(PluginImport)),
608
+ __param(6, Inject(MarketplacesService)),
609
+ __param(7, Inject(PluginInstallLock)),
610
+ __param(8, Inject(TransactionHost))
611
+ ], CatalogService);
612
+ export { CatalogService };