@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,115 @@
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
+ };
10
+ import { Inject, Injectable } from "@nestjs/common";
11
+ import { sql } from "kysely";
12
+ import { KernelConfigService } from "../infra/config/kernel-config.service.js";
13
+ import { KernelDb } from "../infra/database/kernel-db.js";
14
+ import { STALE_RECONCILE_PERIODS } from "./lifecycle-topics.js";
15
+ import { deriveExtensionStatus } from "./permission-view.js";
16
+ import { ExtensionRegistry } from "./registry.js";
17
+ /** The reason an org or the Platform tool shows for a deployment status of a not-loaded extension. */
18
+ export function unavailableReason(status) {
19
+ switch (status) {
20
+ case "pending_config":
21
+ return "needs_deployment_config";
22
+ case "pending_approval":
23
+ return "pending_approval";
24
+ case "pending_migration":
25
+ return "pending_migration";
26
+ case "dependency":
27
+ return "dependency";
28
+ case "conflict":
29
+ return "conflict";
30
+ case "failed":
31
+ case "legacy_format":
32
+ return "failed";
33
+ case "disabled":
34
+ return "deployment_disabled";
35
+ // loaded on another replica, or not yet on this one
36
+ case "converging":
37
+ case "enabled":
38
+ return "loading";
39
+ }
40
+ }
41
+ /**
42
+ * The state of extensions that are not loaded on this replica, derived like the admin console's
43
+ * status ({@link deriveExtensionStatus}) from the install record and the replicas' recent reports,
44
+ * without reading packages: a pending approval and a pending config come from the replicas' rows
45
+ * (`pending` with reason `approval` / `config`). Reads PG on every call (no in-process state).
46
+ *
47
+ * Its inputs differ slightly from the admin view's (`ExtensionAdmin`): there `pendingApproval`
48
+ * compares the package's permission set with the snapshot and `configValid` checks the deployment
49
+ * config, while here both come from what the replicas last reported. They agree once a replica
50
+ * has tried the current package; until then this view says `loading` where the admin view may
51
+ * already say `pending_approval` or `pending_config`.
52
+ *
53
+ * Which extensions count as loaded is this replica's registry: replica-local and transient. During
54
+ * a rollout, or right after an enable or upgrade, one replica may answer `loading` while another
55
+ * has it loaded; the next call (or the next reconcile) converges.
56
+ */
57
+ let ExtensionAvailability = class ExtensionAvailability {
58
+ kdb;
59
+ config;
60
+ registry;
61
+ constructor(kdb, config, registry) {
62
+ this.kdb = kdb;
63
+ this.config = config;
64
+ this.registry = registry;
65
+ }
66
+ /** For each of `names` not loaded on this replica: its status and reason (loaded ones absent). */
67
+ async unavailable(names) {
68
+ const loaded = new Set(this.registry.manifests().map((m) => m.name));
69
+ const wanted = [...new Set(names)].filter((n) => !loaded.has(n));
70
+ const out = new Map();
71
+ if (wanted.length === 0)
72
+ return out;
73
+ const db = this.kdb.db;
74
+ const staleSeconds = STALE_RECONCILE_PERIODS * this.config.get().extensionHost.reconcileIntervalSeconds;
75
+ const [installs, replicas] = await Promise.all([
76
+ db
77
+ .selectFrom("extension_installs")
78
+ .select(["name", "sha256", "desired_state", "migrated_sha"])
79
+ .where("name", "in", wanted)
80
+ .execute(),
81
+ db
82
+ .selectFrom("extension_replica_status")
83
+ .select(["plugin", "state", "reason", "sha256"])
84
+ .where("plugin", "in", wanted)
85
+ .where("heartbeat_at", ">", sql `now() - make_interval(secs => ${staleSeconds})`)
86
+ .execute(),
87
+ ]);
88
+ for (const name of wanted) {
89
+ const install = installs.find((i) => i.name === name);
90
+ if (install === undefined) {
91
+ out.set(name, { status: null, reason: "not_deployed" });
92
+ continue;
93
+ }
94
+ const rows = replicas.filter((r) => r.plugin === name);
95
+ const target = rows.filter((r) => r.sha256 === install.sha256);
96
+ const status = deriveExtensionStatus({
97
+ source: "install",
98
+ desired: { sha256: install.sha256, state: install.desired_state },
99
+ pendingApproval: target.some((r) => r.state === "pending" && r.reason === "approval"),
100
+ configValid: !target.some((r) => r.state === "pending" && r.reason === "config"),
101
+ migratedSha: install.migrated_sha,
102
+ replicas: rows,
103
+ });
104
+ out.set(name, { status, reason: unavailableReason(status) });
105
+ }
106
+ return out;
107
+ }
108
+ };
109
+ ExtensionAvailability = __decorate([
110
+ Injectable(),
111
+ __param(0, Inject(KernelDb)),
112
+ __param(1, Inject(KernelConfigService)),
113
+ __param(2, Inject(ExtensionRegistry))
114
+ ], ExtensionAvailability);
115
+ export { ExtensionAvailability };
@@ -14,11 +14,10 @@ import { createZodDto } from "../infra/validation/create-zod-dto.js";
14
14
  import { ZBody, ZParam, ZQuery } from "../infra/validation/zod-params.js";
