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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1039) hide show
  1. package/bootstrap.json +94 -5
  2. package/dist/admin/admin-agents.controller.d.ts +28 -0
  3. package/dist/admin/admin-agents.controller.js +79 -0
  4. package/dist/admin/admin-connectors.controller.d.ts +29 -0
  5. package/dist/admin/admin-connectors.controller.js +79 -0
  6. package/dist/admin/admin-items.schemas.d.ts +42 -0
  7. package/dist/admin/admin-items.schemas.js +48 -0
  8. package/dist/admin/admin.controller.d.ts +52 -80
  9. package/dist/admin/admin.controller.js +112 -81
  10. package/dist/admin/admin.module.d.ts +4 -1
  11. package/dist/admin/admin.module.js +50 -4
  12. package/dist/admin/admin.schemas.d.ts +69 -0
  13. package/dist/admin/admin.schemas.js +53 -0
  14. package/dist/admin/audit.controller.d.ts +14 -0
  15. package/dist/admin/audit.controller.js +42 -0
  16. package/dist/admin/audit.schemas.d.ts +8 -0
  17. package/dist/admin/audit.schemas.js +17 -0
  18. package/dist/admin/extensions.controller.d.ts +34 -3
  19. package/dist/admin/extensions.controller.js +66 -8
  20. package/dist/admin/extensions.schemas.d.ts +7 -0
  21. package/dist/admin/extensions.schemas.js +10 -0
  22. package/dist/admin/health.service.d.ts +104 -0
  23. package/dist/admin/health.service.js +246 -0
  24. package/dist/admin/limit-defaults.d.ts +20 -0
  25. package/dist/admin/limit-defaults.js +10 -0
  26. package/dist/admin/overview.controller.d.ts +31 -0
  27. package/dist/admin/overview.controller.js +78 -0
  28. package/dist/admin/overview.schemas.d.ts +8 -0
  29. package/dist/admin/overview.schemas.js +13 -0
  30. package/dist/admin/overview.service.d.ts +112 -0
  31. package/dist/admin/overview.service.js +223 -0
  32. package/dist/admin/platform-audit.service.d.ts +41 -0
  33. package/dist/admin/platform-audit.service.js +70 -0
  34. package/dist/admin/setup-lock.d.ts +1 -1
  35. package/dist/admin/setup-lock.js +1 -1
  36. package/dist/admin/setup.controller.d.ts +1 -1
  37. package/dist/admin/setup.controller.js +1 -1
  38. package/dist/admin/setup.service.d.ts +4 -4
  39. package/dist/admin/setup.service.js +8 -8
  40. package/dist/admin/usage.service.d.ts +149 -0
  41. package/dist/admin/usage.service.js +321 -0
  42. package/dist/agents/admin-agents.d.ts +92 -0
  43. package/dist/agents/admin-agents.js +170 -0
  44. package/dist/agents/agent-lookup.d.ts +24 -0
  45. package/dist/agents/agent-lookup.js +46 -2
  46. package/dist/agents/agent-profile.service.d.ts +31 -0
  47. package/dist/agents/agent-profile.service.js +122 -0
  48. package/dist/agents/agents.controller.d.ts +53 -168
  49. package/dist/agents/agents.controller.js +163 -34
  50. package/dist/agents/agents.module.d.ts +6 -2
  51. package/dist/agents/agents.module.js +41 -7
  52. package/dist/agents/agents.schemas.d.ts +392 -0
  53. package/dist/agents/agents.schemas.js +126 -0
  54. package/dist/agents/agents.service.d.ts +121 -36
  55. package/dist/agents/agents.service.js +411 -121
  56. package/dist/agents/definition.d.ts +142 -21
  57. package/dist/agents/definition.js +389 -43
  58. package/dist/agents/from-template.d.ts +106 -0
  59. package/dist/agents/from-template.js +680 -0
  60. package/dist/agents/from-template.service.d.ts +72 -0
  61. package/dist/agents/from-template.service.js +178 -0
  62. package/dist/agents/instruction-files.d.ts +60 -0
  63. package/dist/agents/instruction-files.js +111 -0
  64. package/dist/agents/models.controller.d.ts +44 -6
  65. package/dist/agents/models.controller.js +84 -8
  66. package/dist/agents/org-templates.d.ts +186 -0
  67. package/dist/agents/org-templates.js +876 -0
  68. package/dist/agents/pending-connector-requests.d.ts +79 -0
  69. package/dist/agents/pending-connector-requests.js +215 -0
  70. package/dist/agents/pending-connectors.controller.d.ts +39 -0
  71. package/dist/agents/pending-connectors.controller.js +91 -0
  72. package/dist/agents/pending-connectors.service.d.ts +62 -0
  73. package/dist/agents/pending-connectors.service.js +282 -0
  74. package/dist/agents/profile.d.ts +114 -0
  75. package/dist/agents/profile.js +55 -0
  76. package/dist/agents/readiness.controller.d.ts +26 -0
  77. package/dist/agents/readiness.controller.js +56 -0
  78. package/dist/agents/templates.controller.d.ts +77 -5
  79. package/dist/agents/templates.controller.js +153 -7
  80. package/dist/agents/templates.d.ts +127 -23
  81. package/dist/agents/templates.js +482 -44
  82. package/dist/agents/templates.schemas.d.ts +20 -0
  83. package/dist/agents/templates.schemas.js +45 -0
  84. package/dist/background/background.controller.d.ts +38 -0
  85. package/dist/background/background.controller.js +88 -0
  86. package/dist/background/background.module.d.ts +10 -0
  87. package/dist/background/background.module.js +39 -0
  88. package/dist/background/background.schemas.d.ts +10 -0
  89. package/dist/background/background.schemas.js +16 -0
  90. package/dist/background/finish.d.ts +44 -0
  91. package/dist/background/finish.js +95 -0
  92. package/dist/background/launch-lock.d.ts +15 -0
  93. package/dist/background/launch-lock.js +40 -0
  94. package/dist/background/launch.d.ts +42 -0
  95. package/dist/background/launch.js +77 -0
  96. package/dist/background/poll.job.d.ts +56 -0
  97. package/dist/background/poll.job.js +195 -0
  98. package/dist/background/render.d.ts +23 -0
  99. package/dist/background/render.js +48 -0
  100. package/dist/background/session.d.ts +48 -0
  101. package/dist/background/session.js +80 -0
  102. package/dist/background/status.d.ts +35 -0
  103. package/dist/background/status.js +57 -0
  104. package/dist/background/stop.d.ts +68 -0
  105. package/dist/background/stop.js +244 -0
  106. package/dist/background/store.d.ts +167 -0
  107. package/dist/background/store.js +361 -0
  108. package/dist/background/store.module.d.ts +6 -0
  109. package/dist/background/store.module.js +22 -0
  110. package/dist/background/tasks.service.d.ts +109 -0
  111. package/dist/background/tasks.service.js +271 -0
  112. package/dist/background/wake-rules.d.ts +66 -0
  113. package/dist/background/wake-rules.js +113 -0
  114. package/dist/background/wake.d.ts +30 -0
  115. package/dist/background/wake.js +63 -0
  116. package/dist/catalog/admin-catalog.controller.d.ts +136 -52
  117. package/dist/catalog/admin-catalog.controller.js +275 -65
  118. package/dist/catalog/admin-catalog.schemas.d.ts +82 -0
  119. package/dist/catalog/admin-catalog.schemas.js +99 -0
  120. package/dist/catalog/appearance.schemas.d.ts +10 -0
  121. package/dist/catalog/appearance.schemas.js +20 -0
  122. package/dist/catalog/appearance.service.d.ts +105 -0
  123. package/dist/catalog/appearance.service.js +306 -0
  124. package/dist/catalog/catalog-content.d.ts +122 -35
  125. package/dist/catalog/catalog-content.js +122 -14
  126. package/dist/catalog/catalog-files.d.ts +42 -0
  127. package/dist/catalog/catalog-files.js +89 -0
  128. package/dist/catalog/catalog-import.module.d.ts +7 -0
  129. package/dist/catalog/catalog-import.module.js +63 -0
  130. package/dist/catalog/catalog-items.d.ts +122 -7
  131. package/dist/catalog/catalog-items.js +301 -13
  132. package/dist/catalog/catalog-scope.service.d.ts +293 -0
  133. package/dist/catalog/catalog-scope.service.js +1236 -0
  134. package/dist/catalog/catalog.module.d.ts +7 -9
  135. package/dist/catalog/catalog.module.js +47 -31
  136. package/dist/catalog/catalog.service.d.ts +122 -31
  137. package/dist/catalog/catalog.service.js +177 -105
  138. package/dist/catalog/claude/agents.js +15 -10
  139. package/dist/catalog/claude/translate.js +3 -0
  140. package/dist/catalog/cli.d.ts +11 -1
  141. package/dist/catalog/cli.js +29 -1
  142. package/dist/catalog/component-promotion.d.ts +96 -0
  143. package/dist/catalog/component-promotion.js +395 -0
  144. package/dist/catalog/component-scope.controller.d.ts +102 -0
  145. package/dist/catalog/component-scope.controller.js +257 -0
  146. package/dist/catalog/component-scope.schemas.d.ts +118 -0
  147. package/dist/catalog/component-scope.schemas.js +97 -0
  148. package/dist/catalog/component-scope.service.d.ts +394 -0
  149. package/dist/catalog/component-scope.service.js +1133 -0
  150. package/dist/catalog/component-state.d.ts +207 -0
  151. package/dist/catalog/component-state.js +484 -0
  152. package/dist/catalog/git-source.d.ts +9 -1
  153. package/dist/catalog/git-source.js +29 -2
  154. package/dist/catalog/job-ids.d.ts +30 -0
  155. package/dist/catalog/job-ids.js +25 -0
  156. package/dist/catalog/marketplace-fetch.d.ts +1 -1
  157. package/dist/catalog/marketplace-icons.d.ts +64 -0
  158. package/dist/catalog/marketplace-icons.js +131 -0
  159. package/dist/catalog/marketplaces.controller.d.ts +50 -41
  160. package/dist/catalog/marketplaces.controller.js +130 -46
  161. package/dist/catalog/marketplaces.schemas.d.ts +48 -0
  162. package/dist/catalog/marketplaces.schemas.js +53 -0
  163. package/dist/catalog/marketplaces.service.d.ts +110 -17
  164. package/dist/catalog/marketplaces.service.js +337 -29
  165. package/dist/catalog/org-catalog.controller.d.ts +114 -62
  166. package/dist/catalog/org-catalog.controller.js +191 -98
  167. package/dist/catalog/org-catalog.schemas.d.ts +104 -0
  168. package/dist/catalog/org-catalog.schemas.js +107 -0
  169. package/dist/catalog/org-catalog.service.d.ts +72 -33
  170. package/dist/catalog/org-catalog.service.js +367 -158
  171. package/dist/catalog/org-extension-switch.d.ts +41 -0
  172. package/dist/catalog/org-extension-switch.js +115 -0
  173. package/dist/catalog/org-extension.controller.d.ts +133 -0
  174. package/dist/catalog/org-extension.controller.js +313 -0
  175. package/dist/catalog/org-extension.schemas.d.ts +15 -0
  176. package/dist/catalog/org-extension.schemas.js +22 -0
  177. package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
  178. package/dist/catalog/org-plugin-uploads.controller.js +200 -0
  179. package/dist/catalog/org-plugin-uploads.d.ts +71 -0
  180. package/dist/catalog/org-plugin-uploads.js +122 -0
  181. package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
  182. package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
  183. package/dist/catalog/owned-items.d.ts +188 -0
  184. package/dist/catalog/owned-items.js +808 -0
  185. package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
  186. package/dist/catalog/owned-plugin-cleanup.js +194 -0
  187. package/dist/catalog/ownership.d.ts +172 -0
  188. package/dist/catalog/ownership.js +326 -0
  189. package/dist/catalog/platform-components.d.ts +243 -0
  190. package/dist/catalog/platform-components.js +872 -0
  191. package/dist/catalog/platform-migration.d.ts +115 -0
  192. package/dist/catalog/platform-migration.js +583 -0
  193. package/dist/catalog/plugin-import.d.ts +254 -47
  194. package/dist/catalog/plugin-import.js +810 -112
  195. package/dist/catalog/plugin-install.d.ts +205 -42
  196. package/dist/catalog/plugin-install.js +828 -126
  197. package/dist/catalog/plugin-package.d.ts +43 -4
  198. package/dist/catalog/plugin-package.js +194 -7
  199. package/dist/catalog/plugin-upgrade.d.ts +308 -225
  200. package/dist/catalog/plugin-upgrade.js +1325 -1131
  201. package/dist/catalog/request-rules.d.ts +65 -0
  202. package/dist/catalog/request-rules.js +217 -0
  203. package/dist/catalog/requests.service.d.ts +194 -118
  204. package/dist/catalog/requests.service.js +530 -343
  205. package/dist/catalog/reserved-names.d.ts +8 -0
  206. package/dist/catalog/reserved-names.js +42 -0
  207. package/dist/catalog/scope-orgs.d.ts +21 -0
  208. package/dist/catalog/scope-orgs.js +67 -0
  209. package/dist/catalog/scope-state.d.ts +35 -0
  210. package/dist/catalog/scope-state.js +87 -0
  211. package/dist/catalog/scope-sync-workers.d.ts +7 -0
  212. package/dist/catalog/scope-sync-workers.js +29 -0
  213. package/dist/catalog/scope-sync.d.ts +176 -0
  214. package/dist/catalog/scope-sync.js +576 -0
  215. package/dist/catalog/scope.d.ts +42 -0
  216. package/dist/catalog/scope.js +42 -0
  217. package/dist/catalog/unshare.d.ts +22 -0
  218. package/dist/catalog/unshare.js +119 -0
  219. package/dist/channels/actions.js +10 -3
  220. package/dist/channels/cards.d.ts +36 -10
  221. package/dist/channels/cards.js +100 -25
  222. package/dist/channels/channels.module.js +13 -2
  223. package/dist/channels/channels.schemas.d.ts +41 -0
  224. package/dist/channels/channels.schemas.js +40 -0
  225. package/dist/channels/connections.controller.d.ts +46 -37
  226. package/dist/channels/connections.controller.js +76 -34
  227. package/dist/channels/connections.service.d.ts +102 -10
  228. package/dist/channels/connections.service.js +271 -24
  229. package/dist/channels/inbound.d.ts +11 -1
  230. package/dist/channels/inbound.js +87 -7
  231. package/dist/channels/outbound.d.ts +14 -1
  232. package/dist/channels/outbound.js +64 -15
  233. package/dist/channels/phrases.d.ts +33 -2
  234. package/dist/channels/phrases.js +29 -1
  235. package/dist/channels/supervisor.d.ts +2 -0
  236. package/dist/channels/supervisor.js +4 -0
  237. package/dist/channels/threads.d.ts +5 -0
  238. package/dist/channels/threads.js +8 -0
  239. package/dist/channels/webhook.d.ts +21 -1
  240. package/dist/channels/webhook.js +39 -4
  241. package/dist/client/client-access.service.d.ts +102 -0
  242. package/dist/client/client-access.service.js +303 -0
  243. package/dist/client/client-builds.service.d.ts +109 -0
  244. package/dist/client/client-builds.service.js +229 -0
  245. package/dist/client/client-delivery.controller.d.ts +25 -0
  246. package/dist/client/client-delivery.controller.js +66 -0
  247. package/dist/client/client-files.d.ts +48 -0
  248. package/dist/client/client-files.js +136 -0
  249. package/dist/client/client-reports.cron.d.ts +13 -0
  250. package/dist/client/client-reports.cron.js +42 -0
  251. package/dist/client/client-reports.service.d.ts +30 -0
  252. package/dist/client/client-reports.service.js +102 -0
  253. package/dist/client/client-sign-in.service.d.ts +21 -0
  254. package/dist/client/client-sign-in.service.js +49 -0
  255. package/dist/client/client.controller.d.ts +49 -0
  256. package/dist/client/client.controller.js +129 -0
  257. package/dist/client/client.module.d.ts +8 -0
  258. package/dist/client/client.module.js +28 -0
  259. package/dist/client/client.schemas.d.ts +61 -0
  260. package/dist/client/client.schemas.js +27 -0
  261. package/dist/config/docs.js +5 -1
  262. package/dist/config/schema.d.ts +35 -2
  263. package/dist/config/schema.js +216 -21
  264. package/dist/conversations/access.d.ts +6 -4
  265. package/dist/conversations/access.js +29 -5
  266. package/dist/conversations/agent-tree.d.ts +46 -0
  267. package/dist/conversations/agent-tree.js +92 -0
  268. package/dist/conversations/artifacts.d.ts +1 -1
  269. package/dist/conversations/artifacts.js +1 -1
  270. package/dist/conversations/attachments.service.d.ts +30 -0
  271. package/dist/conversations/attachments.service.js +130 -5
  272. package/dist/conversations/conversations.controller.d.ts +79 -44
  273. package/dist/conversations/conversations.controller.js +133 -82
  274. package/dist/conversations/conversations.module.d.ts +1 -1
  275. package/dist/conversations/conversations.module.js +10 -7
  276. package/dist/conversations/conversations.schemas.d.ts +52 -0
  277. package/dist/conversations/conversations.schemas.js +79 -0
  278. package/dist/conversations/conversations.service.d.ts +161 -13
  279. package/dist/conversations/conversations.service.js +329 -57
  280. package/dist/conversations/device-status.d.ts +24 -0
  281. package/dist/conversations/device-status.js +71 -0
  282. package/dist/conversations/event-log.d.ts +45 -9
  283. package/dist/conversations/event-log.js +113 -6
  284. package/dist/conversations/events.d.ts +255 -9
  285. package/dist/conversations/events.js +250 -34
  286. package/dist/conversations/message-context.d.ts +79 -0
  287. package/dist/conversations/message-context.js +145 -0
  288. package/dist/conversations/queue.d.ts +5 -2
  289. package/dist/conversations/queue.js +24 -4
  290. package/dist/conversations/queue.service.d.ts +2 -2
  291. package/dist/conversations/queue.service.js +21 -3
  292. package/dist/conversations/titles.d.ts +12 -3
  293. package/dist/conversations/titles.js +40 -16
  294. package/dist/conversations/tree.d.ts +17 -0
  295. package/dist/conversations/tree.js +42 -0
  296. package/dist/ctx/create-ctx.d.ts +48 -5
  297. package/dist/ctx/create-ctx.js +174 -34
  298. package/dist/db/kernel-schema.d.ts +668 -27
  299. package/dist/db/pool.d.ts +5 -0
  300. package/dist/db/pool.js +3 -0
  301. package/dist/devices/access.d.ts +66 -0
  302. package/dist/devices/access.js +113 -0
  303. package/dist/devices/conversation-devices.d.ts +75 -0
  304. package/dist/devices/conversation-devices.js +230 -0
  305. package/dist/devices/devices.controller.d.ts +36 -0
  306. package/dist/devices/devices.controller.js +124 -0
  307. package/dist/devices/devices.module.d.ts +8 -0
  308. package/dist/devices/devices.module.js +34 -0
  309. package/dist/devices/devices.schemas.d.ts +3 -0
  310. package/dist/devices/devices.schemas.js +14 -0
  311. package/dist/devices/devices.service.d.ts +251 -0
  312. package/dist/devices/devices.service.js +791 -0
  313. package/dist/devices/dto.d.ts +25 -0
  314. package/dist/devices/dto.js +12 -0
  315. package/dist/devices/label.d.ts +11 -0
  316. package/dist/devices/label.js +25 -0
  317. package/dist/devices/legacy-cleanup.job.d.ts +34 -0
  318. package/dist/devices/legacy-cleanup.job.js +141 -0
  319. package/dist/errors.d.ts +215 -3
  320. package/dist/errors.js +215 -3
  321. package/dist/evals/evals.module.js +11 -2
  322. package/dist/evals/evals.schemas.d.ts +110 -0
  323. package/dist/evals/evals.schemas.js +107 -0
  324. package/dist/evals/reconstruct.d.ts +18 -9
  325. package/dist/evals/reconstruct.js +36 -10
  326. package/dist/evals/recorded-tools.d.ts +37 -1
  327. package/dist/evals/recorded-tools.js +120 -10
  328. package/dist/evals/run-replay.d.ts +20 -3
  329. package/dist/evals/run-replay.js +78 -14
  330. package/dist/evals/runs.controller.d.ts +2 -57
  331. package/dist/evals/runs.controller.js +1 -42
  332. package/dist/evals/runs.service.d.ts +8 -7
  333. package/dist/evals/runs.service.js +45 -30
  334. package/dist/evals/sets.controller.d.ts +2 -28
  335. package/dist/evals/sets.controller.js +1 -31
  336. package/dist/evals/sets.service.d.ts +7 -7
  337. package/dist/evals/sets.service.js +23 -17
  338. package/dist/evals/snapshot.d.ts +3 -2
  339. package/dist/evals/snapshot.js +17 -4
  340. package/dist/evals/step-replay.d.ts +4 -6
  341. package/dist/evals/step-replay.js +16 -9
  342. package/dist/evals/trajectory.d.ts +5 -3
  343. package/dist/evals/trajectory.js +4 -1
  344. package/dist/evals/trajectory.service.d.ts +8 -3
  345. package/dist/evals/trajectory.service.js +26 -14
  346. package/dist/evals/worker.d.ts +5 -5
  347. package/dist/evals/worker.js +9 -3
  348. package/dist/extensions/admin-ops.d.ts +81 -14
  349. package/dist/extensions/admin-ops.js +181 -47
  350. package/dist/extensions/admin-view.d.ts +57 -10
  351. package/dist/extensions/admin-view.js +249 -27
  352. package/dist/extensions/approvals.d.ts +12 -2
  353. package/dist/extensions/blobs.d.ts +14 -1
  354. package/dist/extensions/blobs.js +49 -5
  355. package/dist/extensions/bootstrap.d.ts +85 -10
  356. package/dist/extensions/bootstrap.js +215 -36
  357. package/dist/extensions/cli.d.ts +12 -0
  358. package/dist/extensions/cli.js +11 -2
  359. package/dist/extensions/config-hash.d.ts +10 -0
  360. package/dist/extensions/config-hash.js +38 -0
  361. package/dist/extensions/config-issues.d.ts +13 -1
  362. package/dist/extensions/config-issues.js +22 -5
  363. package/dist/extensions/config-json-schema.d.ts +43 -7
  364. package/dist/extensions/config-json-schema.js +124 -58
  365. package/dist/extensions/deployment-config-store.d.ts +6 -0
  366. package/dist/extensions/deployment-config.d.ts +94 -9
  367. package/dist/extensions/deployment-config.js +255 -34
  368. package/dist/extensions/display-name.d.ts +22 -0
  369. package/dist/extensions/display-name.js +77 -0
  370. package/dist/extensions/effective-config.d.ts +133 -0
  371. package/dist/extensions/effective-config.js +379 -0
  372. package/dist/extensions/extensions.module.js +31 -12
  373. package/dist/extensions/guide-places.d.ts +68 -0
  374. package/dist/extensions/guide-places.js +152 -0
  375. package/dist/extensions/hooks.d.ts +37 -4
  376. package/dist/extensions/hooks.js +82 -16
  377. package/dist/extensions/host.d.ts +105 -12
  378. package/dist/extensions/host.js +372 -87
  379. package/dist/extensions/installs.d.ts +30 -9
  380. package/dist/extensions/installs.js +57 -16
  381. package/dist/extensions/instance.d.ts +17 -2
  382. package/dist/extensions/instance.js +21 -0
  383. package/dist/extensions/ledger.d.ts +1 -1
  384. package/dist/extensions/locks.d.ts +12 -0
  385. package/dist/extensions/locks.js +26 -0
  386. package/dist/extensions/org-config.d.ts +97 -7
  387. package/dist/extensions/org-config.js +215 -45
  388. package/dist/extensions/org-levels.d.ts +37 -0
  389. package/dist/extensions/org-levels.js +71 -0
  390. package/dist/extensions/org-overrides.d.ts +151 -0
  391. package/dist/extensions/org-overrides.js +524 -0
  392. package/dist/extensions/package.d.ts +18 -4
  393. package/dist/extensions/package.js +56 -3
  394. package/dist/extensions/permission-set.d.ts +35 -5
  395. package/dist/extensions/permission-set.js +36 -5
  396. package/dist/extensions/permission-view.d.ts +106 -13
  397. package/dist/extensions/permission-view.js +33 -15
  398. package/dist/extensions/plugin-guides.d.ts +282 -0
  399. package/dist/extensions/plugin-guides.js +554 -0
  400. package/dist/extensions/plugin-icons.d.ts +54 -0
  401. package/dist/extensions/plugin-icons.js +125 -0
  402. package/dist/extensions/plugin-items.d.ts +21 -0
  403. package/dist/extensions/plugin-items.js +42 -0
  404. package/dist/extensions/point-defaults.controller.d.ts +28 -0
  405. package/dist/extensions/point-defaults.controller.js +69 -0
  406. package/dist/extensions/point-defaults.d.ts +73 -0
  407. package/dist/extensions/point-defaults.js +236 -0
  408. package/dist/extensions/point-defaults.schemas.d.ts +9 -0
  409. package/dist/extensions/point-defaults.schemas.js +14 -0
  410. package/dist/extensions/registry.d.ts +1 -1
  411. package/dist/extensions/registry.js +2 -0
  412. package/dist/extensions/resolve.d.ts +51 -1
  413. package/dist/extensions/resolve.js +85 -3
  414. package/dist/extensions/single-provider.d.ts +92 -0
  415. package/dist/extensions/single-provider.js +180 -0
  416. package/dist/extensions/sources.d.ts +13 -2
  417. package/dist/extensions/sources.js +2 -0
  418. package/dist/extensions/state.module.d.ts +9 -0
  419. package/dist/extensions/state.module.js +46 -0
  420. package/dist/extensions/unavailable.d.ts +50 -0
  421. package/dist/extensions/unavailable.js +115 -0
  422. package/dist/files/previewers.controller.js +2 -3
  423. package/dist/files/previewers.d.ts +10 -3
  424. package/dist/files/previewers.js +40 -11
  425. package/dist/files/previewers.schemas.d.ts +10 -0
  426. package/dist/files/previewers.schemas.js +9 -0
  427. package/dist/http/api.module.js +76 -4
  428. package/dist/http/app.d.ts +11 -2
  429. package/dist/http/app.js +31 -5
  430. package/dist/http/gateway-routes.d.ts +7 -3
  431. package/dist/http/gateway-routes.js +6 -3
  432. package/dist/http/nest-logger.d.ts +6 -5
  433. package/dist/http/nest-logger.js +24 -10
  434. package/dist/http/plugin-dispatch.d.ts +4 -1
  435. package/dist/http/plugin-dispatch.js +14 -2
  436. package/dist/identity/accounts.d.ts +77 -31
  437. package/dist/identity/accounts.js +133 -52
  438. package/dist/identity/audit.d.ts +2 -1
  439. package/dist/identity/auth.controller.js +9 -5
  440. package/dist/identity/auth.guard.d.ts +13 -5
  441. package/dist/identity/auth.guard.js +35 -9
  442. package/dist/identity/cookies.d.ts +26 -5
  443. package/dist/identity/cookies.js +58 -6
  444. package/dist/identity/identity.module.d.ts +1 -1
  445. package/dist/identity/identity.module.js +7 -4
  446. package/dist/identity/initial-passwords.controller.d.ts +22 -0
  447. package/dist/identity/initial-passwords.controller.js +49 -0
  448. package/dist/identity/initial-passwords.d.ts +61 -0
  449. package/dist/identity/initial-passwords.job.d.ts +16 -0
  450. package/dist/identity/initial-passwords.job.js +46 -0
  451. package/dist/identity/initial-passwords.js +159 -0
  452. package/dist/identity/me.controller.d.ts +17 -1
  453. package/dist/identity/me.controller.js +45 -4
  454. package/dist/identity/me.schemas.d.ts +24 -0
  455. package/dist/identity/me.schemas.js +25 -0
  456. package/dist/identity/principal.d.ts +11 -3
  457. package/dist/identity/principal.js +11 -3
  458. package/dist/identity/sessions.d.ts +12 -0
  459. package/dist/identity/sessions.js +45 -0
  460. package/dist/identity/settings.d.ts +99 -12
  461. package/dist/identity/settings.js +234 -25
  462. package/dist/identity/{enterprise-admin.d.ts → super-admin.d.ts} +5 -5
  463. package/dist/identity/{enterprise-admin.js → super-admin.js} +24 -24
  464. package/dist/identity/write-actor.d.ts +11 -0
  465. package/dist/identity/write-actor.js +7 -0
  466. package/dist/inbox/inbox.module.d.ts +4 -1
  467. package/dist/inbox/inbox.module.js +7 -3
  468. package/dist/inbox/inbox.schemas.d.ts +8 -0
  469. package/dist/inbox/inbox.schemas.js +11 -0
  470. package/dist/inbox/inbox.service.d.ts +64 -4
  471. package/dist/inbox/inbox.service.js +74 -4
  472. package/dist/inbox/org-notices.d.ts +63 -0
  473. package/dist/inbox/org-notices.js +91 -0
  474. package/dist/inbox/platform-inbox.controller.d.ts +23 -0
  475. package/dist/inbox/platform-inbox.controller.js +58 -0
  476. package/dist/inbox/platform-inbox.service.d.ts +157 -0
  477. package/dist/inbox/platform-inbox.service.js +281 -0
  478. package/dist/inbox/platform-notices.d.ts +19 -0
  479. package/dist/inbox/platform-notices.js +9 -0
  480. package/dist/index.d.ts +6 -2
  481. package/dist/index.js +7 -1
  482. package/dist/infra/cli/kernel-cli.module.js +9 -1
  483. package/dist/infra/config/kernel-config.service.js +32 -1
  484. package/dist/infra/database/database.module.js +1 -0
  485. package/dist/infra/database/xact-lock.d.ts +1 -1
  486. package/dist/infra/database/xact-lock.js +1 -1
  487. package/dist/infra/events/kernel-events.d.ts +31 -3
  488. package/dist/infra/lifecycle/process-guards.js +4 -0
  489. package/dist/infra/lock/lock.service.d.ts +8 -0
  490. package/dist/infra/lock/lock.service.js +27 -0
  491. package/dist/infra/logging/logging.module.d.ts +4 -2
  492. package/dist/infra/logging/logging.module.js +24 -6
  493. package/dist/infra/presence/presence.module.d.ts +6 -0
  494. package/dist/infra/presence/presence.module.js +22 -0
  495. package/dist/infra/presence/replica-presence.d.ts +87 -0
  496. package/dist/infra/presence/replica-presence.js +189 -0
  497. package/dist/infra/queue/add-job-once.d.ts +14 -0
  498. package/dist/infra/queue/add-job-once.js +16 -0
  499. package/dist/infra/queue/redis-connection.d.ts +6 -0
  500. package/dist/infra/queue/redis-connection.js +7 -0
  501. package/dist/infra/redis/redis.module.js +6 -2
  502. package/dist/infra/throttler/named-throttlers.d.ts +12 -0
  503. package/dist/infra/throttler/named-throttlers.js +67 -0
  504. package/dist/infra/throttler/throttler.guard.js +1 -1
  505. package/dist/infra/tokens.d.ts +6 -1
  506. package/dist/infra/tokens.js +6 -1
  507. package/dist/kernel.module.js +15 -0
  508. package/dist/lifecycle/kernel-lifecycle.d.ts +9 -3
  509. package/dist/lifecycle/kernel-lifecycle.js +51 -11
  510. package/dist/local-devices/device-auth.controller.d.ts +42 -0
  511. package/dist/local-devices/device-auth.controller.js +116 -0
  512. package/dist/local-devices/device-auth.d.ts +119 -0
  513. package/dist/local-devices/device-auth.js +401 -0
  514. package/dist/local-devices/device-auth.module.d.ts +7 -0
  515. package/dist/local-devices/device-auth.module.js +25 -0
  516. package/dist/local-devices/device-routes.d.ts +36 -0
  517. package/dist/local-devices/device-routes.js +90 -0
  518. package/dist/local-devices/dto.d.ts +66 -0
  519. package/dist/local-devices/dto.js +44 -0
  520. package/dist/local-devices/keys.d.ts +25 -0
  521. package/dist/local-devices/keys.js +25 -0
  522. package/dist/local-devices/local-device-gateway.d.ts +134 -0
  523. package/dist/local-devices/local-device-gateway.js +542 -0
  524. package/dist/local-devices/local-device-provider.d.ts +89 -0
  525. package/dist/local-devices/local-device-provider.js +151 -0
  526. package/dist/local-devices/local-devices.module.d.ts +16 -0
  527. package/dist/local-devices/local-devices.module.js +44 -0
  528. package/dist/local-devices/machines.d.ts +118 -0
  529. package/dist/local-devices/machines.js +366 -0
  530. package/dist/local-devices/relay.d.ts +100 -0
  531. package/dist/local-devices/relay.js +373 -0
  532. package/dist/local-devices/targets.d.ts +28 -0
  533. package/dist/local-devices/targets.js +73 -0
  534. package/dist/log.d.ts +13 -1
  535. package/dist/log.js +93 -17
  536. package/dist/models/embeddings.d.ts +82 -0
  537. package/dist/models/embeddings.js +326 -0
  538. package/dist/models/enablement.controller.d.ts +40 -0
  539. package/dist/models/enablement.controller.js +74 -0
  540. package/dist/models/enablement.d.ts +101 -0
  541. package/dist/models/enablement.js +264 -0
  542. package/dist/models/models.module.d.ts +5 -1
  543. package/dist/models/models.module.js +16 -4
  544. package/dist/models/org-models.schemas.d.ts +8 -0
  545. package/dist/models/org-models.schemas.js +22 -0
  546. package/dist/models/prices.d.ts +8 -6
  547. package/dist/models/prices.js +11 -9
  548. package/dist/models/purposes.controller.d.ts +6 -4
  549. package/dist/models/purposes.controller.js +13 -7
  550. package/dist/models/purposes.d.ts +72 -14
  551. package/dist/models/purposes.js +115 -34
  552. package/dist/orgs/directory-sync.d.ts +14 -5
  553. package/dist/orgs/directory-sync.js +41 -17
  554. package/dist/orgs/offboarding.d.ts +12 -8
  555. package/dist/orgs/offboarding.js +54 -33
  556. package/dist/orgs/org-lock.d.ts +5 -0
  557. package/dist/orgs/org-lock.js +13 -0
  558. package/dist/orgs/org.guard.d.ts +10 -0
  559. package/dist/orgs/org.guard.js +43 -32
  560. package/dist/orgs/orgs.controller.d.ts +2 -5
  561. package/dist/orgs/orgs.controller.js +3 -6
  562. package/dist/orgs/orgs.module.js +3 -0
  563. package/dist/orgs/orgs.schemas.d.ts +8 -0
  564. package/dist/orgs/orgs.schemas.js +16 -0
  565. package/dist/orgs/orgs.service.d.ts +23 -8
  566. package/dist/orgs/orgs.service.js +38 -16
  567. package/dist/orgs/roles.d.ts +1 -1
  568. package/dist/orgs/roles.js +5 -1
  569. package/dist/orgs/settings.controller.d.ts +1 -1
  570. package/dist/orgs/settings.service.d.ts +66 -6
  571. package/dist/orgs/settings.service.js +89 -10
  572. package/dist/overrides.d.ts +16 -1
  573. package/dist/overrides.js +10 -0
  574. package/dist/platform/actor.d.ts +48 -0
  575. package/dist/platform/actor.js +100 -0
  576. package/dist/platform/agent-docs.d.ts +18 -0
  577. package/dist/platform/agent-docs.js +59 -0
  578. package/dist/platform/availability.d.ts +14 -0
  579. package/dist/platform/availability.js +43 -0
  580. package/dist/platform/errors.d.ts +28 -0
  581. package/dist/platform/errors.js +65 -0
  582. package/dist/platform/exclusions.d.ts +11 -0
  583. package/dist/platform/exclusions.js +774 -0
  584. package/dist/platform/method.d.ts +6 -0
  585. package/dist/platform/method.js +15 -0
  586. package/dist/platform/operation.d.ts +169 -0
  587. package/dist/platform/operation.js +102 -0
  588. package/dist/platform/ops/accounts.ops.d.ts +32 -0
  589. package/dist/platform/ops/accounts.ops.js +291 -0
  590. package/dist/platform/ops/admin-items.ops.d.ts +37 -0
  591. package/dist/platform/ops/admin-items.ops.js +278 -0
  592. package/dist/platform/ops/admin.ops.d.ts +38 -0
  593. package/dist/platform/ops/admin.ops.js +497 -0
  594. package/dist/platform/ops/agent-skills.ops.d.ts +50 -0
  595. package/dist/platform/ops/agent-skills.ops.js +509 -0
  596. package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
  597. package/dist/platform/ops/agent-templates.ops.js +272 -0
  598. package/dist/platform/ops/agents.ops.d.ts +37 -0
  599. package/dist/platform/ops/agents.ops.js +730 -0
  600. package/dist/platform/ops/approvals.ops.d.ts +30 -0
  601. package/dist/platform/ops/approvals.ops.js +116 -0
  602. package/dist/platform/ops/background.ops.d.ts +14 -0
  603. package/dist/platform/ops/background.ops.js +134 -0
  604. package/dist/platform/ops/catalog-admin.ops.d.ts +92 -0
  605. package/dist/platform/ops/catalog-admin.ops.js +682 -0
  606. package/dist/platform/ops/channels.ops.d.ts +16 -0
  607. package/dist/platform/ops/channels.ops.js +195 -0
  608. package/dist/platform/ops/components.ops.d.ts +46 -0
  609. package/dist/platform/ops/components.ops.js +854 -0
  610. package/dist/platform/ops/connectors.ops.d.ts +17 -0
  611. package/dist/platform/ops/connectors.ops.js +190 -0
  612. package/dist/platform/ops/conversations.ops.d.ts +30 -0
  613. package/dist/platform/ops/conversations.ops.js +470 -0
  614. package/dist/platform/ops/devices.ops.d.ts +26 -0
  615. package/dist/platform/ops/devices.ops.js +311 -0
  616. package/dist/platform/ops/errors.d.ts +16 -0
  617. package/dist/platform/ops/errors.js +30 -0
  618. package/dist/platform/ops/evals.ops.d.ts +28 -0
  619. package/dist/platform/ops/evals.ops.js +783 -0
  620. package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
  621. package/dist/platform/ops/extensions-admin.ops.js +372 -0
  622. package/dist/platform/ops/extensions.ops.d.ts +25 -0
  623. package/dist/platform/ops/extensions.ops.js +347 -0
  624. package/dist/platform/ops/inbox.ops.d.ts +25 -0
  625. package/dist/platform/ops/inbox.ops.js +381 -0
  626. package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
  627. package/dist/platform/ops/marketplaces.ops.js +466 -0
  628. package/dist/platform/ops/models.ops.d.ts +25 -0
  629. package/dist/platform/ops/models.ops.js +232 -0
  630. package/dist/platform/ops/org-plugins.ops.d.ts +35 -0
  631. package/dist/platform/ops/org-plugins.ops.js +388 -0
  632. package/dist/platform/ops/org-settings.ops.d.ts +18 -0
  633. package/dist/platform/ops/org-settings.ops.js +127 -0
  634. package/dist/platform/ops/orgs.ops.d.ts +28 -0
  635. package/dist/platform/ops/orgs.ops.js +298 -0
  636. package/dist/platform/ops/other-orgs.d.ts +20 -0
  637. package/dist/platform/ops/other-orgs.js +72 -0
  638. package/dist/platform/ops/paging.d.ts +14 -0
  639. package/dist/platform/ops/paging.js +20 -0
  640. package/dist/platform/ops/platform.ops.d.ts +30 -0
  641. package/dist/platform/ops/platform.ops.js +231 -0
  642. package/dist/platform/ops/plugins.ops.d.ts +35 -0
  643. package/dist/platform/ops/plugins.ops.js +476 -0
  644. package/dist/platform/ops/previewers.ops.d.ts +14 -0
  645. package/dist/platform/ops/previewers.ops.js +109 -0
  646. package/dist/platform/ops/requests.ops.d.ts +14 -0
  647. package/dist/platform/ops/requests.ops.js +191 -0
  648. package/dist/platform/ops/role.d.ts +4 -0
  649. package/dist/platform/ops/role.js +10 -0
  650. package/dist/platform/ops/setup.ops.d.ts +24 -0
  651. package/dist/platform/ops/setup.ops.js +212 -0
  652. package/dist/platform/ops/skills.ops.d.ts +17 -0
  653. package/dist/platform/ops/skills.ops.js +160 -0
  654. package/dist/platform/ops/summary.d.ts +10 -0
  655. package/dist/platform/ops/summary.js +18 -0
  656. package/dist/platform/ops/themes.ops.d.ts +14 -0
  657. package/dist/platform/ops/themes.ops.js +47 -0
  658. package/dist/platform/ops/ui.ops.d.ts +8 -0
  659. package/dist/platform/ops/ui.ops.js +41 -0
  660. package/dist/platform/ops/unavailable.d.ts +23 -0
  661. package/dist/platform/ops/unavailable.js +118 -0
  662. package/dist/platform/parity.d.ts +33 -0
  663. package/dist/platform/parity.js +272 -0
  664. package/dist/platform/platform-ops.module.d.ts +43 -0
  665. package/dist/platform/platform-ops.module.js +142 -0
  666. package/dist/platform/platform.module.d.ts +8 -0
  667. package/dist/platform/platform.module.js +25 -0
  668. package/dist/platform/registry.d.ts +30 -0
  669. package/dist/platform/registry.js +111 -0
  670. package/dist/platform/route-schemas.d.ts +18 -0
  671. package/dist/platform/route-schemas.js +85 -0
  672. package/dist/roles/gateway-role.d.ts +18 -3
  673. package/dist/roles/gateway-role.js +33 -5
  674. package/dist/roles/gateway.module.d.ts +2 -1
  675. package/dist/roles/gateway.module.js +6 -3
  676. package/dist/roles/worker-role.d.ts +6 -4
  677. package/dist/roles/worker-role.js +14 -7
  678. package/dist/roles/worker.module.d.ts +1 -1
  679. package/dist/roles/worker.module.js +21 -1
  680. package/dist/runtime/context/build.d.ts +21 -13
  681. package/dist/runtime/context/build.js +106 -29
  682. package/dist/runtime/context/claude-tools.d.ts +4 -1
  683. package/dist/runtime/context/claude-tools.js +13 -12
  684. package/dist/runtime/context/compaction.js +24 -1
  685. package/dist/runtime/context/device-paths.d.ts +40 -0
  686. package/dist/runtime/context/device-paths.js +48 -0
  687. package/dist/runtime/context/legacy-text.d.ts +22 -0
  688. package/dist/runtime/context/legacy-text.js +37 -0
  689. package/dist/runtime/context/reminders.d.ts +2 -0
  690. package/dist/runtime/context/reminders.js +2 -0
  691. package/dist/runtime/context/run-context.d.ts +65 -0
  692. package/dist/runtime/context/run-context.js +215 -0
  693. package/dist/runtime/context/skills.d.ts +29 -11
  694. package/dist/runtime/context/skills.js +46 -32
  695. package/dist/runtime/context/tool-changes.d.ts +27 -0
  696. package/dist/runtime/context/tool-changes.js +60 -0
  697. package/dist/runtime/hook-calls.d.ts +8 -1
  698. package/dist/runtime/hook-calls.js +40 -7
  699. package/dist/runtime/langgraph-loop.d.ts +3 -1
  700. package/dist/runtime/langgraph-loop.js +36 -17
  701. package/dist/runtime/loop.d.ts +35 -6
  702. package/dist/runtime/maintenance.d.ts +9 -4
  703. package/dist/runtime/maintenance.js +35 -8
  704. package/dist/runtime/model-call.d.ts +54 -11
  705. package/dist/runtime/model-call.js +105 -28
  706. package/dist/runtime/providers.d.ts +149 -29
  707. package/dist/runtime/providers.js +332 -63
  708. package/dist/runtime/run-context.service.d.ts +65 -0
  709. package/dist/runtime/run-context.service.js +236 -0
  710. package/dist/runtime/run-control.d.ts +11 -1
  711. package/dist/runtime/run-control.js +12 -0
  712. package/dist/runtime/run-drafts.d.ts +85 -0
  713. package/dist/runtime/run-drafts.js +230 -0
  714. package/dist/runtime/run-finish.d.ts +1 -1
  715. package/dist/runtime/run-jobs.d.ts +3 -5
  716. package/dist/runtime/run-jobs.js +7 -9
  717. package/dist/runtime/run-queue.d.ts +62 -5
  718. package/dist/runtime/run-queue.js +313 -40
  719. package/dist/runtime/run-worker.d.ts +19 -8
  720. package/dist/runtime/run-worker.js +105 -44
  721. package/dist/runtime/runtime.module.js +13 -3
  722. package/dist/runtime/step-log.d.ts +15 -4
  723. package/dist/runtime/step-log.js +24 -7
  724. package/dist/runtime/stream.controller.d.ts +23 -1
  725. package/dist/runtime/stream.controller.js +60 -3
  726. package/dist/runtime/stream.d.ts +4 -1
  727. package/dist/runtime/stream.js +27 -3
  728. package/dist/runtime/subagents/child.d.ts +55 -7
  729. package/dist/runtime/subagents/child.js +105 -7
  730. package/dist/runtime/subagents/definition.d.ts +31 -26
  731. package/dist/runtime/subagents/definition.js +89 -142
  732. package/dist/runtime/subagents/deliveries.d.ts +71 -0
  733. package/dist/runtime/subagents/deliveries.js +228 -0
  734. package/dist/runtime/subagents/dispatch.d.ts +116 -27
  735. package/dist/runtime/subagents/dispatch.js +213 -142
  736. package/dist/runtime/subagents/limits.d.ts +24 -5
  737. package/dist/runtime/subagents/limits.js +40 -6
  738. package/dist/runtime/subagents/messages.d.ts +95 -0
  739. package/dist/runtime/subagents/messages.js +328 -0
  740. package/dist/runtime/subagents/org-agents.js +2 -1
  741. package/dist/runtime/subagents/preamble.d.ts +4 -4
  742. package/dist/runtime/subagents/preamble.js +9 -7
  743. package/dist/runtime/subagents/progress.d.ts +8 -6
  744. package/dist/runtime/subagents/progress.js +11 -6
  745. package/dist/runtime/subagents/render.d.ts +30 -0
  746. package/dist/runtime/subagents/render.js +53 -0
  747. package/dist/runtime/subagents/roster.d.ts +25 -8
  748. package/dist/runtime/subagents/roster.js +48 -12
  749. package/dist/runtime/subagents/skill-fork.d.ts +4 -3
  750. package/dist/runtime/subagents/skill-fork.js +9 -5
  751. package/dist/runtime/subagents/status.d.ts +14 -0
  752. package/dist/runtime/subagents/status.js +23 -0
  753. package/dist/runtime/subagents/subagents.service.d.ts +9 -6
  754. package/dist/runtime/subagents/subagents.service.js +13 -8
  755. package/dist/runtime/usage-report-jobs.d.ts +88 -0
  756. package/dist/runtime/usage-report-jobs.js +158 -0
  757. package/dist/runtime/usage-report.d.ts +35 -39
  758. package/dist/runtime/usage-report.js +171 -97
  759. package/dist/runtime/waits.d.ts +148 -39
  760. package/dist/runtime/waits.js +426 -112
  761. package/dist/sandbox/jobs.d.ts +40 -13
  762. package/dist/sandbox/jobs.js +57 -20
  763. package/dist/sandbox/leases.d.ts +37 -54
  764. package/dist/sandbox/leases.js +71 -115
  765. package/dist/sandbox/providers.d.ts +34 -7
  766. package/dist/sandbox/providers.js +54 -9
  767. package/dist/sandbox/sandbox-file-reader.d.ts +35 -0
  768. package/dist/sandbox/sandbox-file-reader.js +98 -0
  769. package/dist/sandbox/sandbox.module.d.ts +3 -2
  770. package/dist/sandbox/sandbox.module.js +10 -4
  771. package/dist/sandbox/sandbox.service.d.ts +345 -132
  772. package/dist/sandbox/sandbox.service.js +883 -399
  773. package/dist/sandbox/unreachable.d.ts +30 -0
  774. package/dist/sandbox/unreachable.js +108 -0
  775. package/dist/setup/kernel-checks.d.ts +91 -0
  776. package/dist/setup/kernel-checks.js +295 -0
  777. package/dist/setup/oauth-token-probe.d.ts +47 -0
  778. package/dist/setup/oauth-token-probe.js +108 -0
  779. package/dist/setup/redact-check.d.ts +18 -0
  780. package/dist/setup/redact-check.js +46 -0
  781. package/dist/setup/setup-check-registry.d.ts +86 -0
  782. package/dist/setup/setup-check-registry.js +75 -0
  783. package/dist/setup/setup-checks.controller.d.ts +28 -0
  784. package/dist/setup/setup-checks.controller.js +78 -0
  785. package/dist/setup/setup-checks.schemas.d.ts +38 -0
  786. package/dist/setup/setup-checks.schemas.js +43 -0
  787. package/dist/setup/setup-checks.service.d.ts +144 -0
  788. package/dist/setup/setup-checks.service.js +683 -0
  789. package/dist/setup/setup-guides.controller.d.ts +18 -0
  790. package/dist/setup/setup-guides.controller.js +48 -0
  791. package/dist/setup/setup-guides.schemas.d.ts +10 -0
  792. package/dist/setup/setup-guides.schemas.js +6 -0
  793. package/dist/setup/setup-guides.service.d.ts +126 -0
  794. package/dist/setup/setup-guides.service.js +315 -0
  795. package/dist/setup/setup.module.d.ts +8 -0
  796. package/dist/setup/setup.module.js +31 -0
  797. package/dist/skills/agent-skills.controller.d.ts +48 -0
  798. package/dist/skills/agent-skills.controller.js +131 -0
  799. package/dist/skills/agent-skills.service.d.ts +262 -0
  800. package/dist/skills/agent-skills.service.js +996 -0
  801. package/dist/skills/catalog.d.ts +14 -11
  802. package/dist/skills/catalog.js +32 -50
  803. package/dist/skills/changes.controller.d.ts +12 -22
  804. package/dist/skills/changes.controller.js +27 -56
  805. package/dist/skills/changes.service.d.ts +69 -115
  806. package/dist/skills/changes.service.js +249 -598
  807. package/dist/skills/conversation-catalog.d.ts +53 -0
  808. package/dist/skills/conversation-catalog.js +149 -0
  809. package/dist/skills/invocable.controller.d.ts +1 -1
  810. package/dist/skills/invocable.controller.js +2 -2
  811. package/dist/skills/invocation-keys.d.ts +1 -1
  812. package/dist/skills/invocation-keys.js +1 -1
  813. package/dist/skills/invoke.d.ts +3 -3
  814. package/dist/skills/invoke.js +21 -8
  815. package/dist/skills/package.d.ts +15 -1
  816. package/dist/skills/package.js +14 -1
  817. package/dist/skills/skills.controller.d.ts +32 -6
  818. package/dist/skills/skills.controller.js +64 -11
  819. package/dist/skills/skills.module.js +25 -3
  820. package/dist/skills/skills.schemas.d.ts +44 -0
  821. package/dist/skills/skills.schemas.js +68 -0
  822. package/dist/skills/skills.service.d.ts +123 -26
  823. package/dist/skills/skills.service.js +493 -76
  824. package/dist/skills/usable.d.ts +82 -0
  825. package/dist/skills/usable.js +388 -0
  826. package/dist/themes/render-css.d.ts +13 -0
  827. package/dist/themes/render-css.js +135 -0
  828. package/dist/themes/theme-delivery.service.d.ts +36 -0
  829. package/dist/themes/theme-delivery.service.js +116 -0
  830. package/dist/themes/theme-state.d.ts +116 -0
  831. package/dist/themes/theme-state.js +221 -0
  832. package/dist/themes/theme-usage.d.ts +61 -0
  833. package/dist/themes/theme-usage.js +98 -0
  834. package/dist/themes/themes-public.controller.d.ts +33 -0
  835. package/dist/themes/themes-public.controller.js +98 -0
  836. package/dist/themes/themes.controller.d.ts +13 -0
  837. package/dist/themes/themes.controller.js +38 -0
  838. package/dist/themes/themes.module.d.ts +3 -0
  839. package/dist/themes/themes.module.js +21 -0
  840. package/dist/themes/themes.schemas.d.ts +3 -0
  841. package/dist/themes/themes.schemas.js +2 -0
  842. package/dist/themes/themes.service.d.ts +50 -0
  843. package/dist/themes/themes.service.js +99 -0
  844. package/dist/time-zone.d.ts +5 -0
  845. package/dist/time-zone.js +19 -0
  846. package/dist/tools/admin-connectors.d.ts +69 -0
  847. package/dist/tools/admin-connectors.js +135 -0
  848. package/dist/tools/approvals.controller.js +2 -3
  849. package/dist/tools/approvals.schemas.d.ts +21 -0
  850. package/dist/tools/approvals.schemas.js +15 -0
  851. package/dist/tools/approvals.service.d.ts +26 -2
  852. package/dist/tools/approvals.service.js +44 -5
  853. package/dist/tools/builtin-names.d.ts +104 -0
  854. package/dist/tools/builtin-names.js +164 -0
  855. package/dist/tools/builtins/agent.d.ts +27 -25
  856. package/dist/tools/builtins/agent.js +66 -63
  857. package/dist/tools/builtins/ask-user.d.ts +1 -1
  858. package/dist/tools/builtins/ask-user.js +5 -4
  859. package/dist/tools/builtins/builtin-tools.d.ts +23 -4
  860. package/dist/tools/builtins/builtin-tools.js +78 -12
  861. package/dist/tools/builtins/current-time.d.ts +26 -0
  862. package/dist/tools/builtins/current-time.js +99 -0
  863. package/dist/tools/builtins/handback.d.ts +28 -0
  864. package/dist/tools/builtins/handback.js +53 -0
  865. package/dist/tools/builtins/platform.d.ts +51 -0
  866. package/dist/tools/builtins/platform.js +451 -0
  867. package/dist/tools/builtins/read-tool-output.d.ts +1 -1
  868. package/dist/tools/builtins/read-tool-output.js +2 -2
  869. package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
  870. package/dist/tools/builtins/sandbox/bash.js +291 -39
  871. package/dist/tools/builtins/sandbox/common.d.ts +135 -36
  872. package/dist/tools/builtins/sandbox/common.js +222 -62
  873. package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
  874. package/dist/tools/builtins/sandbox/deliver.js +19 -16
  875. package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
  876. package/dist/tools/builtins/sandbox/edit.js +64 -50
  877. package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
  878. package/dist/tools/builtins/sandbox/file-state.js +34 -0
  879. package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
  880. package/dist/tools/builtins/sandbox/glob-match.js +1 -1
  881. package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
  882. package/dist/tools/builtins/sandbox/glob.js +17 -12
  883. package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
  884. package/dist/tools/builtins/sandbox/grep.js +153 -34
  885. package/dist/tools/builtins/sandbox/index.d.ts +9 -5
  886. package/dist/tools/builtins/sandbox/index.js +13 -5
  887. package/dist/tools/builtins/sandbox/read.d.ts +2 -2
  888. package/dist/tools/builtins/sandbox/read.js +29 -19
  889. package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
  890. package/dist/tools/builtins/sandbox/task-output.js +334 -0
  891. package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
  892. package/dist/tools/builtins/sandbox/task-stop.js +113 -0
  893. package/dist/tools/builtins/sandbox/write.d.ts +1 -1
  894. package/dist/tools/builtins/sandbox/write.js +51 -44
  895. package/dist/tools/builtins/send-message.d.ts +56 -0
  896. package/dist/tools/builtins/send-message.js +100 -0
  897. package/dist/tools/builtins/skill-load.d.ts +29 -18
  898. package/dist/tools/builtins/skill-load.js +125 -73
  899. package/dist/tools/builtins/tool-search.d.ts +13 -9
  900. package/dist/tools/builtins/tool-search.js +25 -14
  901. package/dist/tools/builtins/web/errors.d.ts +8 -0
  902. package/dist/tools/builtins/web/errors.js +53 -0
  903. package/dist/tools/builtins/web/extract.d.ts +62 -0
  904. package/dist/tools/builtins/web/extract.js +271 -0
  905. package/dist/tools/builtins/web/fetch.d.ts +55 -0
  906. package/dist/tools/builtins/web/fetch.js +175 -0
  907. package/dist/tools/builtins/web/index.d.ts +13 -0
  908. package/dist/tools/builtins/web/index.js +12 -0
  909. package/dist/tools/builtins/web/page-cache.d.ts +25 -0
  910. package/dist/tools/builtins/web/page-cache.js +77 -0
  911. package/dist/tools/builtins/web/search.d.ts +25 -0
  912. package/dist/tools/builtins/web/search.js +210 -0
  913. package/dist/tools/builtins/web/url.d.ts +17 -0
  914. package/dist/tools/builtins/web/url.js +43 -0
  915. package/dist/tools/connector-account-policies.d.ts +51 -0
  916. package/dist/tools/connector-account-policies.js +165 -0
  917. package/dist/tools/connectors.controller.d.ts +74 -9
  918. package/dist/tools/connectors.controller.js +133 -16
  919. package/dist/tools/connectors.schemas.d.ts +27 -0
  920. package/dist/tools/connectors.schemas.js +34 -0
  921. package/dist/tools/connectors.service.d.ts +101 -8
  922. package/dist/tools/connectors.service.js +266 -28
  923. package/dist/tools/credentials.d.ts +23 -0
  924. package/dist/tools/credentials.js +90 -1
  925. package/dist/tools/display-names.d.ts +9 -0
  926. package/dist/tools/display-names.js +24 -0
  927. package/dist/tools/drift.js +5 -5
  928. package/dist/tools/elicitation.js +1 -1
  929. package/dist/tools/extension-tools.controller.d.ts +14 -0
  930. package/dist/tools/extension-tools.controller.js +37 -0
  931. package/dist/tools/info.d.ts +61 -4
  932. package/dist/tools/info.js +119 -33
  933. package/dist/tools/legacy-data.d.ts +34 -0
  934. package/dist/tools/legacy-data.js +76 -0
  935. package/dist/tools/legacy-keys.d.ts +51 -0
  936. package/dist/tools/legacy-keys.js +114 -0
  937. package/dist/tools/naming.d.ts +1 -5
  938. package/dist/tools/naming.js +1 -7
  939. package/dist/tools/oauth/flow-paths.d.ts +1 -1
  940. package/dist/tools/oauth/flow-paths.js +1 -1
  941. package/dist/tools/oauth/flow.js +1 -1
  942. package/dist/tools/oauth/tokens.d.ts +54 -7
  943. package/dist/tools/oauth/tokens.js +87 -17
  944. package/dist/tools/org-tool-switches.d.ts +89 -0
  945. package/dist/tools/org-tool-switches.js +201 -0
  946. package/dist/tools/outputs.js +1 -1
  947. package/dist/tools/pipeline.d.ts +67 -47
  948. package/dist/tools/pipeline.js +319 -380
  949. package/dist/tools/policy.d.ts +30 -23
  950. package/dist/tools/policy.js +142 -64
  951. package/dist/tools/questions.controller.d.ts +1 -1
  952. package/dist/tools/questions.controller.js +1 -1
  953. package/dist/tools/questions.service.d.ts +23 -2
  954. package/dist/tools/questions.service.js +104 -2
  955. package/dist/tools/registry.d.ts +189 -68
  956. package/dist/tools/registry.js +318 -236
  957. package/dist/tools/resources.d.ts +1 -1
  958. package/dist/tools/resources.js +1 -1
  959. package/dist/tools/tools.module.js +31 -3
  960. package/dist/tools/validate.js +1 -1
  961. package/dist/ui/admin-ui.controller.d.ts +56 -0
  962. package/dist/ui/admin-ui.controller.js +192 -0
  963. package/dist/ui/arrangement.d.ts +65 -0
  964. package/dist/ui/arrangement.js +171 -0
  965. package/dist/ui/embed-token.d.ts +2 -2
  966. package/dist/ui/embed-token.js +30 -5
  967. package/dist/ui/registry.d.ts +42 -17
  968. package/dist/ui/registry.js +46 -14
  969. package/dist/ui/slots.controller.d.ts +11 -0
  970. package/dist/ui/slots.controller.js +25 -0
  971. package/dist/ui/ui-stream.d.ts +20 -3
  972. package/dist/ui/ui-stream.js +25 -7
  973. package/dist/ui/ui.schemas.d.ts +70 -0
  974. package/dist/ui/ui.schemas.js +65 -0
  975. package/dist/ui/views.controller.d.ts +35 -49
  976. package/dist/ui/views.controller.js +48 -70
  977. package/dist/ui/views.d.ts +112 -18
  978. package/dist/ui/views.js +254 -47
  979. package/package.json +6 -3
  980. package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
  981. package/src/migrations/0064_account_last_org.sql +7 -0
  982. package/src/migrations/0065_conversation_archive.sql +8 -0
  983. package/src/migrations/0066_extension_display_name.sql +4 -0
  984. package/src/migrations/0067_agent_profiles.sql +20 -0
  985. package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
  986. package/src/migrations/0069_attachments_agent_idx.sql +3 -0
  987. package/src/migrations/0070_background_tasks.sql +37 -0
  988. package/src/migrations/0071_background_tasks_reserve.sql +6 -0
  989. package/src/migrations/0072_background_tasks_stopping.sql +5 -0
  990. package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
  991. package/src/migrations/0074_subagent_tree.sql +50 -0
  992. package/src/migrations/0075_plugin_scope.sql +61 -0
  993. package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
  994. package/src/migrations/0077_scope_requests.sql +52 -0
  995. package/src/migrations/0078_scope_grant_switches.sql +18 -0
  996. package/src/migrations/0079_scope_live_install_switches.sql +19 -0
  997. package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
  998. package/src/migrations/0081_platform_components.sql +129 -0
  999. package/src/migrations/0082_platform_migration.sql +33 -0
  1000. package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
  1001. package/src/migrations/0084_org_owned_items.sql +85 -0
  1002. package/src/migrations/0085_agent_templates_phase4.sql +45 -0
  1003. package/src/migrations/0086_org_layering.sql +30 -0
  1004. package/src/migrations/0087_approval_summary.sql +6 -0
  1005. package/src/migrations/0088_environments.sql +80 -0
  1006. package/src/migrations/0089_model_kinds_usage.sql +38 -0
  1007. package/src/migrations/0090_initial_passwords.sql +27 -0
  1008. package/src/migrations/0091_account_time_zone.sql +4 -0
  1009. package/src/migrations/0092_tools_default_on.sql +27 -0
  1010. package/src/migrations/0093_connected_environments.sql +37 -0
  1011. package/src/migrations/0094_environment_paths_idx.sql +7 -0
  1012. package/src/migrations/0095_environment_files_resets.sql +5 -0
  1013. package/src/migrations/0096_environment_demoted_default.sql +18 -0
  1014. package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
  1015. package/src/migrations/0098_single_provider_running_first.sql +41 -0
  1016. package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
  1017. package/src/migrations/0100_catalog_files.sql +13 -0
  1018. package/src/migrations/0101_marketplace_icons.sql +32 -0
  1019. package/src/migrations/0102_themes.sql +64 -0
  1020. package/src/migrations/0103_ui_theme_setting.sql +7 -0
  1021. package/src/migrations/0104_connector_tool_account_policies.sql +16 -0
  1022. package/src/migrations/0105_devices_rename.sql +136 -0
  1023. package/src/migrations/0106_setup_guides_v2.sql +10 -0
  1024. package/src/migrations/0107_extension_client_builds.sql +50 -0
  1025. package/src/migrations/0108_question_skipped.sql +6 -0
  1026. package/src/migrations/0109_audit_platform_idx.sql +5 -0
  1027. package/src/migrations/0110_usage_time_idx.sql +8 -0
  1028. package/src/migrations/0111_agent_skill_sharing.sql +22 -0
  1029. package/src/migrations/0112_skill_share_requests.sql +4 -0
  1030. package/dist/catalog/upgrade-targets.d.ts +0 -56
  1031. package/dist/catalog/upgrade-targets.js +0 -90
  1032. package/dist/conversations/sandbox-status.d.ts +0 -24
  1033. package/dist/conversations/sandbox-status.js +0 -52
  1034. package/dist/extensions/org-config.controller.d.ts +0 -24
  1035. package/dist/extensions/org-config.controller.js +0 -62
  1036. package/dist/tools/builtins/sandbox/names.d.ts +0 -7
  1037. package/dist/tools/builtins/sandbox/names.js +0 -20
  1038. package/dist/tools/builtins/skill-write.d.ts +0 -59
  1039. package/dist/tools/builtins/skill-write.js +0 -244