15
15
  import { CurrentOrg, OrgAction } from "../orgs/org.guard.js";
16
16
  import { PreviewerRegistry } from "./previewers.js";
17
+ import { FilePreviewersOrderBody } from "./previewers.schemas.js";
17
18
  const Id = z.string().min(1).max(100);
18
19
  const PreviewQuery = z.object({ locale: z.enum(["zh", "en"]).default("en") });
19
- const OrderBody = z.object({
20
- items: z.array(z.object({ plugin: Id, id: Id, disabled: z.boolean().default(false) })).max(500),
21
- });
20
+ const OrderBody = FilePreviewersOrderBody;
22
21
  /** The previewer named in a preview path (the other path parameters are read as they are). */
23
22
  const PreviewParams = z.object({ plugin: Id, previewerId: Id });
24
23
  class FilePreviewQueryDto extends createZodDto(PreviewQuery, "FilePreviewQuery") {
@@ -1,5 +1,6 @@
1
1
  import { type FilePreviewer, type Logger, type UiView } from "@capybara-hq/plugin-sdk";
2
2
  import { ConversationFiles } from "../conversations/files.js";
3
+ import { EffectiveConfigs } from "../extensions/effective-config.js";
3
4
  import { ExtensionHost } from "../extensions/host.js";
4
5
  import { KernelDb } from "../infra/database/kernel-db.js";
5
6
  import { TransactionHost } from "../infra/database/transaction-host.js";
@@ -39,7 +40,7 @@ export declare class PreviewerRegistry {
39
40
  readonly txHost: TransactionHost;
40
41
  private readonly timeoutMs;
41
42
  private readonly d;
42
- constructor(kdb: Pick<KernelDb, "db">, host: Pick<ExtensionHost, "list" | "enabledPlugins">, files: Pick<ConversationFiles, "file">, storage: Pick<StorageService, "kernel">, log: Pick<Logger, "warn">, txHost: TransactionHost, timeoutMs?: number);
43
+ constructor(kdb: Pick<KernelDb, "db">, host: Pick<ExtensionHost, "list" | "enabledPlugins">, files: Pick<ConversationFiles, "file">, storage: Pick<StorageService, "kernel">, effective: Pick<EffectiveConfigs, "get">, log: Pick<Logger, "warn">, txHost: TransactionHost, timeoutMs?: number);
43
44
  /** Every previewer loaded on this replica, in provider order (load order, then list order). */
44
45
  private loaded;
45
46
  /** The org's previewers (enabled extensions only) in its order, disabled ones included. */
@@ -60,11 +61,17 @@ export declare class PreviewerRegistry {
60
61
  }[], actor?: {
61
62
  accountId?: string;
62
63
  tokenId?: string;
63
- }): Promise<OrgPreviewerItem[]>;
64
+ }, auditDetail?: Record<string, unknown>): Promise<OrgPreviewerItem[]>;
64
65
  /** Replaces the org's rows of the previewers this replica knows, in one transaction. */
65
66
  private putIn;
66
67
  /** Previewers that take this file (viewer must read the conversation), in the org's order. */
67
68
  forFile(orgId: string, conversationId: string, viewer: string, fileId: string): Promise<PreviewerItem[]>;
69
+ /**
70
+ * The org's enabled previewers that take the file, each with its extension's effective config
71
+ * for the org. An extension whose effective config is not valid in the org (or cannot be read)
72
+ * previews nothing there (layering spec A §6): its previewers are left out, so the next one or a
73
+ * built-in takes the file.
74
+ */
68
75
  private accepting;
69
76
  /**
70
77
  * Renders a view previewer for one file: 404 `ui.not_found` when it does not take the file (or is
@@ -80,7 +87,7 @@ export declare class PreviewerRegistry {
80
87
  locale: "zh" | "en";
81
88
  }): Promise<UiView>;
82
89
  /**
83
- * Whether an embed token for a `file-preview` contribution may be issued for this file: the
90
+ * Whether an embed token for a `file.preview` contribution may be issued for this file: the
84
91
  * viewer reads the conversation, the file is in it, and an enabled previewer of that extension
85
92
  * with `embed: contribution` takes it. Conversation / file not found throws 404.
86
93
  */