@@ -0,0 +1,64 @@
1
+ import { type MarketplaceEntry } from "@capybara-hq/plugin-sdk";
2
+ import { type LookupFn, type NetPolicy } from "../net/public-address.js";
3
+ /**
4
+ * Marketplace entry icons (maintainer decision 2026-11-08; plugin component management spec §16):
5
+ * the icon a marketplace entry names for its plugin before it is imported. An entry's `icon` is an
6
+ * https URL or a path in a git marketplace's repository (SDK `MarketplaceEntry.icon`). The refresh
7
+ * reads each one (a URL through `net/safeFetch` under the marketplace network rules and
8
+ * `marketplaces.allowedHosts`, never with the marketplace token; a path from the commit it fetched
9
+ * anyway), keeps those that really are an svg / png of at most 64 KiB in `marketplace_icons`, and
10
+ * the admin market list serves them like plugin icons (`sendCatalogIcon`). A failed or invalid
11
+ * icon is only logged: the entry has no icon and the list shows its initial.
12
+ */
13
+ /** The timeout of one icon download. */
14
+ export declare const MARKETPLACE_ICON_TIMEOUT_MS = 10000;
15
+ /** At most this many icon URLs are downloaded per refresh (the rest wait for the next one). */
16
+ export declare const MARKETPLACE_ICON_FETCHES_MAX = 100;
17
+ /** How long after a failed download an icon URL is tried again (by a later refresh). */
18
+ export declare const MARKETPLACE_ICON_RETRY_MS: number;
19
+ /** Parallel icon downloads of one refresh. */
20
+ export declare const MARKETPLACE_ICON_CONCURRENCY = 4;
21
+ /** The largest icon (the plugin icon limit). */
22
+ export declare const MARKETPLACE_ICON_MAX_BYTES: number;
23
+ /** A stored icon: its content type and sha256 (the address the admin route serves it at). */
24
+ export interface CheckedIcon {
25
+ contentType: "image/svg+xml" | "image/png";
26
+ sha256: string;
27
+ data: Uint8Array;
28
+ }
29
+ /**
30
+ * Whether `data` is an icon the kernel serves, by the extension of `name` (a URL's path or a
31
+ * repository path) and its content, like a plugin icon ({@link iconProblem}): the checked icon, or
32
+ * the problem (English).
33
+ */
34
+ export declare function checkMarketplaceIcon(name: string, data: Uint8Array): CheckedIcon | string;
35
+ /**
36
+ * Downloads one icon URL under the marketplace network rules (https, public addresses or
37
+ * `allowPrivateHosts`, `net.httpsProxy`, no redirects, {@link MARKETPLACE_ICON_TIMEOUT_MS}, at
38
+ * most {@link MARKETPLACE_ICON_MAX_BYTES}) and checks it: the icon, or why it was not kept. Never
39
+ * throws (an abort of `signal` is a problem too).
40
+ */
41
+ export declare function fetchMarketplaceIcon(url: string, o: {
42
+ net: NetPolicy;
43
+ signal: AbortSignal;
44
+ lookup?: LookupFn;
45
+ }): Promise<CheckedIcon | string>;
46
+ /**
47
+ * The repository paths (relative to the root, without `./`) of the icons a git marketplace's
48
+ * manifest names, read leniently (the manifest is validated afterwards); for a single-plugin repo
49
+ * (no manifest) the root `plugin.json`'s icon. At most `max` paths.
50
+ */
51
+ export declare function gitIconPaths(files: Map<string, Uint8Array>, manifestPath: string, maxIndexBytes: number, max: number): string[];
52
+ /**
53
+ * The icons a refresh has to have for `entries` of a marketplace of `form`, as the entries write
54
+ * them (the stored `ref`): repository paths `./…` (git marketplaces only; an http marketplace has
55
+ * no repository) and URLs, each once.
56
+ */
57
+ export declare function wantedIcons(entries: Pick<MarketplaceEntry, "icon">[], form: "http" | "git"): {
58
+ paths: Set<string>;
59
+ urls: Set<string>;
60
+ };
61
+ /** The admin route of a stored icon (content addressed: the URL changes with the bytes). */
62
+ export declare const marketplaceIconUrl: (sourceId: string, sha256: string) => string;
63
+ /** The org browse route of a stored icon (org admins of `orgId`, like the org browse). */
64
+ export declare const orgMarketplaceIconUrl: (orgId: string) => (sourceId: string, sha256: string) => string;
@@ -0,0 +1,131 @@
1
+ import { createHash } from "node:crypto";
2
+ import { MARKETPLACE_ICON_RE, MARKETPLACE_LIMITS, marketplaceEntryIcon, PLUGIN_MANIFEST_FILE, } from "@capybara-hq/plugin-sdk";
3
+ import { NetDeniedError } from "../net/public-address.js";
4
+ import { safeFetch } from "../net/safe-fetch.js";
5
+ import { packagePath } from "../packages/tgz.js";
6
+ import { marketplaceUrlProblem } from "./marketplace-fetch.js";
7
+ import { iconProblem } from "./plugin-package.js";
8
+ /**
9
+ * Marketplace entry icons (maintainer decision 2026-11-08; plugin component management spec §16):
10
+ * the icon a marketplace entry names for its plugin before it is imported. An entry's `icon` is an
11
+ * https URL or a path in a git marketplace's repository (SDK `MarketplaceEntry.icon`). The refresh
12
+ * reads each one (a URL through `net/safeFetch` under the marketplace network rules and
13
+ * `marketplaces.allowedHosts`, never with the marketplace token; a path from the commit it fetched
14
+ * anyway), keeps those that really are an svg / png of at most 64 KiB in `marketplace_icons`, and
15
+ * the admin market list serves them like plugin icons (`sendCatalogIcon`). A failed or invalid
16
+ * icon is only logged: the entry has no icon and the list shows its initial.
17
+ */
18
+ /** The timeout of one icon download. */
19
+ export const MARKETPLACE_ICON_TIMEOUT_MS = 10_000;
20
+ /** At most this many icon URLs are downloaded per refresh (the rest wait for the next one). */
21
+ export const MARKETPLACE_ICON_FETCHES_MAX = 100;
22
+ /** How long after a failed download an icon URL is tried again (by a later refresh). */
23
+ export const MARKETPLACE_ICON_RETRY_MS = 6 * 3600_000;
24
+ /** Parallel icon downloads of one refresh. */
25
+ export const MARKETPLACE_ICON_CONCURRENCY = 4;
26
+ /** The largest icon (the plugin icon limit). */
27
+ export const MARKETPLACE_ICON_MAX_BYTES = MARKETPLACE_LIMITS.iconBytes;
28
+ /**
29
+ * Whether `data` is an icon the kernel serves, by the extension of `name` (a URL's path or a
30
+ * repository path) and its content, like a plugin icon ({@link iconProblem}): the checked icon, or
31
+ * the problem (English).
32
+ */
33
+ export function checkMarketplaceIcon(name, data) {
34
+ if (!MARKETPLACE_ICON_RE.test(name))
35
+ return `${name} is not a .svg or .png file`;
36
+ const problem = iconProblem(name, data);
37
+ if (problem !== undefined)
38
+ return problem;
39
+ return {
40
+ contentType: /\.svg$/i.test(name) ? "image/svg+xml" : "image/png",
41
+ sha256: createHash("sha256").update(data).digest("hex"),
42
+ data,
43
+ };
44
+ }
45
+ /**
46
+ * Downloads one icon URL under the marketplace network rules (https, public addresses or
47
+ * `allowPrivateHosts`, `net.httpsProxy`, no redirects, {@link MARKETPLACE_ICON_TIMEOUT_MS}, at
48
+ * most {@link MARKETPLACE_ICON_MAX_BYTES}) and checks it: the icon, or why it was not kept. Never
49
+ * throws (an abort of `signal` is a problem too).
50
+ */
51
+ export async function fetchMarketplaceIcon(url, o) {
52
+ const problem = marketplaceUrlProblem(url, o.net.allowInsecureLoopback);
53
+ if (problem !== null)
54
+ return `invalid icon URL: ${problem}`;
55
+ const target = new URL(url);
56
+ const signal = AbortSignal.any([o.signal, AbortSignal.timeout(MARKETPLACE_ICON_TIMEOUT_MS)]);
57
+ try {
58
+ const res = await safeFetch(target.href, { signal }, o.net, {
59
+ maxBytes: MARKETPLACE_ICON_MAX_BYTES,
60
+ ...(o.lookup !== undefined && { lookup: o.lookup }),
61
+ });
62
+ if (!res.ok) {
63
+ await res.body?.cancel().catch(() => { });
64
+ return `the icon URL responded with HTTP ${res.status}`;
65
+ }
66
+ const data = new Uint8Array(await res.arrayBuffer());
67
+ return checkMarketplaceIcon(target.pathname, data);
68
+ }
69
+ catch (e) {
70
+ if (e instanceof NetDeniedError)
71
+ return `icon download refused: ${e.message}`;
72
+ return `cannot fetch the icon: ${e instanceof Error ? e.message : String(e)}`;
73
+ }
74
+ }
75
+ /**
76
+ * The repository paths (relative to the root, without `./`) of the icons a git marketplace's
77
+ * manifest names, read leniently (the manifest is validated afterwards); for a single-plugin repo
78
+ * (no manifest) the root `plugin.json`'s icon. At most `max` paths.
79
+ */
80
+ export function gitIconPaths(files, manifestPath, maxIndexBytes, max) {
81
+ const json = (raw) => {
82
+ if (raw === undefined || raw.byteLength > maxIndexBytes)
83
+ return undefined;
84
+ try {
85
+ return JSON.parse(new TextDecoder().decode(raw));
86
+ }
87
+ catch {
88
+ return undefined;
89
+ }
90
+ };
91
+ const paths = new Set();
92
+ const manifest = json(files.get(manifestPath));
93
+ if (files.has(manifestPath)) {
94
+ if (!Array.isArray(manifest?.plugins))
95
+ return [];
96
+ for (const p of manifest.plugins) {
97
+ const icon = p?.icon;
98
+ if (typeof icon === "string" && icon.startsWith("./") && MARKETPLACE_ICON_RE.test(icon)) {
99
+ paths.add(icon.slice(2));
100
+ }
101
+ if (paths.size >= max)
102
+ break;
103
+ }
104
+ return [...paths];
105
+ }
106
+ const icon = json(files.get(PLUGIN_MANIFEST_FILE))?.icon;
107
+ return typeof icon === "string" && MARKETPLACE_ICON_RE.test(icon) ? [packagePath(icon)] : [];
108
+ }
109
+ /**
110
+ * The icons a refresh has to have for `entries` of a marketplace of `form`, as the entries write
111
+ * them (the stored `ref`): repository paths `./…` (git marketplaces only; an http marketplace has
112
+ * no repository) and URLs, each once.
113
+ */
114
+ export function wantedIcons(entries, form) {
115
+ const paths = new Set();
116
+ const urls = new Set();
117
+ for (const e of entries) {
118
+ const icon = marketplaceEntryIcon(e);
119
+ if (icon === null)
120
+ continue;
121
+ if ("url" in icon)
122
+ urls.add(icon.url);
123
+ else if (form === "git")
124
+ paths.add(`./${icon.path}`);
125
+ }
126
+ return { paths, urls };
127
+ }
128
+ /** The admin route of a stored icon (content addressed: the URL changes with the bytes). */
129
+ export const marketplaceIconUrl = (sourceId, sha256) => `/api/v1/admin/marketplaces/${encodeURIComponent(sourceId)}/icons/${sha256}`;
130
+ /** The org browse route of a stored icon (org admins of `orgId`, like the org browse). */
131
+ export const orgMarketplaceIconUrl = (orgId) => (sourceId, sha256) => `/api/v1/orgs/${encodeURIComponent(orgId)}/marketplaces/${encodeURIComponent(sourceId)}/icons/${sha256}`;
@@ -1,77 +1,61 @@
1
- import { z } from "zod";
1
+ import type { FastifyReply } from "fastify";
2
+ import type { z } from "zod";
3
+ import { PluginIcons } from "../extensions/plugin-icons.js";
2
4
  import { type Principal } from "../identity/principal.js";
3
5
  import { KernelConfigService } from "../infra/config/kernel-config.service.js";
6
+ import { KernelDb } from "../infra/database/kernel-db.js";
7
+ import { type OrgContext } from "../orgs/org.guard.js";
4
8
  import { CatalogService, type MarketplaceImportResult } from "./catalog.service.js";
9
+ import { MarketplaceImportBody as ImportBody, MarketplaceAddBody, MarketplaceEntriesQuery, MarketplacePatchBody as PatchBody } from "./marketplaces.schemas.js";
5
10
  import { type MarketplaceEntryView, MarketplacesService, type MarketplaceView } from "./marketplaces.service.js";
6
- declare const AddBody: z.ZodObject<{
7
- name: z.ZodString;
8
- url: z.ZodString;
9
- form: z.ZodOptional<z.ZodEnum<{
10
- git: "git";
11
- http: "http";
12
- }>>;
13
- ref: z.ZodOptional<z.ZodString>;
14
- mirrors: z.ZodOptional<z.ZodArray<z.ZodString>>;
15
- token: z.ZodOptional<z.ZodString>;
16
- }, z.core.$strip>;
17
- declare const PatchBody: z.ZodObject<{
18
- name: z.ZodOptional<z.ZodString>;
19
- url: z.ZodOptional<z.ZodString>;
20
- form: z.ZodOptional<z.ZodEnum<{
21
- git: "git";
22
- http: "http";
23
- }>>;
24
- ref: z.ZodOptional<z.ZodNullable<z.ZodString>>;
25
- mirrors: z.ZodOptional<z.ZodArray<z.ZodString>>;
26
- enabled: z.ZodOptional<z.ZodBoolean>;
27
- token: z.ZodOptional<z.ZodNullable<z.ZodString>>;
28
- }, z.core.$strict>;
29
- declare const EntriesQuery: z.ZodObject<{
30
- sourceId: z.ZodOptional<z.ZodString>;
31
- q: z.ZodOptional<z.ZodString>;
32
- }, z.core.$strip>;
33
- declare const ImportBody: z.ZodObject<{
34
- version: z.ZodOptional<z.ZodString>;
35
- }, z.core.$strip>;
36
11
  /**
37
- * Marketplaces (`/api/v1/admin/marketplaces/*`, enterprise admins): create, update, delete and
38
- * refresh the official and enterprise marketplaces, browse entries, import from a marketplace.
39
- * Writes re-check the enterprise admin inside the service's lock and are audited.
12
+ * Marketplaces (`/api/v1/admin/marketplaces/*`, super admins): create, update, delete and
13
+ * refresh the official and custom marketplaces, browse entries, import from a marketplace.
14
+ * Writes re-check the super admin inside the service's lock and are audited.
40
15
  */