@@ -12,6 +12,7 @@ import { Inject, Injectable, Optional } from "@nestjs/common";
12
12
  import { sql } from "kysely";
13
13
  import { ConversationFiles } from "../conversations/files.js";
14
14
  import { ApiError } from "../errors.js";
15
+ import { EffectiveConfigs } from "../extensions/effective-config.js";
15
16
  import { ExtensionHost } from "../extensions/host.js";
16
17
  import { audit } from "../identity/audit.js";
17
18
  import { KernelDb } from "../infra/database/kernel-db.js";
@@ -71,7 +72,7 @@ let PreviewerRegistry = class PreviewerRegistry {
71
72
  txHost;
72
73
  timeoutMs;
73
74
  d;
74
- constructor(kdb, host, files, storage, log, txHost, timeoutMs = FILE_PREVIEW_TIMEOUT_MS) {
75
+ constructor(kdb, host, files, storage, effective, log, txHost, timeoutMs = FILE_PREVIEW_TIMEOUT_MS) {
75
76
  this.txHost = txHost;
76
77
  this.timeoutMs = timeoutMs;
77
78
  this.d = {
@@ -82,6 +83,7 @@ let PreviewerRegistry = class PreviewerRegistry {
82
83
  enabledPlugins: (orgId) => host.enabledPlugins(orgId),
83
84
  files,
84
85
  storage,
86
+ effective,
85
87
  log,
86
88
  };
87
89
  }
@@ -139,7 +141,7 @@ let PreviewerRegistry = class PreviewerRegistry {
139
141
  * extension that is disabled now (or not loaded here yet) keep their order and `disabled`.
140
142
  * Audited as `org.file_previewers.updated`.
141
143
  */
142
- async put(orgId, items, actor = {}) {
144
+ async put(orgId, items, actor = {}, auditDetail) {
143
145
  const known = new Set((await this.ordered(orgId)).map((l) => `${l.plugin}/${l.previewer.id}`));
144
146
  const seen = new Set();
145
147
  for (const i of items) {
@@ -149,11 +151,11 @@ let PreviewerRegistry = class PreviewerRegistry {
149
151
  }
150
152
  seen.add(k);
151
153
  }
152
- await this.putIn(orgId, items, known, actor);
154
+ await this.putIn(orgId, items, known, actor, auditDetail);
153
155
  return this.list(orgId);
154
156
  }
155
157
  /** Replaces the org's rows of the previewers this replica knows, in one transaction. */
156
- async putIn(orgId, items, known, actor) {
158
+ async putIn(orgId, items, known, actor, auditDetail) {
157
159
  if (known.size > 0) {
158
160
  await this.d.db
159
161
  .deleteFrom("file_previewers")
@@ -178,7 +180,7 @@ let PreviewerRegistry = class PreviewerRegistry {
178
180
  ...(actor.tokenId !== undefined && { actorTokenId: actor.tokenId }),
179
181
  orgId,
180
182
  action: "org.file_previewers.updated",
181
- detail: { items },
183
+ detail: { items, ...auditDetail },
182
184
  });
183
185
  }
184
186
  /** Previewers that take this file (viewer must read the conversation), in the org's order. */
@@ -186,8 +188,33 @@ let PreviewerRegistry = class PreviewerRegistry {
186
188
  const file = await this.d.files.file(orgId, conversationId, viewer, fileId);
187
189
  return (await this.accepting(orgId, file)).map(item);
188
190
  }
191
+ /**
192
+ * The org's enabled previewers that take the file, each with its extension's effective config
193
+ * for the org. An extension whose effective config is not valid in the org (or cannot be read)
194
+ * previews nothing there (layering spec A §6): its previewers are left out, so the next one or a
195
+ * built-in takes the file.
196
+ */
189
197
  async accepting(orgId, file) {
190
- return (await this.ordered(orgId)).filter((l) => !l.disabled && previewerAccepts(l.previewer, file));
198
+ const taking = (await this.ordered(orgId)).filter((l) => !l.disabled && previewerAccepts(l.previewer, file));
199
+ const configs = new Map();
200
+ for (const plugin of new Set(taking.map((l) => l.plugin))) {
201
+ try {
202
+ const e = await this.d.effective.get(orgId, plugin);
203
+ configs.set(plugin, e.ok ? { config: e.config } : null);
204
+ }
205
+ catch (err) {
206
+ this.d.log.warn("file previewer left out: cannot read its effective config", {
207
+ orgId,
208
+ plugin,
209
+ err,
210
+ });
211
+ configs.set(plugin, null);
212
+ }
213
+ }
214
+ return taking.flatMap((l) => {
215
+ const c = configs.get(l.plugin);
216
+ return c ? [{ ...l, config: c.config }] : [];
217
+ });
191
218
  }
192
219
  /**
193
220
  * Renders a view previewer for one file: 404 `ui.not_found` when it does not take the file (or is
@@ -224,6 +251,7 @@ let PreviewerRegistry = class PreviewerRegistry {
224
251
  accountId: t.accountId,
225
252
  conversationId: t.conversationId,
226
253
  locale: t.locale,
254
+ config: l.config,
227
255
  signal: s,
228
256
  file: {
229
257
  id: file.id,
@@ -271,7 +299,7 @@ let PreviewerRegistry = class PreviewerRegistry {
271
299
  return view;
272
300
  }
273
301
  /**
274
- * Whether an embed token for a `file-preview` contribution may be issued for this file: the
302
+ * Whether an embed token for a `file.preview` contribution may be issued for this file: the
275
303
  * viewer reads the conversation, the file is in it, and an enabled previewer of that extension
276
304
  * with `embed: contribution` takes it. Conversation / file not found throws 404.
277
305
  */
@@ -289,9 +317,10 @@ PreviewerRegistry = __decorate([
289
317
  __param(1, Inject(ExtensionHost)),
290
318
  __param(2, Inject(ConversationFiles)),
291
319
  __param(3, Inject(StorageService)),
292
- __param(4, Inject(KERNEL_LOGGER)),
293
- __param(5, Inject(TransactionHost)),
294
- __param(6, Optional()),
295
- __param(6, Inject(FILE_PREVIEW_TIMEOUT))
320
+ __param(4, Inject(EffectiveConfigs)),
321
+ __param(5, Inject(KERNEL_LOGGER)),
322
+ __param(6, Inject(TransactionHost)),
323
+ __param(7, Optional()),
324
+ __param(7, Inject(FILE_PREVIEW_TIMEOUT))
296
325
  ], PreviewerRegistry);
297
326
  export { PreviewerRegistry };
@@ -0,0 +1,10 @@
1
+ import { z } from "zod";
2
+ import type { RouteSchemas } from "../platform/route-schemas.js";
3
+ export declare const FilePreviewersOrderBody: z.ZodObject<{
4
+ items: z.ZodArray<z.ZodObject<{
5
+ plugin: z.ZodString;
6
+ id: z.ZodString;
7
+ disabled: z.ZodDefault<z.ZodBoolean>;
8
+ }, z.core.$strip>>;
9
+ }, z.core.$strip>;
10
+ export declare const FILE_PREVIEWER_ROUTES: readonly RouteSchemas[];
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+ const Id = z.string().min(1).max(100);
3
+ export const FilePreviewersOrderBody = z.object({
4
+ items: z.array(z.object({ plugin: Id, id: Id, disabled: z.boolean().default(false) })).max(500),
5
+ });
6
+ export const FILE_PREVIEWER_ROUTES = [
7
+ { route: "GET /api/v1/orgs/:orgId/file-previewers" },
8
+ { route: "PUT /api/v1/orgs/:orgId/file-previewers", body: FilePreviewersOrderBody },
9
+ ];
@@ -8,35 +8,57 @@ import { Module } from "@nestjs/common";
8
8
  import { APP_GUARD } from "@nestjs/core";
9
9
  import { AdminController } from "../admin/admin.controller.js";
10
10
  import { AdminModule } from "../admin/admin.module.js";
11
+ import { AdminAgentsController } from "../admin/admin-agents.controller.js";
12
+ import { AdminConnectorsController } from "../admin/admin-connectors.controller.js";
13
+ import { AdminAuditController } from "../admin/audit.controller.js";
11
14
  import { AdminExtensionsController } from "../admin/extensions.controller.js";
15
+ import { AdminOverviewController } from "../admin/overview.controller.js";
12
16
  import { SetupController } from "../admin/setup.controller.js";
13
17
  import { AgentsController } from "../agents/agents.controller.js";
14
18
  import { AgentsModule } from "../agents/agents.module.js";
15
19
  import { ModelsController } from "../agents/models.controller.js";
16
- import { AgentTemplatesController } from "../agents/templates.controller.js";
20
+ import { PendingConnectorsController } from "../agents/pending-connectors.controller.js";
21
+ import { ReadinessController } from "../agents/readiness.controller.js";
22
+ import { AgentSaveAsTemplateController, AgentTemplatesController, } from "../agents/templates.controller.js";
23
+ import { BackgroundController } from "../background/background.controller.js";
24
+ import { BackgroundModule } from "../background/background.module.js";
17
25
  import { AdminCatalogController } from "../catalog/admin-catalog.controller.js";
26
+ import { AppearanceModule } from "../catalog/appearance.service.js";
18
27
  import { CatalogModule } from "../catalog/catalog.module.js";
19
- import { MarketplacesController } from "../catalog/marketplaces.controller.js";
28
+ import { AdminComponentsController, OrgComponentsController, } from "../catalog/component-scope.controller.js";
29
+ import { MarketplacesController, OrgMarketplacesController, } from "../catalog/marketplaces.controller.js";
20
30
  import { AdminCatalogRequestsController, OrgCatalogController, } from "../catalog/org-catalog.controller.js";
31
+ import { OrgExtensionConfigsController, OrgExtensionOverridesController, OrgExtensionToolSwitchesController, } from "../catalog/org-extension.controller.js";
32
+ import { OrgOwnedPluginsController, OrgPluginUploadsController, } from "../catalog/org-plugin-uploads.controller.js";
21
33
  import { ChannelsModule } from "../channels/channels.module.js";
22
34
  import { ChannelConnectionsController } from "../channels/connections.controller.js";
35
+ import { AdminClientController, OrgClientController } from "../client/client.controller.js";
36
+ import { ClientModule } from "../client/client.module.js";
37
+ import { ClientDeliveryController } from "../client/client-delivery.controller.js";
23
38
  import { AttachmentsController } from "../conversations/attachments.controller.js";
24
39
  import { ConversationsController } from "../conversations/conversations.controller.js";
25
40
  import { ConversationsModule } from "../conversations/conversations.module.js";
41
+ import { DevicesController } from "../devices/devices.controller.js";
42
+ import { DevicesModule } from "../devices/devices.module.js";
26
43
  import { EvalsModule } from "../evals/evals.module.js";
27
44
  import { EvalRunsController } from "../evals/runs.controller.js";
28
45
  import { EvalSetsController } from "../evals/sets.controller.js";
29
46
  import { TrajectoryController } from "../evals/trajectory.controller.js";
30
47
  import { ExtensionsModule } from "../extensions/extensions.module.js";
31
- import { OrgExtensionConfigsController } from "../extensions/org-config.controller.js";
48
+ import { ExtensionPointDefaultsController } from "../extensions/point-defaults.controller.js";
32
49
  import { FilesModule } from "../files/files.module.js";
33
50
  import { FilePreviewersController } from "../files/previewers.controller.js";
34
51
  import { AuthController } from "../identity/auth.controller.js";
35
52
  import { AuthGuard } from "../identity/auth.guard.js";
36
53
  import { IdentityModule } from "../identity/identity.module.js";
54
+ import { InitialPasswordsController } from "../identity/initial-passwords.controller.js";
37
55
  import { MeController } from "../identity/me.controller.js";
38
56
  import { BindController, MeIdentitiesController, SsoController, } from "../identity/sso.controller.js";
39
57
  import { InboxModule } from "../inbox/inbox.module.js";
58
+ import { PlatformInboxController } from "../inbox/platform-inbox.controller.js";
59
+ import { DeviceAuthController } from "../local-devices/device-auth.controller.js";
60
+ import { DeviceAuthModule } from "../local-devices/device-auth.module.js";
61
+ import { ModelEnablementController } from "../models/enablement.controller.js";
40
62
  import { ModelsModule } from "../models/models.module.js";
41
63
  import { ModelPurposesController } from "../models/purposes.controller.js";
42
64
  import { DirectorySyncController } from "../orgs/directory-sync.controller.js";
@@ -46,48 +68,75 @@ import { OrgsModule } from "../orgs/orgs.module.js";
46
68
  import { OrgSettingsController } from "../orgs/settings.controller.js";
47
69
  import { RuntimeModule } from "../runtime/runtime.module.js";
48
70
  import { ConversationStreamController } from "../runtime/stream.controller.js";
49
- import { AgentSkillsController, InboxController, SkillChangesController, } from "../skills/changes.controller.js";
71
+ import { SetupModule } from "../setup/setup.module.js";
72
+ import { SetupChecksController } from "../setup/setup-checks.controller.js";
73
+ import { SetupGuidesController } from "../setup/setup-guides.controller.js";
74
+ import { AgentSkillsController } from "../skills/agent-skills.controller.js";
75
+ import { InboxController, SkillChangesController } from "../skills/changes.controller.js";
50
76
  import { InvocableSkillsController } from "../skills/invocable.controller.js";
51
77
  import { SkillsController } from "../skills/skills.controller.js";
52
78
  import { SkillsModule } from "../skills/skills.module.js";
53
79
  import { StorageModule } from "../storage/storage.module.js";
80
+ import { OrgThemesController } from "../themes/themes.controller.js";
81
+ import { ThemesModule } from "../themes/themes.module.js";
82
+ import { PlatformThemeController, ThemeDeliveryController, } from "../themes/themes-public.controller.js";
54
83
  import { ApprovalsController, ToolGrantsController } from "../tools/approvals.controller.js";
55
84
  import { ConnectorContentController } from "../tools/connector-content.controller.js";
56
85
  import { ConnectorsController } from "../tools/connectors.controller.js";
86
+ import { ExtensionToolsController } from "../tools/extension-tools.controller.js";
57
87
  import { OAuthCallbackController, OAuthConnectController, } from "../tools/oauth/oauth.controller.js";
58
88
  import { QuestionsController } from "../tools/questions.controller.js";
59
89
  import { ToolsModule } from "../tools/tools.module.js";
90
+ import { AdminUiController } from "../ui/admin-ui.controller.js";
91
+ import { SlotsController } from "../ui/slots.controller.js";
60
92
  import { UiModule } from "../ui/ui.module.js";
61
93
  import { UiController } from "../ui/views.controller.js";
62
94
  /** Every controller of the kernel API. */
63
95
  const CONTROLLERS = [
64
96
  AuthController,
65
97
  MeController,
98
+ InitialPasswordsController,
66
99
  OrgsController,
67
100
  OrgSettingsController,
68
101
  InvitationsController,
69
102
  SetupController,
70
103
  AdminController,
104
+ AdminAgentsController,
105
+ AdminConnectorsController,
106
+ AdminAuditController,
107
+ AdminOverviewController,
71
108
  AdminExtensionsController,
72
109
  AdminCatalogController,
110
+ AdminComponentsController,
73
111
  MarketplacesController,
112
+ OrgMarketplacesController,
74
113
  OrgExtensionConfigsController,
114
+ OrgExtensionOverridesController,
115
+ OrgExtensionToolSwitchesController,
75
116
  AgentsController,
76
117
  AgentTemplatesController,
118
+ AgentSaveAsTemplateController,
119
+ PendingConnectorsController,
77
120
  ModelsController,
121
+ ModelEnablementController,
122
+ ReadinessController,
78
123
  ConversationsController,
124
+ BackgroundController,
125
+ DevicesController,
79
126
  AttachmentsController,
80
127
  SkillsController,
81
128
  SkillChangesController,
82
129
  AgentSkillsController,
83
130
  InvocableSkillsController,
84
131
  InboxController,
132
+ PlatformInboxController,
85
133
  ConversationStreamController,
86
134
  ConnectorContentController,
87
135
  ConnectorsController,
88
136
  ApprovalsController,
89
137
  ToolGrantsController,
90
138
  QuestionsController,
139
+ ExtensionToolsController,
91
140
  OAuthConnectController,
92
141
  OAuthCallbackController,
93
142
  SsoController,
@@ -96,13 +145,28 @@ const CONTROLLERS = [
96
145
  ChannelConnectionsController,
97
146
  DirectorySyncController,
98
147
  UiController,
148
+ AdminUiController,
149
+ SlotsController,
99
150
  FilePreviewersController,
151
+ ExtensionPointDefaultsController,
100
152
  TrajectoryController,
101
153
  EvalSetsController,
102
154
  EvalRunsController,
103
155
  ModelPurposesController,
104
156
  OrgCatalogController,
157
+ SetupChecksController,
158
+ SetupGuidesController,
159
+ OrgPluginUploadsController,
160
+ OrgOwnedPluginsController,
161
+ OrgComponentsController,
105
162
  AdminCatalogRequestsController,
163
+ OrgThemesController,
164
+ ThemeDeliveryController,
165
+ PlatformThemeController,
166
+ DeviceAuthController,
167
+ ClientDeliveryController,
168
+ OrgClientController,
169
+ AdminClientController,
106
170
  ];
107
171
  /**
108
172
  * The api role (nest kernel spec §2): the kernel API (`/api/v1/*`), imported by `KernelModule` only
@@ -123,15 +187,23 @@ ApiModule = __decorate([
123
187
  AdminModule,
124
188
  ExtensionsModule,
125
189
  CatalogModule,
190
+ // a plugin's suggested appearance (its own module: it writes through the org settings)
191
+ AppearanceModule,
126
192
  ToolsModule,
127
193
  AgentsModule,
128
194
  ConversationsModule,
195
+ BackgroundModule,
196
+ DevicesModule,
197
+ DeviceAuthModule,
129
198
  RuntimeModule,
130
199
  ChannelsModule,
131
200
  EvalsModule,
132
201
  FilesModule,
133
202
  UiModule,
134
203
  InboxModule,
204
+ ThemesModule,
205
+ ClientModule,
206
+ SetupModule,
135
207
  ],
136
208
  controllers: CONTROLLERS,
137
209
  providers: [{ provide: APP_GUARD, useClass: AuthGuard }],
@@ -45,7 +45,7 @@ export interface CreateHttpAppOptions {
45
45
  replicaId?: string | undefined;
46
46
  /**
47
47
  * The size limit for package uploads ({@link PACKAGE_UPLOAD_ROUTES}: extension packages and
48
- * enterprise catalog packages, `application/octet-stream`), i.e. `packages.maxBytes`. The route
48
+ * platform catalog packages, `application/octet-stream`), i.e. `packages.maxBytes`. The route
49
49
  * bodyLimit is one byte more: a package exactly one byte over reaches the handler and returns
50
50
  * `extension.package_too_large`; larger ones are refused by Fastify itself (413
51
51
  * `payload_too_large`).
@@ -56,11 +56,20 @@ export interface CreateHttpAppOptions {
56
56
  export declare const EXTENSION_PACKAGE_UPLOAD_ROUTE = "/api/v1/admin/extensions/packages/file";
57
57
  /** The plugin package upload route of the catalog import (Fastify route template). */
58
58
  export declare const CATALOG_UPLOAD_ROUTE = "/api/v1/admin/catalog/import/file";
59
+ /** The platform skill version upload route (a skill package zip as the raw body). */
60
+ export declare const COMPONENT_SKILL_UPLOAD_ROUTE = "/api/v1/admin/components/skill/:id/versions";
59
61
  /**
60
62
  * The upload routes that take raw bytes (`application/octet-stream`, limit `packages.maxBytes`,
61
- * the enterprise admin is authenticated before the body is read).
63
+ * the super admin is authenticated before the body is read).
62
64
  */
63
65
  export declare const PACKAGE_UPLOAD_ROUTES: ReadonlySet<string>;
66
+ /** An org admin's plugin package upload (spec §14, ruling P3-7; a tgz as the raw body). */
67
+ export declare const ORG_PLUGIN_UPLOAD_ROUTE = "/api/v1/orgs/:orgId/catalog/uploads/file";
68
+ /**
69
+ * The org routes that take raw package bytes (limit `packages.maxBytes`): before the body is read
70
+ * the caller is authenticated as a person with the org role of `catalog.upload` (ruling P3-29).
71
+ */
72
+ export declare const ORG_PACKAGE_UPLOAD_ROUTES: ReadonlySet<string>;
64
73
  /**
65
74
  * Sets up the Fastify side of the kernel's Nest application (built by `buildKernelApp` from
66
75
  * `KernelModule`, which provides the health endpoints and the API) without connecting to anything,
package/dist/http/app.js CHANGED
@@ -3,9 +3,11 @@ import fastifyCookie from "@fastify/cookie";
3
3
  import { ApiError, errorBody } from "../errors.js";
4
4
  import { AccountsService } from "../identity/accounts.js";
5
5
  import { ApiTokenService } from "../identity/api-tokens.js";
6
- import { authorizeEnterpriseAdmin } from "../identity/auth.guard.js";
6
+ import { authenticateOrgUploader, authorizeSuperAdmin, } from "../identity/auth.guard.js";
7
7
  import { SessionService } from "../identity/sessions.js";
8
+ import { KernelDb } from "../infra/database/kernel-db.js";
8
9
  import { withLogContext } from "../log-context.js";
10
+ import { authorizeOrgAction } from "../orgs/org.guard.js";
9
11
  import { redactPath } from "./error.filter.js";
10
12
  import { registerGatewayRoutes } from "./gateway-routes.js";
11
13
  import { createPluginRouter, registerPluginDispatch, staticRouteTable, } from "./plugin-dispatch.js";
@@ -13,14 +15,24 @@ import { createPluginRouter, registerPluginDispatch, staticRouteTable, } from ".
13
15
  export const EXTENSION_PACKAGE_UPLOAD_ROUTE = "/api/v1/admin/extensions/packages/file";
14
16
  /** The plugin package upload route of the catalog import (Fastify route template). */
15
17
  export const CATALOG_UPLOAD_ROUTE = "/api/v1/admin/catalog/import/file";
18
+ /** The platform skill version upload route (a skill package zip as the raw body). */
19
+ export const COMPONENT_SKILL_UPLOAD_ROUTE = "/api/v1/admin/components/skill/:id/versions";
16
20
  /**
17
21
  * The upload routes that take raw bytes (`application/octet-stream`, limit `packages.maxBytes`,
18
- * the enterprise admin is authenticated before the body is read).
22
+ * the super admin is authenticated before the body is read).
19
23
  */
20
24
  export const PACKAGE_UPLOAD_ROUTES = new Set([
21
25
  EXTENSION_PACKAGE_UPLOAD_ROUTE,
22
26
  CATALOG_UPLOAD_ROUTE,
27
+ COMPONENT_SKILL_UPLOAD_ROUTE,
23
28
  ]);
29
+ /** An org admin's plugin package upload (spec §14, ruling P3-7; a tgz as the raw body). */
30
+ export const ORG_PLUGIN_UPLOAD_ROUTE = "/api/v1/orgs/:orgId/catalog/uploads/file";
31
+ /**
32
+ * The org routes that take raw package bytes (limit `packages.maxBytes`): before the body is read
33
+ * the caller is authenticated as a person with the org role of `catalog.upload` (ruling P3-29).
34
+ */
35
+ export const ORG_PACKAGE_UPLOAD_ROUTES = new Set([ORG_PLUGIN_UPLOAD_ROUTE]);
24
36
  /** Paths without an access log line (probes). */
25
37
  const QUIET_PATHS = new Set(["/healthz", "/readyz"]);
26
38
  /**
@@ -92,11 +104,12 @@ export async function createHttpApp(opts, app) {
92
104
  if (LARGE_BODY_ROUTES.has(r.url) && [r.method].flat().includes("POST")) {
93
105
  r.bodyLimit = LARGE_BODY_LIMIT;
94
106
  }
95
- if (PACKAGE_UPLOAD_ROUTES.has(r.url) && opts.packageMaxBytes !== undefined) {
107
+ const upload = PACKAGE_UPLOAD_ROUTES.has(r.url) || ORG_PACKAGE_UPLOAD_ROUTES.has(r.url);
108
+ if (upload && opts.packageMaxBytes !== undefined) {
96
109
  r.bodyLimit = opts.packageMaxBytes + 1;
97
110
  }
98
111
  });
99
- // 读请求体之前:包上传(插件包、企业目录包)先认证(未认证 / 非企业管理员的大请求体不读进内存);其余内核路由不收
112
+ // 读请求体之前:包上传(插件包、平台目录包)先认证(未认证 / 非超级管理员的大请求体不读进内存);其余内核路由不收
100
113
  // application/octet-stream(415)。插件路由 /plugins/* 在自己的作用域里收任何类型,不受影响
101
114
  let authServices;
102
115
  const services = () => {
@@ -119,7 +132,20 @@ export async function createHttpApp(opts, app) {
119
132
  return;
120
133
  if (req.method === "POST" && PACKAGE_UPLOAD_ROUTES.has(req.routeOptions.url ?? "")) {
121
134
  try {
122
- await authorizeEnterpriseAdmin(req, services());
135
+ await authorizeSuperAdmin(req, services());
136
+ }
137
+ catch (e) {
138
+ return sendError(reply, e, req.method, req.url);
139
+ }
140
+ return;
141
+ }
142
+ if (req.method === "POST" && ORG_PACKAGE_UPLOAD_ROUTES.has(req.routeOptions.url ?? "")) {
143
+ try {
144
+ // the org admin role before the body (ruling P3-29): no one else makes the kernel buffer
145
+ // a package-sized body
146
+ const principal = await authenticateOrgUploader(req, services());
147
+ const orgId = req.params.orgId ?? "";
148
+ await authorizeOrgAction(app.get(KernelDb, { strict: false }).db, principal, orgId, "catalog.upload");
123
149
  }
124
150
  catch (e) {
125
151
  return sendError(reply, e, req.method, req.url);
@@ -1,15 +1,19 @@
1
1
  import type { Logger } from "@capybara-hq/plugin-sdk";
2
2
  import type { FastifyInstance } from "fastify";
3
3
  import type { ChannelWebhooks } from "../channels/webhook.js";
4
+ import { type DeviceRoutesOptions } from "../local-devices/device-routes.js";
4
5
  /** What the gateway role serves over HTTP besides health and plugin routes. */
5
6
  export interface GatewayRoutes {
6
7
  webhooks: Pick<ChannelWebhooks, "handle">;
7
8
  /** `channels.webhookMaxBodyBytes`. */
8
9
  webhookMaxBodyBytes: number;
10
+ /** The device connection route (`GET /device/connect`, environments spec §13.4). */
11
+ devices: DeviceRoutesOptions;
9
12
  }
10
13
  /**
11
- * Registers the gateway role's HTTP routes (`serveGateway = roles.includes("gateway")`): today the
12
- * channel webhook. These are raw Fastify routes, not a Nest module, so the API's global guard and
13
- * CSRF check do not apply (P-4); each route does its own (plugin-side) verification.
14
+ * Registers the gateway role's HTTP routes (`serveGateway = roles.includes("gateway")`): the
15
+ * channel webhook and the device connection WebSocket. These are raw Fastify routes, not a Nest
16
+ * module, so the API's global guard and CSRF check do not apply (P-4); each route does its own
17
+ * verification (the channel plugin's signature check, the machine credential).
14
18
  */
15
19
  export declare function registerGatewayRoutes(fastify: FastifyInstance, routes: GatewayRoutes, log: Pick<Logger, "error">): Promise<void>;