41
16
  export declare class MarketplacesController {
42
17
  private readonly marketplaces;
43
18
  private readonly catalog;
44
19
  private readonly config;
45
- constructor(marketplaces: MarketplacesService, catalog: CatalogService, config: KernelConfigService);
20
+ private readonly icons;
21
+ constructor(marketplaces: MarketplacesService, catalog: CatalogService, config: KernelConfigService, icons: PluginIcons);
46
22
  /** 全部来源;`offline` 为 true 表示 `marketplaces.official.enabled` 为 false(界面显示「离线模式」)。 */
47
23
  list(): Promise<{
48
24
  items: MarketplaceView[];
49
25
  offline: boolean;
50
26
  }>;
51
27
  /**
52
- * Adds an enterprise marketplace (https URL and mirrors; the token is kept in secrets and sent only
28
+ * Adds a custom marketplace (https URL and mirrors; the token is kept in secrets and sent only
53
29
  * to the URL's origin). A git URL (`…/*.git`, `owner/repo`, or any URL with `form: "git"`) is a
54
30
  * git marketplace with an optional `ref`; anything else is a marketplace.json URL.
55
31
  */
56
- add(principal: Principal, body: z.infer<typeof AddBody>): Promise<MarketplaceView>;
32
+ add(principal: Principal, body: z.infer<typeof MarketplaceAddBody>): Promise<MarketplaceView>;
57
33
  /**
58
34
  * Browses entries (enabled marketplaces only, `sourceId` filters by marketplace; at most
59
35
  * `MARKETPLACE_ENTRIES_MAX`, `truncated` true means there are more). An entry that cannot be
60
36
  * imported has `importable: false` and a `reason`: `host_not_allowed` (its git / archive host is
61
37
  * outside `marketplaces.allowedHosts`) or `path_needs_git_marketplace` (a path entry of an http
62
- * marketplace).
38
+ * marketplace). `icon`: an imported plugin's catalog icon (its current version's, the one the
39
+ * 已安装 list shows, also on an entry of a newer version), else the marketplace icon the last
40
+ * refresh stored, else null.
63
41
  */
64
- entries(q: z.infer<typeof EntriesQuery>): Promise<{
42
+ entries(q: z.infer<typeof MarketplaceEntriesQuery>): Promise<{
65
43
  items: MarketplaceEntryView[];
66
44
  truncated: boolean;
67
45
  }>;
46
+ /**
47
+ * A marketplace entry icon the last refresh stored (`icon` of the entries), from PG with the
48
+ * plugin icon response headers (`sendCatalogIcon`: nosniff, CSP sandbox). Not stored -> 404
49
+ * `catalog.icon_not_found`.
50
+ */
51
+ icon(id: string, sha256: string, reply: FastifyReply): Promise<void>;
68
52
  /**
69
53
  * Updates a marketplace (official only takes `enabled`, anything else -> 409
70
54
  * `marketplace.builtin`; `token: null` clears the token).
71
55
  */
72
56
  update(principal: Principal, id: string, body: z.infer<typeof PatchBody>): Promise<MarketplaceView>;
73
57
  /**
74
- * Deletes an enterprise marketplace (imported catalog items are kept); official -> 409
58
+ * Deletes a custom marketplace (imported catalog items are kept); official -> 409
75
59
  * `marketplace.builtin`.
76
60
  */
77
61
  remove(principal: Principal, id: string): Promise<void>;
@@ -94,4 +78,29 @@ export declare class MarketplacesController {
94
78
  */
95
79
  importEntry(principal: Principal, id: string, name: string, body: z.infer<typeof ImportBody>): Promise<MarketplaceImportResult>;
96
80
  }
97
- export {};
81
+ /**
82
+ * Org admins browse the marketplaces read-only (`GET /api/v1/orgs/:orgId/marketplaces/entries`,
83
+ * `catalog.decide`; plugin scope spec §5.1 rule 3) to request an import. The deployment setting
84
+ * `orgMarketplaceBrowse` off -> 404 `not_found`. An entry imported as an item the org can neither
85
+ * see nor request (a hidden `named` item) reads as not imported (`adopted: null`). `icon`: the
86
+ * catalog item's org icon route when the org's catalog shows the item (the share gate,
87
+ * `PluginIcons`), else the marketplace icon on this controller's icon route, else null.
88
+ */
89
+ export declare class OrgMarketplacesController {
90
+ private readonly marketplaces;
91
+ private readonly kdb;
92
+ private readonly icons;
93
+ constructor(marketplaces: MarketplacesService, kdb: KernelDb, icons: PluginIcons);
94
+ /** The org browse is off (`orgMarketplaceBrowse`) -> 404, like the entries. */
95
+ private assertBrowse;
96
+ /**
97
+ * A marketplace entry icon for the org browse (`catalog.decide`, the org admins), gated like the
98
+ * entries: browsing on, the marketplace enabled; served like plugin icons (`sendCatalogIcon`).
99
+ * Not stored -> 404 `catalog.icon_not_found`.
100
+ */
101
+ icon(id: string, sha256: string, reply: FastifyReply): Promise<void>;
102
+ entries(org: OrgContext, q: z.infer<typeof MarketplaceEntriesQuery>): Promise<{
103
+ items: MarketplaceEntryView[];
104
+ truncated: boolean;
105
+ }>;
106
+ }
@@ -7,69 +7,51 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __param = (this && this.__param) || function (paramIndex, decorator) {
8
8
  return function (target, key) { decorator(target, key, paramIndex); }
9
9
  };
10
- import { Controller, Delete, Get, HttpCode, Inject, Param, Patch, Post } from "@nestjs/common";
11
- import { z } from "zod";
12
- import { MARKETPLACE_MAX_MIRRORS } from "../config/schema.js";
13
- import { CurrentPrincipal, EnterpriseAdmin, patTokenId, requireUser, } from "../identity/principal.js";
10
+ import { Controller, Delete, Get, HttpCode, Inject, Param, Patch, Post, Res } from "@nestjs/common";
11
+ import { ApiError } from "../errors.js";
12
+ import { orgIconScope, PluginIcons } from "../extensions/plugin-icons.js";
13
+ import { CurrentPrincipal, patTokenId, requireUser, SuperAdmin, } from "../identity/principal.js";
14
+ import { readOrgMarketplaceBrowse } from "../identity/settings.js";
14
15
  import { KernelConfigService } from "../infra/config/kernel-config.service.js";
16
+ import { KernelDb } from "../infra/database/kernel-db.js";
15
17
  import { createZodDto } from "../infra/validation/create-zod-dto.js";
16
18
  import { ZBody, ZQuery } from "../infra/validation/zod-params.js";
19
+ import { CurrentOrg, OrgAction } from "../orgs/org.guard.js";
17
20
  import { CatalogService } from "./catalog.service.js";
21
+ import { orgMarketplaceIconUrl } from "./marketplace-icons.js";
22
+ import { MarketplaceImportBody as ImportBody, MarketplaceAddBody, MarketplaceEntriesQuery, MarketplacePatchBody as PatchBody, } from "./marketplaces.schemas.js";
18
23
  import { MarketplacesService, } from "./marketplaces.service.js";
19
- const Url = z.string().min(1).max(2000);
20
- const Form = z.enum(["http", "git"]);
21
- const Ref = z.string().min(1).max(256);
22
- const AddBody = z.object({
23
- name: z.string().min(1).max(100),
24
- url: Url,
25
- form: Form.optional(),
26
- ref: Ref.optional(),
27
- mirrors: z.array(Url).max(MARKETPLACE_MAX_MIRRORS).optional(),
28
- token: z.string().min(1).max(4096).optional(),
29
- });
30
- const PatchBody = z
31
- .object({
32
- name: z.string().min(1).max(100).optional(),
33
- url: Url.optional(),
34
- form: Form.optional(),
35
- ref: Ref.nullable().optional(),
36
- mirrors: z.array(Url).max(MARKETPLACE_MAX_MIRRORS).optional(),
37
- enabled: z.boolean().optional(),
38
- token: z.string().min(1).max(4096).nullable().optional(),
39
- })
40
- .strict();
41
- const EntriesQuery = z.object({
42
- sourceId: z.string().min(1).max(100).optional(),
43
- q: z.string().max(200).optional(),
44
- });
45
- const ImportBody = z.object({ version: z.string().min(1).max(256).optional() });
24
+ import { sendCatalogIcon } from "./org-catalog.controller.js";
25
+ import { itemsSeenBy } from "./scope-state.js";
46
26
  /** 手动刷新的总时限(每个地址另有 30 秒超时)。 */
47
27
  const REFRESH_DEADLINE_MS = 300_000;
48
28
  const actorOpts = (actor) => {
49
29
  const tokenId = patTokenId(actor);
50
30
  return tokenId !== undefined ? { actorTokenId: tokenId } : {};
51
31
  };
52
- class MarketplaceAddBody extends createZodDto(AddBody, "MarketplaceAddBody") {
32
+ class MarketplaceAddBodyDto extends createZodDto(MarketplaceAddBody, "MarketplaceAddBody") {
53
33
  }
54
- class MarketplaceEntriesQuery extends createZodDto(EntriesQuery, "MarketplaceEntriesQuery") {
34
+ class MarketplaceEntriesQueryDto extends createZodDto(MarketplaceEntriesQuery, "MarketplaceEntriesQuery") {
55
35
  }
56
36
  class MarketplaceImportBody extends createZodDto(ImportBody, "MarketplaceImportBody") {
57
37
  }
58
38
  class MarketplacePatchBody extends createZodDto(PatchBody, "MarketplacePatchBody") {
59
39
  }
60
40
  /**
61
- * Marketplaces (`/api/v1/admin/marketplaces/*`, enterprise admins): create, update, delete and
62
- * refresh the official and enterprise marketplaces, browse entries, import from a marketplace.
63
- * Writes re-check the enterprise admin inside the service's lock and are audited.
41
+ * Marketplaces (`/api/v1/admin/marketplaces/*`, super admins): create, update, delete and
42
+ * refresh the official and custom marketplaces, browse entries, import from a marketplace.
43
+ * Writes re-check the super admin inside the service's lock and are audited.
64
44
  */
65
45
  let MarketplacesController = class MarketplacesController {
66
46
  marketplaces;
67
47
  catalog;
68
48
  config;
69
- constructor(marketplaces, catalog, config) {
49
+ icons;
50
+ constructor(marketplaces, catalog, config, icons) {
70
51
  this.marketplaces = marketplaces;
71
52
  this.catalog = catalog;
72
53
  this.config = config;
54
+ this.icons = icons;
73
55
  }
74
56
  /** 全部来源;`offline` 为 true 表示 `marketplaces.official.enabled` 为 false(界面显示「离线模式」)。 */
75
57
  async list() {
@@ -79,7 +61,7 @@ let MarketplacesController = class MarketplacesController {
79
61
  };
80
62
  }
81
63
  /**
82
- * Adds an enterprise marketplace (https URL and mirrors; the token is kept in secrets and sent only
64
+ * Adds a custom marketplace (https URL and mirrors; the token is kept in secrets and sent only
83
65
  * to the URL's origin). A git URL (`…/*.git`, `owner/repo`, or any URL with `form: "git"`) is a
84
66
  * git marketplace with an optional `ref`; anything else is a marketplace.json URL.
85
67
  */
@@ -99,13 +81,31 @@ let MarketplacesController = class MarketplacesController {
99
81
  * `MARKETPLACE_ENTRIES_MAX`, `truncated` true means there are more). An entry that cannot be
100
82
  * imported has `importable: false` and a `reason`: `host_not_allowed` (its git / archive host is
101
83
  * outside `marketplaces.allowedHosts`) or `path_needs_git_marketplace` (a path entry of an http
102
- * marketplace).
84
+ * marketplace). `icon`: an imported plugin's catalog icon (its current version's, the one the
85
+ * 已安装 list shows, also on an entry of a newer version), else the marketplace icon the last
86
+ * refresh stored, else null.
103
87
  */
104
- entries(q) {
105
- return this.marketplaces.entries({
88
+ async entries(q) {
89
+ const r = await this.marketplaces.entries({
106
90
  ...(q.sourceId !== undefined && { marketplaceId: q.sourceId }),
107
91
  ...(q.q !== undefined && { q: q.q }),
108
92
  });
93
+ const installed = await this.icons.ofItems(r.items.flatMap((e) => (e.adopted ? [e.adopted.itemId] : [])), { kind: "admin" });
94
+ return {
95
+ ...r,
96
+ items: r.items.map((e) => {
97
+ const own = e.adopted ? installed.get(e.adopted.itemId) : undefined;
98
+ return own === undefined ? e : { ...e, icon: own };
99
+ }),
100
+ };
101
+ }
102
+ /**
103
+ * A marketplace entry icon the last refresh stored (`icon` of the entries), from PG with the
104
+ * plugin icon response headers (`sendCatalogIcon`: nosniff, CSP sandbox). Not stored -> 404
105
+ * `catalog.icon_not_found`.
106
+ */
107
+ async icon(id, sha256, reply) {
108
+ await sendCatalogIcon(reply, await this.marketplaces.icon(id, sha256));
109
109
  }
110
110
  /**
111
111
  * Updates a marketplace (official only takes `enabled`, anything else -> 409
@@ -124,7 +124,7 @@ let MarketplacesController = class MarketplacesController {
124
124
  }, actorOpts(actor));
125
125
  }
126
126
  /**
127
- * Deletes an enterprise marketplace (imported catalog items are kept); official -> 409
127
+ * Deletes a custom marketplace (imported catalog items are kept); official -> 409
128
128
  * `marketplace.builtin`.
129
129
  */
130
130
  async remove(principal, id) {
@@ -166,12 +166,18 @@ __decorate([
166
166
  Post(),
167
167
  HttpCode(201),
168
168
  __param(0, CurrentPrincipal()),
169
- __param(1, ZBody(MarketplaceAddBody))
169
+ __param(1, ZBody(MarketplaceAddBodyDto))
170
170
  ], MarketplacesController.prototype, "add", null);
171
171
  __decorate([
172
172
  Get("entries"),
173
- __param(0, ZQuery(MarketplaceEntriesQuery))
173
+ __param(0, ZQuery(MarketplaceEntriesQueryDto))
174
174
  ], MarketplacesController.prototype, "entries", null);
175
+ __decorate([
176
+ Get(":id/icons/:sha256"),
177
+ __param(0, Param("id")),
178
+ __param(1, Param("sha256")),
179
+ __param(2, Res())
180
+ ], MarketplacesController.prototype, "icon", null);
175
181
  __decorate([
176
182
  Patch(":id"),
177
183
  __param(0, CurrentPrincipal()),
@@ -200,9 +206,87 @@ __decorate([
200
206
  ], MarketplacesController.prototype, "importEntry", null);
201
207
  MarketplacesController = __decorate([
202
208
  Controller("api/v1/admin/marketplaces"),
203
- EnterpriseAdmin(),
209
+ SuperAdmin(),
204
210
  __param(0, Inject(MarketplacesService)),
205
211
  __param(1, Inject(CatalogService)),
206
- __param(2, Inject(KernelConfigService))
212
+ __param(2, Inject(KernelConfigService)),
213
+ __param(3, Inject(PluginIcons))
207
214
  ], MarketplacesController);
208
215
  export { MarketplacesController };
216
+ /**
217
+ * Org admins browse the marketplaces read-only (`GET /api/v1/orgs/:orgId/marketplaces/entries`,
218
+ * `catalog.decide`; plugin scope spec §5.1 rule 3) to request an import. The deployment setting
219
+ * `orgMarketplaceBrowse` off -> 404 `not_found`. An entry imported as an item the org can neither
220
+ * see nor request (a hidden `named` item) reads as not imported (`adopted: null`). `icon`: the
221
+ * catalog item's org icon route when the org's catalog shows the item (the share gate,
222
+ * `PluginIcons`), else the marketplace icon on this controller's icon route, else null.
223
+ */
224
+ let OrgMarketplacesController = class OrgMarketplacesController {
225
+ marketplaces;
226
+ kdb;
227
+ icons;
228
+ constructor(marketplaces, kdb, icons) {
229
+ this.marketplaces = marketplaces;
230
+ this.kdb = kdb;
231
+ this.icons = icons;
232
+ }
233
+ /** The org browse is off (`orgMarketplaceBrowse`) -> 404, like the entries. */
234
+ async assertBrowse() {
235
+ if (!(await readOrgMarketplaceBrowse(this.kdb.db))) {
236
+ throw new ApiError("not_found", "Marketplace browsing is off for organizations");
237
+ }
238
+ }
239
+ /**
240
+ * A marketplace entry icon for the org browse (`catalog.decide`, the org admins), gated like the
241
+ * entries: browsing on, the marketplace enabled; served like plugin icons (`sendCatalogIcon`).
242
+ * Not stored -> 404 `catalog.icon_not_found`.
243
+ */
244
+ async icon(id, sha256, reply) {
245
+ await this.assertBrowse();
246
+ await sendCatalogIcon(reply, await this.marketplaces.icon(id, sha256, { browsable: true }));
247
+ }
248
+ async entries(org, q) {
249
+ await this.assertBrowse();
250
+ const r = await this.marketplaces.entries({
251
+ ...(q.sourceId !== undefined && { marketplaceId: q.sourceId }),
252
+ ...(q.q !== undefined && { q: q.q }),
253
+ }, orgMarketplaceIconUrl(org.orgId));
254
+ // A hidden `named` item the org is not listed on stays unknown to it: the entry reads as not
255
+ // imported (and shows the marketplace icon, never the item's)
256
+ const adoptedIds = r.items.flatMap((e) => (e.adopted ? [e.adopted.itemId] : []));
257
+ const seen = await itemsSeenBy(this.kdb.db, org.orgId, adoptedIds);
258
+ const own = await this.icons.ofItems(adoptedIds.filter((id) => seen.has(id)), orgIconScope(org));
259
+ return {
260
+ ...r,
261
+ items: r.items.map((e) => {
262
+ if (e.adopted === null)
263
+ return e;
264
+ if (!seen.has(e.adopted.itemId)) {
265
+ return { ...e, adopted: null, newerAvailable: false, contentChanged: false };
266
+ }
267
+ const icon = own.get(e.adopted.itemId);
268
+ return icon === undefined ? e : { ...e, icon };
269
+ }),
270
+ };
271
+ }
272
+ };
273
+ __decorate([
274
+ Get(":id/icons/:sha256"),
275
+ OrgAction("catalog.decide"),
276
+ __param(0, Param("id")),
277
+ __param(1, Param("sha256")),
278
+ __param(2, Res())
279
+ ], OrgMarketplacesController.prototype, "icon", null);
280
+ __decorate([
281
+ Get("entries"),
282
+ OrgAction("catalog.decide"),
283
+ __param(0, CurrentOrg()),
284
+ __param(1, ZQuery(MarketplaceEntriesQueryDto))
285
+ ], OrgMarketplacesController.prototype, "entries", null);
286
+ OrgMarketplacesController = __decorate([
287
+ Controller("api/v1/orgs/:orgId/marketplaces"),
288
+ __param(0, Inject(MarketplacesService)),
289
+ __param(1, Inject(KernelDb)),
290
+ __param(2, Inject(PluginIcons))
291
+ ], OrgMarketplacesController);
292
+ export { OrgMarketplacesController };
@@ -0,0 +1,48 @@
1
+ import { z } from "zod";
2
+ import type { RouteSchemas } from "../platform/route-schemas.js";
3
+ export declare const MarketplaceUrl: z.ZodString;
4
+ export declare const MarketplaceForm: z.ZodEnum<{
5
+ git: "git";
6
+ http: "http";
7
+ }>;
8
+ export declare const MarketplaceRef: z.ZodString;
9
+ export declare const MarketplaceAddBody: z.ZodObject<{
10
+ name: z.ZodString;
11
+ url: z.ZodString;
12
+ form: z.ZodOptional<z.ZodEnum<{
13
+ git: "git";
14
+ http: "http";
15
+ }>>;
16
+ ref: z.ZodOptional<z.ZodString>;
17
+ mirrors: z.ZodOptional<z.ZodArray<z.ZodString>>;
18
+ token: z.ZodOptional<z.ZodString>;
19
+ }, z.core.$strip>;
20
+ export declare const MarketplaceEntriesQuery: z.ZodObject<{
21
+ sourceId: z.ZodOptional<z.ZodString>;
22
+ q: z.ZodOptional<z.ZodString>;
23
+ }, z.core.$strip>;
24
+ export declare const MarketplacePatchBody: z.ZodObject<{
25
+ name: z.ZodOptional<z.ZodString>;
26
+ url: z.ZodOptional<z.ZodString>;
27
+ form: z.ZodOptional<z.ZodEnum<{
28
+ git: "git";
29
+ http: "http";
30
+ }>>;
31
+ ref: z.ZodOptional<z.ZodNullable<z.ZodString>>;
32
+ mirrors: z.ZodOptional<z.ZodArray<z.ZodString>>;
33
+ enabled: z.ZodOptional<z.ZodBoolean>;
34
+ token: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
+ }, z.core.$strict>;
36
+ export declare const MarketplaceImportBody: z.ZodObject<{
37
+ version: z.ZodOptional<z.ZodString>;
38
+ }, z.core.$strip>;
39
+ /** `:id` of a marketplace as the routes take it (`@Param`). */
40
+ export declare const MarketplaceIdPathParams: z.ZodObject<{
41
+ id: z.ZodString;
42
+ }, z.core.$strip>;
43
+ /** `:id` and the entry `:name` of the import route (`@Param`). */
44
+ export declare const MarketplaceEntryPathParams: z.ZodObject<{
45
+ id: z.ZodString;
46
+ name: z.ZodString;
47
+ }, z.core.$strip>;
48
+ export declare const MARKETPLACE_ROUTES: readonly RouteSchemas[];