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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1039) hide show
  1. package/bootstrap.json +85 -5
  2. package/dist/admin/admin-agents.controller.d.ts +28 -0
  3. package/dist/admin/admin-agents.controller.js +79 -0
  4. package/dist/admin/admin-connectors.controller.d.ts +29 -0
  5. package/dist/admin/admin-connectors.controller.js +79 -0
  6. package/dist/admin/admin-items.schemas.d.ts +42 -0
  7. package/dist/admin/admin-items.schemas.js +48 -0
  8. package/dist/admin/admin.controller.d.ts +52 -80
  9. package/dist/admin/admin.controller.js +112 -81
  10. package/dist/admin/admin.module.d.ts +4 -1
  11. package/dist/admin/admin.module.js +50 -4
  12. package/dist/admin/admin.schemas.d.ts +69 -0
  13. package/dist/admin/admin.schemas.js +53 -0
  14. package/dist/admin/audit.controller.d.ts +14 -0
  15. package/dist/admin/audit.controller.js +42 -0
  16. package/dist/admin/audit.schemas.d.ts +8 -0
  17. package/dist/admin/audit.schemas.js +17 -0
  18. package/dist/admin/extensions.controller.d.ts +34 -3
  19. package/dist/admin/extensions.controller.js +66 -8
  20. package/dist/admin/extensions.schemas.d.ts +7 -0
  21. package/dist/admin/extensions.schemas.js +10 -0
  22. package/dist/admin/health.service.d.ts +104 -0
  23. package/dist/admin/health.service.js +246 -0
  24. package/dist/admin/limit-defaults.d.ts +20 -0
  25. package/dist/admin/limit-defaults.js +10 -0
  26. package/dist/admin/overview.controller.d.ts +31 -0
  27. package/dist/admin/overview.controller.js +78 -0
  28. package/dist/admin/overview.schemas.d.ts +8 -0
  29. package/dist/admin/overview.schemas.js +13 -0
  30. package/dist/admin/overview.service.d.ts +112 -0
  31. package/dist/admin/overview.service.js +223 -0
  32. package/dist/admin/platform-audit.service.d.ts +41 -0
  33. package/dist/admin/platform-audit.service.js +70 -0
  34. package/dist/admin/setup-lock.d.ts +1 -1
  35. package/dist/admin/setup-lock.js +1 -1
  36. package/dist/admin/setup.controller.d.ts +1 -1
  37. package/dist/admin/setup.controller.js +1 -1
  38. package/dist/admin/setup.service.d.ts +4 -4
  39. package/dist/admin/setup.service.js +8 -8
  40. package/dist/admin/usage.service.d.ts +149 -0
  41. package/dist/admin/usage.service.js +321 -0
  42. package/dist/agents/admin-agents.d.ts +92 -0
  43. package/dist/agents/admin-agents.js +170 -0
  44. package/dist/agents/agent-lookup.d.ts +24 -0
  45. package/dist/agents/agent-lookup.js +46 -2
  46. package/dist/agents/agent-profile.service.d.ts +31 -0
  47. package/dist/agents/agent-profile.service.js +122 -0
  48. package/dist/agents/agents.controller.d.ts +53 -168
  49. package/dist/agents/agents.controller.js +163 -34
  50. package/dist/agents/agents.module.d.ts +6 -2
  51. package/dist/agents/agents.module.js +41 -7
  52. package/dist/agents/agents.schemas.d.ts +392 -0
  53. package/dist/agents/agents.schemas.js +126 -0
  54. package/dist/agents/agents.service.d.ts +121 -36
  55. package/dist/agents/agents.service.js +411 -121
  56. package/dist/agents/definition.d.ts +142 -21
  57. package/dist/agents/definition.js +389 -43
  58. package/dist/agents/from-template.d.ts +106 -0
  59. package/dist/agents/from-template.js +680 -0
  60. package/dist/agents/from-template.service.d.ts +72 -0
  61. package/dist/agents/from-template.service.js +178 -0
  62. package/dist/agents/instruction-files.d.ts +60 -0
  63. package/dist/agents/instruction-files.js +111 -0
  64. package/dist/agents/models.controller.d.ts +44 -6
  65. package/dist/agents/models.controller.js +84 -8
  66. package/dist/agents/org-templates.d.ts +186 -0
  67. package/dist/agents/org-templates.js +876 -0
  68. package/dist/agents/pending-connector-requests.d.ts +79 -0
  69. package/dist/agents/pending-connector-requests.js +215 -0
  70. package/dist/agents/pending-connectors.controller.d.ts +39 -0
  71. package/dist/agents/pending-connectors.controller.js +91 -0
  72. package/dist/agents/pending-connectors.service.d.ts +62 -0
  73. package/dist/agents/pending-connectors.service.js +282 -0
  74. package/dist/agents/profile.d.ts +114 -0
  75. package/dist/agents/profile.js +55 -0
  76. package/dist/agents/readiness.controller.d.ts +26 -0
  77. package/dist/agents/readiness.controller.js +56 -0
  78. package/dist/agents/templates.controller.d.ts +77 -5
  79. package/dist/agents/templates.controller.js +153 -7
  80. package/dist/agents/templates.d.ts +127 -23
  81. package/dist/agents/templates.js +482 -44
  82. package/dist/agents/templates.schemas.d.ts +20 -0
  83. package/dist/agents/templates.schemas.js +45 -0
  84. package/dist/background/background.controller.d.ts +38 -0
  85. package/dist/background/background.controller.js +88 -0
  86. package/dist/background/background.module.d.ts +10 -0
  87. package/dist/background/background.module.js +39 -0
  88. package/dist/background/background.schemas.d.ts +10 -0
  89. package/dist/background/background.schemas.js +16 -0
  90. package/dist/background/finish.d.ts +44 -0
  91. package/dist/background/finish.js +95 -0
  92. package/dist/background/launch-lock.d.ts +15 -0
  93. package/dist/background/launch-lock.js +40 -0
  94. package/dist/background/launch.d.ts +42 -0
  95. package/dist/background/launch.js +77 -0
  96. package/dist/background/poll.job.d.ts +56 -0
  97. package/dist/background/poll.job.js +195 -0
  98. package/dist/background/render.d.ts +23 -0
  99. package/dist/background/render.js +48 -0
  100. package/dist/background/session.d.ts +48 -0
  101. package/dist/background/session.js +80 -0
  102. package/dist/background/status.d.ts +35 -0
  103. package/dist/background/status.js +57 -0
  104. package/dist/background/stop.d.ts +68 -0
  105. package/dist/background/stop.js +244 -0
  106. package/dist/background/store.d.ts +167 -0
  107. package/dist/background/store.js +361 -0
  108. package/dist/background/store.module.d.ts +6 -0
  109. package/dist/background/store.module.js +22 -0
  110. package/dist/background/tasks.service.d.ts +109 -0
  111. package/dist/background/tasks.service.js +271 -0
  112. package/dist/background/wake-rules.d.ts +66 -0
  113. package/dist/background/wake-rules.js +113 -0
  114. package/dist/background/wake.d.ts +30 -0
  115. package/dist/background/wake.js +63 -0
  116. package/dist/catalog/admin-catalog.controller.d.ts +136 -52
  117. package/dist/catalog/admin-catalog.controller.js +275 -65
  118. package/dist/catalog/admin-catalog.schemas.d.ts +82 -0
  119. package/dist/catalog/admin-catalog.schemas.js +99 -0
  120. package/dist/catalog/appearance.schemas.d.ts +10 -0
  121. package/dist/catalog/appearance.schemas.js +20 -0
  122. package/dist/catalog/appearance.service.d.ts +105 -0
  123. package/dist/catalog/appearance.service.js +306 -0
  124. package/dist/catalog/catalog-content.d.ts +122 -35
  125. package/dist/catalog/catalog-content.js +122 -14
  126. package/dist/catalog/catalog-files.d.ts +42 -0
  127. package/dist/catalog/catalog-files.js +89 -0
  128. package/dist/catalog/catalog-import.module.d.ts +7 -0
  129. package/dist/catalog/catalog-import.module.js +63 -0
  130. package/dist/catalog/catalog-items.d.ts +122 -7
  131. package/dist/catalog/catalog-items.js +301 -13
  132. package/dist/catalog/catalog-scope.service.d.ts +293 -0
  133. package/dist/catalog/catalog-scope.service.js +1236 -0
  134. package/dist/catalog/catalog.module.d.ts +7 -9
  135. package/dist/catalog/catalog.module.js +47 -31
  136. package/dist/catalog/catalog.service.d.ts +122 -31
  137. package/dist/catalog/catalog.service.js +177 -105
  138. package/dist/catalog/claude/agents.js +15 -10
  139. package/dist/catalog/claude/translate.js +3 -0
  140. package/dist/catalog/cli.d.ts +11 -1
  141. package/dist/catalog/cli.js +29 -1
  142. package/dist/catalog/component-promotion.d.ts +96 -0
  143. package/dist/catalog/component-promotion.js +395 -0
  144. package/dist/catalog/component-scope.controller.d.ts +102 -0
  145. package/dist/catalog/component-scope.controller.js +257 -0
  146. package/dist/catalog/component-scope.schemas.d.ts +118 -0
  147. package/dist/catalog/component-scope.schemas.js +97 -0
  148. package/dist/catalog/component-scope.service.d.ts +394 -0
  149. package/dist/catalog/component-scope.service.js +1133 -0
  150. package/dist/catalog/component-state.d.ts +207 -0
  151. package/dist/catalog/component-state.js +484 -0
  152. package/dist/catalog/git-source.d.ts +9 -1
  153. package/dist/catalog/git-source.js +29 -2
  154. package/dist/catalog/job-ids.d.ts +30 -0
  155. package/dist/catalog/job-ids.js +25 -0
  156. package/dist/catalog/marketplace-fetch.d.ts +1 -1
  157. package/dist/catalog/marketplace-icons.d.ts +64 -0
  158. package/dist/catalog/marketplace-icons.js +131 -0
  159. package/dist/catalog/marketplaces.controller.d.ts +50 -41
  160. package/dist/catalog/marketplaces.controller.js +130 -46
  161. package/dist/catalog/marketplaces.schemas.d.ts +48 -0
  162. package/dist/catalog/marketplaces.schemas.js +53 -0
  163. package/dist/catalog/marketplaces.service.d.ts +110 -17
  164. package/dist/catalog/marketplaces.service.js +337 -29
  165. package/dist/catalog/org-catalog.controller.d.ts +114 -62
  166. package/dist/catalog/org-catalog.controller.js +191 -98
  167. package/dist/catalog/org-catalog.schemas.d.ts +104 -0
  168. package/dist/catalog/org-catalog.schemas.js +107 -0
  169. package/dist/catalog/org-catalog.service.d.ts +72 -33
  170. package/dist/catalog/org-catalog.service.js +367 -158
  171. package/dist/catalog/org-extension-switch.d.ts +41 -0
  172. package/dist/catalog/org-extension-switch.js +115 -0
  173. package/dist/catalog/org-extension.controller.d.ts +133 -0
  174. package/dist/catalog/org-extension.controller.js +313 -0
  175. package/dist/catalog/org-extension.schemas.d.ts +15 -0
  176. package/dist/catalog/org-extension.schemas.js +22 -0
  177. package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
  178. package/dist/catalog/org-plugin-uploads.controller.js +200 -0
  179. package/dist/catalog/org-plugin-uploads.d.ts +71 -0
  180. package/dist/catalog/org-plugin-uploads.js +122 -0
  181. package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
  182. package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
  183. package/dist/catalog/owned-items.d.ts +188 -0
  184. package/dist/catalog/owned-items.js +808 -0
  185. package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
  186. package/dist/catalog/owned-plugin-cleanup.js +194 -0
  187. package/dist/catalog/ownership.d.ts +172 -0
  188. package/dist/catalog/ownership.js +326 -0
  189. package/dist/catalog/platform-components.d.ts +243 -0
  190. package/dist/catalog/platform-components.js +872 -0
  191. package/dist/catalog/platform-migration.d.ts +115 -0
  192. package/dist/catalog/platform-migration.js +583 -0
  193. package/dist/catalog/plugin-import.d.ts +254 -47
  194. package/dist/catalog/plugin-import.js +810 -112
  195. package/dist/catalog/plugin-install.d.ts +205 -42
  196. package/dist/catalog/plugin-install.js +828 -126
  197. package/dist/catalog/plugin-package.d.ts +43 -4
  198. package/dist/catalog/plugin-package.js +194 -7
  199. package/dist/catalog/plugin-upgrade.d.ts +308 -225
  200. package/dist/catalog/plugin-upgrade.js +1325 -1131
  201. package/dist/catalog/request-rules.d.ts +65 -0
  202. package/dist/catalog/request-rules.js +217 -0
  203. package/dist/catalog/requests.service.d.ts +194 -118
  204. package/dist/catalog/requests.service.js +530 -343
  205. package/dist/catalog/reserved-names.d.ts +8 -0
  206. package/dist/catalog/reserved-names.js +42 -0
  207. package/dist/catalog/scope-orgs.d.ts +21 -0
  208. package/dist/catalog/scope-orgs.js +67 -0
  209. package/dist/catalog/scope-state.d.ts +35 -0
  210. package/dist/catalog/scope-state.js +87 -0
  211. package/dist/catalog/scope-sync-workers.d.ts +7 -0
  212. package/dist/catalog/scope-sync-workers.js +29 -0
  213. package/dist/catalog/scope-sync.d.ts +176 -0
  214. package/dist/catalog/scope-sync.js +576 -0
  215. package/dist/catalog/scope.d.ts +42 -0
  216. package/dist/catalog/scope.js +42 -0
  217. package/dist/catalog/unshare.d.ts +22 -0
  218. package/dist/catalog/unshare.js +119 -0
  219. package/dist/channels/actions.js +10 -3
  220. package/dist/channels/cards.d.ts +36 -10
  221. package/dist/channels/cards.js +100 -25
  222. package/dist/channels/channels.module.js +13 -2
  223. package/dist/channels/channels.schemas.d.ts +41 -0
  224. package/dist/channels/channels.schemas.js +40 -0
  225. package/dist/channels/connections.controller.d.ts +46 -37
  226. package/dist/channels/connections.controller.js +76 -34
  227. package/dist/channels/connections.service.d.ts +102 -10
  228. package/dist/channels/connections.service.js +271 -24
  229. package/dist/channels/inbound.d.ts +11 -1
  230. package/dist/channels/inbound.js +87 -7
  231. package/dist/channels/outbound.d.ts +14 -1
  232. package/dist/channels/outbound.js +64 -15
  233. package/dist/channels/phrases.d.ts +33 -2
  234. package/dist/channels/phrases.js +29 -1
  235. package/dist/channels/supervisor.d.ts +2 -0
  236. package/dist/channels/supervisor.js +4 -0
  237. package/dist/channels/threads.d.ts +5 -0
  238. package/dist/channels/threads.js +8 -0
  239. package/dist/channels/webhook.d.ts +21 -1
  240. package/dist/channels/webhook.js +39 -4
  241. package/dist/client/client-access.service.d.ts +102 -0
  242. package/dist/client/client-access.service.js +303 -0
  243. package/dist/client/client-builds.service.d.ts +109 -0
  244. package/dist/client/client-builds.service.js +229 -0
  245. package/dist/client/client-delivery.controller.d.ts +25 -0
  246. package/dist/client/client-delivery.controller.js +66 -0
  247. package/dist/client/client-files.d.ts +48 -0
  248. package/dist/client/client-files.js +136 -0
  249. package/dist/client/client-reports.cron.d.ts +13 -0
  250. package/dist/client/client-reports.cron.js +42 -0
  251. package/dist/client/client-reports.service.d.ts +30 -0
  252. package/dist/client/client-reports.service.js +102 -0
  253. package/dist/client/client-sign-in.service.d.ts +21 -0
  254. package/dist/client/client-sign-in.service.js +49 -0
  255. package/dist/client/client.controller.d.ts +49 -0
  256. package/dist/client/client.controller.js +129 -0
  257. package/dist/client/client.module.d.ts +8 -0
  258. package/dist/client/client.module.js +28 -0
  259. package/dist/client/client.schemas.d.ts +61 -0
  260. package/dist/client/client.schemas.js +27 -0
  261. package/dist/config/docs.js +5 -1
  262. package/dist/config/schema.d.ts +35 -2
  263. package/dist/config/schema.js +216 -21
  264. package/dist/conversations/access.d.ts +6 -4
  265. package/dist/conversations/access.js +29 -5
  266. package/dist/conversations/agent-tree.d.ts +46 -0
  267. package/dist/conversations/agent-tree.js +92 -0
  268. package/dist/conversations/artifacts.d.ts +1 -1
  269. package/dist/conversations/artifacts.js +1 -1
  270. package/dist/conversations/attachments.service.d.ts +30 -0
  271. package/dist/conversations/attachments.service.js +130 -5
  272. package/dist/conversations/conversations.controller.d.ts +79 -44
  273. package/dist/conversations/conversations.controller.js +133 -82
  274. package/dist/conversations/conversations.module.d.ts +1 -1
  275. package/dist/conversations/conversations.module.js +10 -7
  276. package/dist/conversations/conversations.schemas.d.ts +52 -0
  277. package/dist/conversations/conversations.schemas.js +79 -0
  278. package/dist/conversations/conversations.service.d.ts +161 -13
  279. package/dist/conversations/conversations.service.js +329 -57
  280. package/dist/conversations/device-status.d.ts +24 -0
  281. package/dist/conversations/device-status.js +71 -0
  282. package/dist/conversations/event-log.d.ts +45 -9
  283. package/dist/conversations/event-log.js +113 -6
  284. package/dist/conversations/events.d.ts +255 -9
  285. package/dist/conversations/events.js +250 -34
  286. package/dist/conversations/message-context.d.ts +79 -0
  287. package/dist/conversations/message-context.js +145 -0
  288. package/dist/conversations/queue.d.ts +5 -2
  289. package/dist/conversations/queue.js +24 -4
  290. package/dist/conversations/queue.service.d.ts +2 -2
  291. package/dist/conversations/queue.service.js +21 -3
  292. package/dist/conversations/titles.d.ts +12 -3
  293. package/dist/conversations/titles.js +40 -16
  294. package/dist/conversations/tree.d.ts +17 -0
  295. package/dist/conversations/tree.js +42 -0
  296. package/dist/ctx/create-ctx.d.ts +48 -5
  297. package/dist/ctx/create-ctx.js +174 -34
  298. package/dist/db/kernel-schema.d.ts +668 -27
  299. package/dist/db/pool.d.ts +5 -0
  300. package/dist/db/pool.js +3 -0
  301. package/dist/devices/access.d.ts +66 -0
  302. package/dist/devices/access.js +113 -0
  303. package/dist/devices/conversation-devices.d.ts +75 -0
  304. package/dist/devices/conversation-devices.js +230 -0
  305. package/dist/devices/devices.controller.d.ts +36 -0
  306. package/dist/devices/devices.controller.js +124 -0
  307. package/dist/devices/devices.module.d.ts +8 -0
  308. package/dist/devices/devices.module.js +34 -0
  309. package/dist/devices/devices.schemas.d.ts +3 -0
  310. package/dist/devices/devices.schemas.js +14 -0
  311. package/dist/devices/devices.service.d.ts +251 -0
  312. package/dist/devices/devices.service.js +791 -0
  313. package/dist/devices/dto.d.ts +25 -0
  314. package/dist/devices/dto.js +12 -0
  315. package/dist/devices/label.d.ts +11 -0
  316. package/dist/devices/label.js +25 -0
  317. package/dist/devices/legacy-cleanup.job.d.ts +34 -0
  318. package/dist/devices/legacy-cleanup.job.js +141 -0
  319. package/dist/errors.d.ts +215 -3
  320. package/dist/errors.js +215 -3
  321. package/dist/evals/evals.module.js +11 -2
  322. package/dist/evals/evals.schemas.d.ts +110 -0
  323. package/dist/evals/evals.schemas.js +107 -0
  324. package/dist/evals/reconstruct.d.ts +18 -9
  325. package/dist/evals/reconstruct.js +36 -10
  326. package/dist/evals/recorded-tools.d.ts +37 -1
  327. package/dist/evals/recorded-tools.js +120 -10
  328. package/dist/evals/run-replay.d.ts +20 -3
  329. package/dist/evals/run-replay.js +78 -14
  330. package/dist/evals/runs.controller.d.ts +2 -57
  331. package/dist/evals/runs.controller.js +1 -42
  332. package/dist/evals/runs.service.d.ts +8 -7
  333. package/dist/evals/runs.service.js +45 -30
  334. package/dist/evals/sets.controller.d.ts +2 -28
  335. package/dist/evals/sets.controller.js +1 -31
  336. package/dist/evals/sets.service.d.ts +7 -7
  337. package/dist/evals/sets.service.js +23 -17
  338. package/dist/evals/snapshot.d.ts +3 -2
  339. package/dist/evals/snapshot.js +17 -4
  340. package/dist/evals/step-replay.d.ts +4 -6
  341. package/dist/evals/step-replay.js +16 -9
  342. package/dist/evals/trajectory.d.ts +5 -3
  343. package/dist/evals/trajectory.js +4 -1
  344. package/dist/evals/trajectory.service.d.ts +8 -3
  345. package/dist/evals/trajectory.service.js +26 -14
  346. package/dist/evals/worker.d.ts +5 -5
  347. package/dist/evals/worker.js +9 -3
  348. package/dist/extensions/admin-ops.d.ts +81 -14
  349. package/dist/extensions/admin-ops.js +181 -47
  350. package/dist/extensions/admin-view.d.ts +57 -10
  351. package/dist/extensions/admin-view.js +249 -27
  352. package/dist/extensions/approvals.d.ts +12 -2
  353. package/dist/extensions/blobs.d.ts +14 -1
  354. package/dist/extensions/blobs.js +49 -5
  355. package/dist/extensions/bootstrap.d.ts +41 -5
  356. package/dist/extensions/bootstrap.js +121 -19
  357. package/dist/extensions/cli.d.ts +12 -0
  358. package/dist/extensions/cli.js +11 -2
  359. package/dist/extensions/config-hash.d.ts +10 -0
  360. package/dist/extensions/config-hash.js +38 -0
  361. package/dist/extensions/config-issues.d.ts +13 -1
  362. package/dist/extensions/config-issues.js +22 -5
  363. package/dist/extensions/config-json-schema.d.ts +43 -7
  364. package/dist/extensions/config-json-schema.js +124 -58
  365. package/dist/extensions/deployment-config-store.d.ts +6 -0
  366. package/dist/extensions/deployment-config.d.ts +94 -9
  367. package/dist/extensions/deployment-config.js +255 -34
  368. package/dist/extensions/display-name.d.ts +22 -0
  369. package/dist/extensions/display-name.js +77 -0
  370. package/dist/extensions/effective-config.d.ts +133 -0
  371. package/dist/extensions/effective-config.js +379 -0
  372. package/dist/extensions/extensions.module.js +31 -12
  373. package/dist/extensions/guide-places.d.ts +68 -0
  374. package/dist/extensions/guide-places.js +152 -0
  375. package/dist/extensions/hooks.d.ts +37 -4
  376. package/dist/extensions/hooks.js +82 -16
  377. package/dist/extensions/host.d.ts +105 -12
  378. package/dist/extensions/host.js +372 -87
  379. package/dist/extensions/installs.d.ts +30 -9
  380. package/dist/extensions/installs.js +57 -16
  381. package/dist/extensions/instance.d.ts +17 -2
  382. package/dist/extensions/instance.js +21 -0
  383. package/dist/extensions/ledger.d.ts +1 -1
  384. package/dist/extensions/locks.d.ts +12 -0
  385. package/dist/extensions/locks.js +26 -0
  386. package/dist/extensions/org-config.d.ts +97 -7
  387. package/dist/extensions/org-config.js +215 -45
  388. package/dist/extensions/org-levels.d.ts +37 -0
  389. package/dist/extensions/org-levels.js +71 -0
  390. package/dist/extensions/org-overrides.d.ts +151 -0
  391. package/dist/extensions/org-overrides.js +524 -0
  392. package/dist/extensions/package.d.ts +18 -4
  393. package/dist/extensions/package.js +56 -3
  394. package/dist/extensions/permission-set.d.ts +35 -5
  395. package/dist/extensions/permission-set.js +36 -5
  396. package/dist/extensions/permission-view.d.ts +106 -13
  397. package/dist/extensions/permission-view.js +33 -15
  398. package/dist/extensions/plugin-guides.d.ts +282 -0
  399. package/dist/extensions/plugin-guides.js +554 -0
  400. package/dist/extensions/plugin-icons.d.ts +54 -0
  401. package/dist/extensions/plugin-icons.js +125 -0
  402. package/dist/extensions/plugin-items.d.ts +21 -0
  403. package/dist/extensions/plugin-items.js +42 -0
  404. package/dist/extensions/point-defaults.controller.d.ts +28 -0
  405. package/dist/extensions/point-defaults.controller.js +69 -0
  406. package/dist/extensions/point-defaults.d.ts +73 -0
  407. package/dist/extensions/point-defaults.js +236 -0
  408. package/dist/extensions/point-defaults.schemas.d.ts +9 -0
  409. package/dist/extensions/point-defaults.schemas.js +14 -0
  410. package/dist/extensions/registry.d.ts +1 -1
  411. package/dist/extensions/registry.js +2 -0
  412. package/dist/extensions/resolve.d.ts +51 -1
  413. package/dist/extensions/resolve.js +85 -3
  414. package/dist/extensions/single-provider.d.ts +92 -0
  415. package/dist/extensions/single-provider.js +180 -0
  416. package/dist/extensions/sources.d.ts +13 -2
  417. package/dist/extensions/sources.js +2 -0
  418. package/dist/extensions/state.module.d.ts +9 -0
  419. package/dist/extensions/state.module.js +46 -0
  420. package/dist/extensions/unavailable.d.ts +50 -0
  421. package/dist/extensions/unavailable.js +115 -0
  422. package/dist/files/previewers.controller.js +2 -3
  423. package/dist/files/previewers.d.ts +10 -3
  424. package/dist/files/previewers.js +40 -11
  425. package/dist/files/previewers.schemas.d.ts +10 -0
  426. package/dist/files/previewers.schemas.js +9 -0
  427. package/dist/http/api.module.js +76 -4
  428. package/dist/http/app.d.ts +11 -2
  429. package/dist/http/app.js +31 -5
  430. package/dist/http/gateway-routes.d.ts +7 -3
  431. package/dist/http/gateway-routes.js +6 -3
  432. package/dist/http/nest-logger.d.ts +6 -5
  433. package/dist/http/nest-logger.js +24 -10
  434. package/dist/http/plugin-dispatch.d.ts +4 -1
  435. package/dist/http/plugin-dispatch.js +14 -2
  436. package/dist/identity/accounts.d.ts +77 -31
  437. package/dist/identity/accounts.js +133 -52
  438. package/dist/identity/audit.d.ts +2 -1
  439. package/dist/identity/auth.controller.js +9 -5
  440. package/dist/identity/auth.guard.d.ts +13 -5
  441. package/dist/identity/auth.guard.js +35 -9
  442. package/dist/identity/cookies.d.ts +26 -5
  443. package/dist/identity/cookies.js +58 -6
  444. package/dist/identity/identity.module.d.ts +1 -1
  445. package/dist/identity/identity.module.js +7 -4
  446. package/dist/identity/initial-passwords.controller.d.ts +22 -0
  447. package/dist/identity/initial-passwords.controller.js +49 -0
  448. package/dist/identity/initial-passwords.d.ts +61 -0
  449. package/dist/identity/initial-passwords.job.d.ts +16 -0
  450. package/dist/identity/initial-passwords.job.js +46 -0
  451. package/dist/identity/initial-passwords.js +159 -0
  452. package/dist/identity/me.controller.d.ts +17 -1
  453. package/dist/identity/me.controller.js +45 -4
  454. package/dist/identity/me.schemas.d.ts +24 -0
  455. package/dist/identity/me.schemas.js +25 -0
  456. package/dist/identity/principal.d.ts +11 -3
  457. package/dist/identity/principal.js +11 -3
  458. package/dist/identity/sessions.d.ts +12 -0
  459. package/dist/identity/sessions.js +45 -0
  460. package/dist/identity/settings.d.ts +99 -12
  461. package/dist/identity/settings.js +234 -25
  462. package/dist/identity/{enterprise-admin.d.ts → super-admin.d.ts} +5 -5
  463. package/dist/identity/{enterprise-admin.js → super-admin.js} +24 -24
  464. package/dist/identity/write-actor.d.ts +11 -0
  465. package/dist/identity/write-actor.js +7 -0
  466. package/dist/inbox/inbox.module.d.ts +4 -1
  467. package/dist/inbox/inbox.module.js +7 -3
  468. package/dist/inbox/inbox.schemas.d.ts +8 -0
  469. package/dist/inbox/inbox.schemas.js +11 -0
  470. package/dist/inbox/inbox.service.d.ts +64 -4
  471. package/dist/inbox/inbox.service.js +74 -4
  472. package/dist/inbox/org-notices.d.ts +63 -0
  473. package/dist/inbox/org-notices.js +91 -0
  474. package/dist/inbox/platform-inbox.controller.d.ts +23 -0
  475. package/dist/inbox/platform-inbox.controller.js +58 -0
  476. package/dist/inbox/platform-inbox.service.d.ts +157 -0
  477. package/dist/inbox/platform-inbox.service.js +281 -0
  478. package/dist/inbox/platform-notices.d.ts +19 -0
  479. package/dist/inbox/platform-notices.js +9 -0
  480. package/dist/index.d.ts +6 -2
  481. package/dist/index.js +7 -1
  482. package/dist/infra/cli/kernel-cli.module.js +9 -1
  483. package/dist/infra/config/kernel-config.service.js +32 -1
  484. package/dist/infra/database/database.module.js +1 -0
  485. package/dist/infra/database/xact-lock.d.ts +1 -1
  486. package/dist/infra/database/xact-lock.js +1 -1
  487. package/dist/infra/events/kernel-events.d.ts +31 -3
  488. package/dist/infra/lifecycle/process-guards.js +4 -0
  489. package/dist/infra/lock/lock.service.d.ts +8 -0
  490. package/dist/infra/lock/lock.service.js +27 -0
  491. package/dist/infra/logging/logging.module.d.ts +4 -2
  492. package/dist/infra/logging/logging.module.js +24 -6
  493. package/dist/infra/presence/presence.module.d.ts +6 -0
  494. package/dist/infra/presence/presence.module.js +22 -0
  495. package/dist/infra/presence/replica-presence.d.ts +87 -0
  496. package/dist/infra/presence/replica-presence.js +189 -0
  497. package/dist/infra/queue/add-job-once.d.ts +14 -0
  498. package/dist/infra/queue/add-job-once.js +16 -0
  499. package/dist/infra/queue/redis-connection.d.ts +6 -0
  500. package/dist/infra/queue/redis-connection.js +7 -0
  501. package/dist/infra/redis/redis.module.js +6 -2
  502. package/dist/infra/throttler/named-throttlers.d.ts +12 -0
  503. package/dist/infra/throttler/named-throttlers.js +67 -0
  504. package/dist/infra/throttler/throttler.guard.js +1 -1
  505. package/dist/infra/tokens.d.ts +6 -1
  506. package/dist/infra/tokens.js +6 -1
  507. package/dist/kernel.module.js +15 -0
  508. package/dist/lifecycle/kernel-lifecycle.d.ts +4 -2
  509. package/dist/lifecycle/kernel-lifecycle.js +35 -7
  510. package/dist/local-devices/device-auth.controller.d.ts +42 -0
  511. package/dist/local-devices/device-auth.controller.js +116 -0
  512. package/dist/local-devices/device-auth.d.ts +119 -0
  513. package/dist/local-devices/device-auth.js +401 -0
  514. package/dist/local-devices/device-auth.module.d.ts +7 -0
  515. package/dist/local-devices/device-auth.module.js +25 -0
  516. package/dist/local-devices/device-routes.d.ts +36 -0
  517. package/dist/local-devices/device-routes.js +90 -0
  518. package/dist/local-devices/dto.d.ts +66 -0
  519. package/dist/local-devices/dto.js +44 -0
  520. package/dist/local-devices/keys.d.ts +25 -0
  521. package/dist/local-devices/keys.js +25 -0
  522. package/dist/local-devices/local-device-gateway.d.ts +134 -0
  523. package/dist/local-devices/local-device-gateway.js +542 -0
  524. package/dist/local-devices/local-device-provider.d.ts +89 -0
  525. package/dist/local-devices/local-device-provider.js +151 -0
  526. package/dist/local-devices/local-devices.module.d.ts +16 -0
  527. package/dist/local-devices/local-devices.module.js +44 -0
  528. package/dist/local-devices/machines.d.ts +118 -0
  529. package/dist/local-devices/machines.js +366 -0
  530. package/dist/local-devices/relay.d.ts +100 -0
  531. package/dist/local-devices/relay.js +373 -0
  532. package/dist/local-devices/targets.d.ts +28 -0
  533. package/dist/local-devices/targets.js +73 -0
  534. package/dist/log.d.ts +13 -1
  535. package/dist/log.js +93 -17
  536. package/dist/models/embeddings.d.ts +82 -0
  537. package/dist/models/embeddings.js +326 -0
  538. package/dist/models/enablement.controller.d.ts +40 -0
  539. package/dist/models/enablement.controller.js +74 -0
  540. package/dist/models/enablement.d.ts +101 -0
  541. package/dist/models/enablement.js +264 -0
  542. package/dist/models/models.module.d.ts +5 -1
  543. package/dist/models/models.module.js +16 -4
  544. package/dist/models/org-models.schemas.d.ts +8 -0
  545. package/dist/models/org-models.schemas.js +22 -0
  546. package/dist/models/prices.d.ts +8 -6
  547. package/dist/models/prices.js +11 -9
  548. package/dist/models/purposes.controller.d.ts +6 -4
  549. package/dist/models/purposes.controller.js +13 -7
  550. package/dist/models/purposes.d.ts +72 -14
  551. package/dist/models/purposes.js +115 -34
  552. package/dist/orgs/directory-sync.d.ts +14 -5
  553. package/dist/orgs/directory-sync.js +41 -17
  554. package/dist/orgs/offboarding.d.ts +12 -8
  555. package/dist/orgs/offboarding.js +54 -33
  556. package/dist/orgs/org-lock.d.ts +5 -0
  557. package/dist/orgs/org-lock.js +13 -0
  558. package/dist/orgs/org.guard.d.ts +10 -0
  559. package/dist/orgs/org.guard.js +43 -32
  560. package/dist/orgs/orgs.controller.d.ts +2 -5
  561. package/dist/orgs/orgs.controller.js +3 -6
  562. package/dist/orgs/orgs.module.js +3 -0
  563. package/dist/orgs/orgs.schemas.d.ts +8 -0
  564. package/dist/orgs/orgs.schemas.js +16 -0
  565. package/dist/orgs/orgs.service.d.ts +23 -8
  566. package/dist/orgs/orgs.service.js +38 -16
  567. package/dist/orgs/roles.d.ts +1 -1
  568. package/dist/orgs/roles.js +5 -1
  569. package/dist/orgs/settings.controller.d.ts +1 -1
  570. package/dist/orgs/settings.service.d.ts +66 -6
  571. package/dist/orgs/settings.service.js +89 -10
  572. package/dist/overrides.d.ts +16 -1
  573. package/dist/overrides.js +10 -0
  574. package/dist/platform/actor.d.ts +48 -0
  575. package/dist/platform/actor.js +100 -0
  576. package/dist/platform/agent-docs.d.ts +18 -0
  577. package/dist/platform/agent-docs.js +59 -0
  578. package/dist/platform/availability.d.ts +14 -0
  579. package/dist/platform/availability.js +43 -0
  580. package/dist/platform/errors.d.ts +28 -0
  581. package/dist/platform/errors.js +65 -0
  582. package/dist/platform/exclusions.d.ts +11 -0
  583. package/dist/platform/exclusions.js +774 -0
  584. package/dist/platform/method.d.ts +6 -0
  585. package/dist/platform/method.js +15 -0
  586. package/dist/platform/operation.d.ts +169 -0
  587. package/dist/platform/operation.js +102 -0
  588. package/dist/platform/ops/accounts.ops.d.ts +32 -0
  589. package/dist/platform/ops/accounts.ops.js +291 -0
  590. package/dist/platform/ops/admin-items.ops.d.ts +37 -0
  591. package/dist/platform/ops/admin-items.ops.js +278 -0
  592. package/dist/platform/ops/admin.ops.d.ts +38 -0
  593. package/dist/platform/ops/admin.ops.js +497 -0
  594. package/dist/platform/ops/agent-skills.ops.d.ts +50 -0
  595. package/dist/platform/ops/agent-skills.ops.js +509 -0
  596. package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
  597. package/dist/platform/ops/agent-templates.ops.js +272 -0
  598. package/dist/platform/ops/agents.ops.d.ts +37 -0
  599. package/dist/platform/ops/agents.ops.js +730 -0
  600. package/dist/platform/ops/approvals.ops.d.ts +30 -0
  601. package/dist/platform/ops/approvals.ops.js +116 -0
  602. package/dist/platform/ops/background.ops.d.ts +14 -0
  603. package/dist/platform/ops/background.ops.js +134 -0
  604. package/dist/platform/ops/catalog-admin.ops.d.ts +92 -0
  605. package/dist/platform/ops/catalog-admin.ops.js +682 -0
  606. package/dist/platform/ops/channels.ops.d.ts +16 -0
  607. package/dist/platform/ops/channels.ops.js +195 -0
  608. package/dist/platform/ops/components.ops.d.ts +46 -0
  609. package/dist/platform/ops/components.ops.js +854 -0
  610. package/dist/platform/ops/connectors.ops.d.ts +17 -0
  611. package/dist/platform/ops/connectors.ops.js +190 -0
  612. package/dist/platform/ops/conversations.ops.d.ts +30 -0
  613. package/dist/platform/ops/conversations.ops.js +470 -0
  614. package/dist/platform/ops/devices.ops.d.ts +26 -0
  615. package/dist/platform/ops/devices.ops.js +311 -0
  616. package/dist/platform/ops/errors.d.ts +16 -0
  617. package/dist/platform/ops/errors.js +30 -0
  618. package/dist/platform/ops/evals.ops.d.ts +28 -0
  619. package/dist/platform/ops/evals.ops.js +783 -0
  620. package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
  621. package/dist/platform/ops/extensions-admin.ops.js +372 -0
  622. package/dist/platform/ops/extensions.ops.d.ts +25 -0
  623. package/dist/platform/ops/extensions.ops.js +347 -0
  624. package/dist/platform/ops/inbox.ops.d.ts +25 -0
  625. package/dist/platform/ops/inbox.ops.js +381 -0
  626. package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
  627. package/dist/platform/ops/marketplaces.ops.js +466 -0
  628. package/dist/platform/ops/models.ops.d.ts +25 -0
  629. package/dist/platform/ops/models.ops.js +232 -0
  630. package/dist/platform/ops/org-plugins.ops.d.ts +35 -0
  631. package/dist/platform/ops/org-plugins.ops.js +388 -0
  632. package/dist/platform/ops/org-settings.ops.d.ts +18 -0
  633. package/dist/platform/ops/org-settings.ops.js +127 -0
  634. package/dist/platform/ops/orgs.ops.d.ts +28 -0
  635. package/dist/platform/ops/orgs.ops.js +298 -0
  636. package/dist/platform/ops/other-orgs.d.ts +20 -0
  637. package/dist/platform/ops/other-orgs.js +72 -0
  638. package/dist/platform/ops/paging.d.ts +14 -0
  639. package/dist/platform/ops/paging.js +20 -0
  640. package/dist/platform/ops/platform.ops.d.ts +30 -0
  641. package/dist/platform/ops/platform.ops.js +231 -0
  642. package/dist/platform/ops/plugins.ops.d.ts +35 -0
  643. package/dist/platform/ops/plugins.ops.js +476 -0
  644. package/dist/platform/ops/previewers.ops.d.ts +14 -0
  645. package/dist/platform/ops/previewers.ops.js +109 -0
  646. package/dist/platform/ops/requests.ops.d.ts +14 -0
  647. package/dist/platform/ops/requests.ops.js +191 -0
  648. package/dist/platform/ops/role.d.ts +4 -0
  649. package/dist/platform/ops/role.js +10 -0
  650. package/dist/platform/ops/setup.ops.d.ts +24 -0
  651. package/dist/platform/ops/setup.ops.js +212 -0
  652. package/dist/platform/ops/skills.ops.d.ts +17 -0
  653. package/dist/platform/ops/skills.ops.js +160 -0
  654. package/dist/platform/ops/summary.d.ts +10 -0
  655. package/dist/platform/ops/summary.js +18 -0
  656. package/dist/platform/ops/themes.ops.d.ts +14 -0
  657. package/dist/platform/ops/themes.ops.js +47 -0
  658. package/dist/platform/ops/ui.ops.d.ts +8 -0
  659. package/dist/platform/ops/ui.ops.js +41 -0
  660. package/dist/platform/ops/unavailable.d.ts +23 -0
  661. package/dist/platform/ops/unavailable.js +118 -0
  662. package/dist/platform/parity.d.ts +33 -0
  663. package/dist/platform/parity.js +272 -0
  664. package/dist/platform/platform-ops.module.d.ts +43 -0
  665. package/dist/platform/platform-ops.module.js +142 -0
  666. package/dist/platform/platform.module.d.ts +8 -0
  667. package/dist/platform/platform.module.js +25 -0
  668. package/dist/platform/registry.d.ts +30 -0
  669. package/dist/platform/registry.js +111 -0
  670. package/dist/platform/route-schemas.d.ts +18 -0
  671. package/dist/platform/route-schemas.js +85 -0
  672. package/dist/roles/gateway-role.d.ts +18 -3
  673. package/dist/roles/gateway-role.js +33 -5
  674. package/dist/roles/gateway.module.d.ts +2 -1
  675. package/dist/roles/gateway.module.js +6 -3
  676. package/dist/roles/worker-role.d.ts +6 -4
  677. package/dist/roles/worker-role.js +14 -7
  678. package/dist/roles/worker.module.d.ts +1 -1
  679. package/dist/roles/worker.module.js +21 -1
  680. package/dist/runtime/context/build.d.ts +21 -13
  681. package/dist/runtime/context/build.js +106 -29
  682. package/dist/runtime/context/claude-tools.d.ts +4 -1
  683. package/dist/runtime/context/claude-tools.js +13 -12
  684. package/dist/runtime/context/compaction.js +24 -1
  685. package/dist/runtime/context/device-paths.d.ts +40 -0
  686. package/dist/runtime/context/device-paths.js +48 -0
  687. package/dist/runtime/context/legacy-text.d.ts +22 -0
  688. package/dist/runtime/context/legacy-text.js +37 -0
  689. package/dist/runtime/context/reminders.d.ts +2 -0
  690. package/dist/runtime/context/reminders.js +2 -0
  691. package/dist/runtime/context/run-context.d.ts +65 -0
  692. package/dist/runtime/context/run-context.js +215 -0
  693. package/dist/runtime/context/skills.d.ts +29 -11
  694. package/dist/runtime/context/skills.js +46 -32
  695. package/dist/runtime/context/tool-changes.d.ts +27 -0
  696. package/dist/runtime/context/tool-changes.js +60 -0
  697. package/dist/runtime/hook-calls.d.ts +8 -1
  698. package/dist/runtime/hook-calls.js +40 -7
  699. package/dist/runtime/langgraph-loop.d.ts +3 -1
  700. package/dist/runtime/langgraph-loop.js +36 -17
  701. package/dist/runtime/loop.d.ts +35 -6
  702. package/dist/runtime/maintenance.d.ts +9 -4
  703. package/dist/runtime/maintenance.js +35 -8
  704. package/dist/runtime/model-call.d.ts +54 -11
  705. package/dist/runtime/model-call.js +105 -28
  706. package/dist/runtime/providers.d.ts +149 -29
  707. package/dist/runtime/providers.js +332 -63
  708. package/dist/runtime/run-context.service.d.ts +65 -0
  709. package/dist/runtime/run-context.service.js +236 -0
  710. package/dist/runtime/run-control.d.ts +11 -1
  711. package/dist/runtime/run-control.js +12 -0
  712. package/dist/runtime/run-drafts.d.ts +85 -0
  713. package/dist/runtime/run-drafts.js +230 -0
  714. package/dist/runtime/run-finish.d.ts +1 -1
  715. package/dist/runtime/run-jobs.d.ts +3 -5
  716. package/dist/runtime/run-jobs.js +7 -9
  717. package/dist/runtime/run-queue.d.ts +62 -5
  718. package/dist/runtime/run-queue.js +313 -40
  719. package/dist/runtime/run-worker.d.ts +19 -8
  720. package/dist/runtime/run-worker.js +105 -44
  721. package/dist/runtime/runtime.module.js +13 -3
  722. package/dist/runtime/step-log.d.ts +15 -4
  723. package/dist/runtime/step-log.js +24 -7
  724. package/dist/runtime/stream.controller.d.ts +23 -1
  725. package/dist/runtime/stream.controller.js +60 -3
  726. package/dist/runtime/stream.d.ts +4 -1
  727. package/dist/runtime/stream.js +27 -3
  728. package/dist/runtime/subagents/child.d.ts +55 -7
  729. package/dist/runtime/subagents/child.js +105 -7
  730. package/dist/runtime/subagents/definition.d.ts +31 -26
  731. package/dist/runtime/subagents/definition.js +89 -142
  732. package/dist/runtime/subagents/deliveries.d.ts +71 -0
  733. package/dist/runtime/subagents/deliveries.js +228 -0
  734. package/dist/runtime/subagents/dispatch.d.ts +116 -27
  735. package/dist/runtime/subagents/dispatch.js +213 -142
  736. package/dist/runtime/subagents/limits.d.ts +24 -5
  737. package/dist/runtime/subagents/limits.js +40 -6
  738. package/dist/runtime/subagents/messages.d.ts +95 -0
  739. package/dist/runtime/subagents/messages.js +328 -0
  740. package/dist/runtime/subagents/org-agents.js +2 -1
  741. package/dist/runtime/subagents/preamble.d.ts +4 -4
  742. package/dist/runtime/subagents/preamble.js +9 -7
  743. package/dist/runtime/subagents/progress.d.ts +8 -6
  744. package/dist/runtime/subagents/progress.js +11 -6
  745. package/dist/runtime/subagents/render.d.ts +30 -0
  746. package/dist/runtime/subagents/render.js +53 -0
  747. package/dist/runtime/subagents/roster.d.ts +25 -8
  748. package/dist/runtime/subagents/roster.js +48 -12
  749. package/dist/runtime/subagents/skill-fork.d.ts +4 -3
  750. package/dist/runtime/subagents/skill-fork.js +9 -5
  751. package/dist/runtime/subagents/status.d.ts +14 -0
  752. package/dist/runtime/subagents/status.js +23 -0
  753. package/dist/runtime/subagents/subagents.service.d.ts +9 -6
  754. package/dist/runtime/subagents/subagents.service.js +13 -8
  755. package/dist/runtime/usage-report-jobs.d.ts +88 -0
  756. package/dist/runtime/usage-report-jobs.js +158 -0
  757. package/dist/runtime/usage-report.d.ts +35 -39
  758. package/dist/runtime/usage-report.js +171 -97
  759. package/dist/runtime/waits.d.ts +148 -39
  760. package/dist/runtime/waits.js +426 -112
  761. package/dist/sandbox/jobs.d.ts +40 -13
  762. package/dist/sandbox/jobs.js +57 -20
  763. package/dist/sandbox/leases.d.ts +37 -54
  764. package/dist/sandbox/leases.js +71 -115
  765. package/dist/sandbox/providers.d.ts +34 -7
  766. package/dist/sandbox/providers.js +54 -9
  767. package/dist/sandbox/sandbox-file-reader.d.ts +35 -0
  768. package/dist/sandbox/sandbox-file-reader.js +98 -0
  769. package/dist/sandbox/sandbox.module.d.ts +3 -2
  770. package/dist/sandbox/sandbox.module.js +10 -4
  771. package/dist/sandbox/sandbox.service.d.ts +345 -132
  772. package/dist/sandbox/sandbox.service.js +883 -399
  773. package/dist/sandbox/unreachable.d.ts +30 -0
  774. package/dist/sandbox/unreachable.js +108 -0
  775. package/dist/setup/kernel-checks.d.ts +91 -0
  776. package/dist/setup/kernel-checks.js +295 -0
  777. package/dist/setup/oauth-token-probe.d.ts +47 -0
  778. package/dist/setup/oauth-token-probe.js +108 -0
  779. package/dist/setup/redact-check.d.ts +18 -0
  780. package/dist/setup/redact-check.js +46 -0
  781. package/dist/setup/setup-check-registry.d.ts +86 -0
  782. package/dist/setup/setup-check-registry.js +75 -0
  783. package/dist/setup/setup-checks.controller.d.ts +28 -0
  784. package/dist/setup/setup-checks.controller.js +78 -0
  785. package/dist/setup/setup-checks.schemas.d.ts +38 -0
  786. package/dist/setup/setup-checks.schemas.js +43 -0
  787. package/dist/setup/setup-checks.service.d.ts +144 -0
  788. package/dist/setup/setup-checks.service.js +683 -0
  789. package/dist/setup/setup-guides.controller.d.ts +18 -0
  790. package/dist/setup/setup-guides.controller.js +48 -0
  791. package/dist/setup/setup-guides.schemas.d.ts +10 -0
  792. package/dist/setup/setup-guides.schemas.js +6 -0
  793. package/dist/setup/setup-guides.service.d.ts +126 -0
  794. package/dist/setup/setup-guides.service.js +315 -0
  795. package/dist/setup/setup.module.d.ts +8 -0
  796. package/dist/setup/setup.module.js +31 -0
  797. package/dist/skills/agent-skills.controller.d.ts +48 -0
  798. package/dist/skills/agent-skills.controller.js +131 -0
  799. package/dist/skills/agent-skills.service.d.ts +262 -0
  800. package/dist/skills/agent-skills.service.js +996 -0
  801. package/dist/skills/catalog.d.ts +14 -11
  802. package/dist/skills/catalog.js +32 -50
  803. package/dist/skills/changes.controller.d.ts +12 -22
  804. package/dist/skills/changes.controller.js +27 -56
  805. package/dist/skills/changes.service.d.ts +69 -115
  806. package/dist/skills/changes.service.js +249 -598
  807. package/dist/skills/conversation-catalog.d.ts +53 -0
  808. package/dist/skills/conversation-catalog.js +149 -0
  809. package/dist/skills/invocable.controller.d.ts +1 -1
  810. package/dist/skills/invocable.controller.js +2 -2
  811. package/dist/skills/invocation-keys.d.ts +1 -1
  812. package/dist/skills/invocation-keys.js +1 -1
  813. package/dist/skills/invoke.d.ts +3 -3
  814. package/dist/skills/invoke.js +21 -8
  815. package/dist/skills/package.d.ts +15 -1
  816. package/dist/skills/package.js +14 -1
  817. package/dist/skills/skills.controller.d.ts +32 -6
  818. package/dist/skills/skills.controller.js +64 -11
  819. package/dist/skills/skills.module.js +25 -3
  820. package/dist/skills/skills.schemas.d.ts +44 -0
  821. package/dist/skills/skills.schemas.js +68 -0
  822. package/dist/skills/skills.service.d.ts +123 -26
  823. package/dist/skills/skills.service.js +493 -76
  824. package/dist/skills/usable.d.ts +82 -0
  825. package/dist/skills/usable.js +388 -0
  826. package/dist/themes/render-css.d.ts +13 -0
  827. package/dist/themes/render-css.js +135 -0
  828. package/dist/themes/theme-delivery.service.d.ts +36 -0
  829. package/dist/themes/theme-delivery.service.js +116 -0
  830. package/dist/themes/theme-state.d.ts +116 -0
  831. package/dist/themes/theme-state.js +221 -0
  832. package/dist/themes/theme-usage.d.ts +61 -0
  833. package/dist/themes/theme-usage.js +98 -0
  834. package/dist/themes/themes-public.controller.d.ts +33 -0
  835. package/dist/themes/themes-public.controller.js +98 -0
  836. package/dist/themes/themes.controller.d.ts +13 -0
  837. package/dist/themes/themes.controller.js +38 -0
  838. package/dist/themes/themes.module.d.ts +3 -0
  839. package/dist/themes/themes.module.js +21 -0
  840. package/dist/themes/themes.schemas.d.ts +3 -0
  841. package/dist/themes/themes.schemas.js +2 -0
  842. package/dist/themes/themes.service.d.ts +50 -0
  843. package/dist/themes/themes.service.js +99 -0
  844. package/dist/time-zone.d.ts +5 -0
  845. package/dist/time-zone.js +19 -0
  846. package/dist/tools/admin-connectors.d.ts +69 -0
  847. package/dist/tools/admin-connectors.js +135 -0
  848. package/dist/tools/approvals.controller.js +2 -3
  849. package/dist/tools/approvals.schemas.d.ts +21 -0
  850. package/dist/tools/approvals.schemas.js +15 -0
  851. package/dist/tools/approvals.service.d.ts +26 -2
  852. package/dist/tools/approvals.service.js +44 -5
  853. package/dist/tools/builtin-names.d.ts +104 -0
  854. package/dist/tools/builtin-names.js +164 -0
  855. package/dist/tools/builtins/agent.d.ts +27 -25
  856. package/dist/tools/builtins/agent.js +66 -63
  857. package/dist/tools/builtins/ask-user.d.ts +1 -1
  858. package/dist/tools/builtins/ask-user.js +5 -4
  859. package/dist/tools/builtins/builtin-tools.d.ts +23 -4
  860. package/dist/tools/builtins/builtin-tools.js +78 -12
  861. package/dist/tools/builtins/current-time.d.ts +26 -0
  862. package/dist/tools/builtins/current-time.js +99 -0
  863. package/dist/tools/builtins/handback.d.ts +28 -0
  864. package/dist/tools/builtins/handback.js +53 -0
  865. package/dist/tools/builtins/platform.d.ts +51 -0
  866. package/dist/tools/builtins/platform.js +451 -0
  867. package/dist/tools/builtins/read-tool-output.d.ts +1 -1
  868. package/dist/tools/builtins/read-tool-output.js +2 -2
  869. package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
  870. package/dist/tools/builtins/sandbox/bash.js +291 -39
  871. package/dist/tools/builtins/sandbox/common.d.ts +135 -36
  872. package/dist/tools/builtins/sandbox/common.js +222 -62
  873. package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
  874. package/dist/tools/builtins/sandbox/deliver.js +19 -16
  875. package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
  876. package/dist/tools/builtins/sandbox/edit.js +64 -50
  877. package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
  878. package/dist/tools/builtins/sandbox/file-state.js +34 -0
  879. package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
  880. package/dist/tools/builtins/sandbox/glob-match.js +1 -1
  881. package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
  882. package/dist/tools/builtins/sandbox/glob.js +17 -12
  883. package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
  884. package/dist/tools/builtins/sandbox/grep.js +153 -34
  885. package/dist/tools/builtins/sandbox/index.d.ts +9 -5
  886. package/dist/tools/builtins/sandbox/index.js +13 -5
  887. package/dist/tools/builtins/sandbox/read.d.ts +2 -2
  888. package/dist/tools/builtins/sandbox/read.js +29 -19
  889. package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
  890. package/dist/tools/builtins/sandbox/task-output.js +334 -0
  891. package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
  892. package/dist/tools/builtins/sandbox/task-stop.js +113 -0
  893. package/dist/tools/builtins/sandbox/write.d.ts +1 -1
  894. package/dist/tools/builtins/sandbox/write.js +51 -44
  895. package/dist/tools/builtins/send-message.d.ts +56 -0
  896. package/dist/tools/builtins/send-message.js +100 -0
  897. package/dist/tools/builtins/skill-load.d.ts +29 -18
  898. package/dist/tools/builtins/skill-load.js +125 -73
  899. package/dist/tools/builtins/tool-search.d.ts +13 -9
  900. package/dist/tools/builtins/tool-search.js +25 -14
  901. package/dist/tools/builtins/web/errors.d.ts +8 -0
  902. package/dist/tools/builtins/web/errors.js +53 -0
  903. package/dist/tools/builtins/web/extract.d.ts +62 -0
  904. package/dist/tools/builtins/web/extract.js +271 -0
  905. package/dist/tools/builtins/web/fetch.d.ts +55 -0
  906. package/dist/tools/builtins/web/fetch.js +175 -0
  907. package/dist/tools/builtins/web/index.d.ts +13 -0
  908. package/dist/tools/builtins/web/index.js +12 -0
  909. package/dist/tools/builtins/web/page-cache.d.ts +25 -0
  910. package/dist/tools/builtins/web/page-cache.js +77 -0
  911. package/dist/tools/builtins/web/search.d.ts +25 -0
  912. package/dist/tools/builtins/web/search.js +210 -0
  913. package/dist/tools/builtins/web/url.d.ts +17 -0
  914. package/dist/tools/builtins/web/url.js +43 -0
  915. package/dist/tools/connector-account-policies.d.ts +51 -0
  916. package/dist/tools/connector-account-policies.js +165 -0
  917. package/dist/tools/connectors.controller.d.ts +74 -9
  918. package/dist/tools/connectors.controller.js +133 -16
  919. package/dist/tools/connectors.schemas.d.ts +27 -0
  920. package/dist/tools/connectors.schemas.js +34 -0
  921. package/dist/tools/connectors.service.d.ts +101 -8
  922. package/dist/tools/connectors.service.js +266 -28
  923. package/dist/tools/credentials.d.ts +23 -0
  924. package/dist/tools/credentials.js +90 -1
  925. package/dist/tools/display-names.d.ts +9 -0
  926. package/dist/tools/display-names.js +24 -0
  927. package/dist/tools/drift.js +5 -5
  928. package/dist/tools/elicitation.js +1 -1
  929. package/dist/tools/extension-tools.controller.d.ts +14 -0
  930. package/dist/tools/extension-tools.controller.js +37 -0
  931. package/dist/tools/info.d.ts +61 -4
  932. package/dist/tools/info.js +119 -33
  933. package/dist/tools/legacy-data.d.ts +34 -0
  934. package/dist/tools/legacy-data.js +76 -0
  935. package/dist/tools/legacy-keys.d.ts +51 -0
  936. package/dist/tools/legacy-keys.js +114 -0
  937. package/dist/tools/naming.d.ts +1 -5
  938. package/dist/tools/naming.js +1 -7
  939. package/dist/tools/oauth/flow-paths.d.ts +1 -1
  940. package/dist/tools/oauth/flow-paths.js +1 -1
  941. package/dist/tools/oauth/flow.js +1 -1
  942. package/dist/tools/oauth/tokens.d.ts +54 -7
  943. package/dist/tools/oauth/tokens.js +87 -17
  944. package/dist/tools/org-tool-switches.d.ts +89 -0
  945. package/dist/tools/org-tool-switches.js +201 -0
  946. package/dist/tools/outputs.js +1 -1
  947. package/dist/tools/pipeline.d.ts +67 -47
  948. package/dist/tools/pipeline.js +319 -380
  949. package/dist/tools/policy.d.ts +30 -23
  950. package/dist/tools/policy.js +142 -64
  951. package/dist/tools/questions.controller.d.ts +1 -1
  952. package/dist/tools/questions.controller.js +1 -1
  953. package/dist/tools/questions.service.d.ts +23 -2
  954. package/dist/tools/questions.service.js +104 -2
  955. package/dist/tools/registry.d.ts +189 -68
  956. package/dist/tools/registry.js +318 -236
  957. package/dist/tools/resources.d.ts +1 -1
  958. package/dist/tools/resources.js +1 -1
  959. package/dist/tools/tools.module.js +31 -3
  960. package/dist/tools/validate.js +1 -1
  961. package/dist/ui/admin-ui.controller.d.ts +56 -0
  962. package/dist/ui/admin-ui.controller.js +192 -0
  963. package/dist/ui/arrangement.d.ts +65 -0
  964. package/dist/ui/arrangement.js +171 -0
  965. package/dist/ui/embed-token.d.ts +2 -2
  966. package/dist/ui/embed-token.js +30 -5
  967. package/dist/ui/registry.d.ts +42 -17
  968. package/dist/ui/registry.js +46 -14
  969. package/dist/ui/slots.controller.d.ts +11 -0
  970. package/dist/ui/slots.controller.js +25 -0
  971. package/dist/ui/ui-stream.d.ts +20 -3
  972. package/dist/ui/ui-stream.js +25 -7
  973. package/dist/ui/ui.schemas.d.ts +70 -0
  974. package/dist/ui/ui.schemas.js +65 -0
  975. package/dist/ui/views.controller.d.ts +35 -49
  976. package/dist/ui/views.controller.js +48 -70
  977. package/dist/ui/views.d.ts +112 -18
  978. package/dist/ui/views.js +254 -47
  979. package/package.json +6 -3
  980. package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
  981. package/src/migrations/0064_account_last_org.sql +7 -0
  982. package/src/migrations/0065_conversation_archive.sql +8 -0
  983. package/src/migrations/0066_extension_display_name.sql +4 -0
  984. package/src/migrations/0067_agent_profiles.sql +20 -0
  985. package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
  986. package/src/migrations/0069_attachments_agent_idx.sql +3 -0
  987. package/src/migrations/0070_background_tasks.sql +37 -0
  988. package/src/migrations/0071_background_tasks_reserve.sql +6 -0
  989. package/src/migrations/0072_background_tasks_stopping.sql +5 -0
  990. package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
  991. package/src/migrations/0074_subagent_tree.sql +50 -0
  992. package/src/migrations/0075_plugin_scope.sql +61 -0
  993. package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
  994. package/src/migrations/0077_scope_requests.sql +52 -0
  995. package/src/migrations/0078_scope_grant_switches.sql +18 -0
  996. package/src/migrations/0079_scope_live_install_switches.sql +19 -0
  997. package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
  998. package/src/migrations/0081_platform_components.sql +129 -0
  999. package/src/migrations/0082_platform_migration.sql +33 -0
  1000. package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
  1001. package/src/migrations/0084_org_owned_items.sql +85 -0
  1002. package/src/migrations/0085_agent_templates_phase4.sql +45 -0
  1003. package/src/migrations/0086_org_layering.sql +30 -0
  1004. package/src/migrations/0087_approval_summary.sql +6 -0
  1005. package/src/migrations/0088_environments.sql +80 -0
  1006. package/src/migrations/0089_model_kinds_usage.sql +38 -0
  1007. package/src/migrations/0090_initial_passwords.sql +27 -0
  1008. package/src/migrations/0091_account_time_zone.sql +4 -0
  1009. package/src/migrations/0092_tools_default_on.sql +27 -0
  1010. package/src/migrations/0093_connected_environments.sql +37 -0
  1011. package/src/migrations/0094_environment_paths_idx.sql +7 -0
  1012. package/src/migrations/0095_environment_files_resets.sql +5 -0
  1013. package/src/migrations/0096_environment_demoted_default.sql +18 -0
  1014. package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
  1015. package/src/migrations/0098_single_provider_running_first.sql +41 -0
  1016. package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
  1017. package/src/migrations/0100_catalog_files.sql +13 -0
  1018. package/src/migrations/0101_marketplace_icons.sql +32 -0
  1019. package/src/migrations/0102_themes.sql +64 -0
  1020. package/src/migrations/0103_ui_theme_setting.sql +7 -0
  1021. package/src/migrations/0104_connector_tool_account_policies.sql +16 -0
  1022. package/src/migrations/0105_devices_rename.sql +136 -0
  1023. package/src/migrations/0106_setup_guides_v2.sql +10 -0
  1024. package/src/migrations/0107_extension_client_builds.sql +50 -0
  1025. package/src/migrations/0108_question_skipped.sql +6 -0
  1026. package/src/migrations/0109_audit_platform_idx.sql +5 -0
  1027. package/src/migrations/0110_usage_time_idx.sql +8 -0
  1028. package/src/migrations/0111_agent_skill_sharing.sql +22 -0
  1029. package/src/migrations/0112_skill_share_requests.sql +4 -0
  1030. package/dist/catalog/upgrade-targets.d.ts +0 -56
  1031. package/dist/catalog/upgrade-targets.js +0 -90
  1032. package/dist/conversations/sandbox-status.d.ts +0 -24
  1033. package/dist/conversations/sandbox-status.js +0 -52
  1034. package/dist/extensions/org-config.controller.d.ts +0 -24
  1035. package/dist/extensions/org-config.controller.js +0 -62
  1036. package/dist/tools/builtins/sandbox/names.d.ts +0 -7
  1037. package/dist/tools/builtins/sandbox/names.js +0 -20
  1038. package/dist/tools/builtins/skill-write.d.ts +0 -59
  1039. package/dist/tools/builtins/skill-write.js +0 -244
@@ -0,0 +1,220 @@
1
+ -- Tool naming (spec docs/superpowers/specs/2026-10-29-tool-naming-claude-code-design.md §8.2):
2
+ -- the release candidates' tool keys in mutable state become the current keys. Builtins by the
3
+ -- frozen map of packages/kernel/src/tools/legacy-keys.ts (LEGACY_BUILTINS); an rc `<x>__<tool>`
4
+ -- key becomes `mcp__<x>__<tool>` when `x` is a connector of the row's org (or the row records its
5
+ -- connector) and `plugin__<x>__<tool>` when `x` is an extension of the deployment
6
+ -- (extension_installs, or extension_name_owners for config-declared ones); when both or neither,
7
+ -- the row stays and the kernel's startup notice `tools.legacy_key_unmapped` counts it.
8
+ -- Keys in the current format never match. A grant whose new key already exists for the same
9
+ -- owner is left as it is (the primary key). Decided approvals and answered questions are
10
+ -- history and stay. Logs and recordings are never rewritten (§8). Idempotent: a second run
11
+ -- matches nothing it could change.
12
+
13
+ -- capybara:allow-destructive rewrites rc tool keys in place (the old keys no longer name a tool; the kernel reads only the new ones)
14
+ UPDATE tool_grants g
15
+ SET tool_key = m.new_key
16
+ FROM (VALUES
17
+ ('sandbox_bash', 'Bash'), ('sandbox_read', 'Read'), ('sandbox_write', 'Write'),
18
+ ('sandbox_edit', 'Edit'), ('sandbox_glob', 'Glob'), ('sandbox_grep', 'Grep'),
19
+ ('sandbox_deliver', 'Deliver'), ('skill_load', 'Skill'), ('skill_write', 'SkillWrite'),
20
+ ('ask_user', 'AskUserQuestion'), ('read_tool_output', 'ReadToolOutput'),
21
+ ('tool_search', 'ToolSearch'), ('agent', 'Agent')
22
+ ) AS m(old_key, new_key)
23
+ WHERE g.tool_key = m.old_key
24
+ AND NOT EXISTS (
25
+ SELECT 1 FROM tool_grants x
26
+ WHERE x.org_id = g.org_id AND x.account_id = g.account_id AND x.agent_id = g.agent_id
27
+ AND x.tool_key = m.new_key
28
+ );
29
+
30
+ -- capybara:allow-destructive rewrites rc tool keys in place (the old keys no longer name a tool; the kernel reads only the new ones)
31
+ UPDATE tool_grants g
32
+ SET tool_key = CASE
33
+ WHEN g.connector_id IS NOT NULL OR (
34
+ EXISTS (SELECT 1 FROM connectors c
35
+ WHERE c.org_id = g.org_id AND c.deleted_at IS NULL
36
+ AND c.slug = split_part(g.tool_key, '__', 1))
37
+ AND split_part(g.tool_key, '__', 1) NOT IN (
38
+ SELECT name FROM extension_installs UNION SELECT name FROM extension_name_owners)
39
+ ) THEN 'mcp__' || g.tool_key
40
+ ELSE 'plugin__' || g.tool_key
41
+ END
42
+ WHERE g.tool_key ~ '^[a-z0-9][a-z0-9_-]*__.' AND g.tool_key !~ '^(mcp|plugin)__'
43
+ AND (
44
+ g.connector_id IS NOT NULL
45
+ OR (
46
+ EXISTS (SELECT 1 FROM connectors c
47
+ WHERE c.org_id = g.org_id AND c.deleted_at IS NULL
48
+ AND c.slug = split_part(g.tool_key, '__', 1))
49
+ ) <> (
50
+ split_part(g.tool_key, '__', 1) IN (
51
+ SELECT name FROM extension_installs UNION SELECT name FROM extension_name_owners)
52
+ )
53
+ )
54
+ AND NOT EXISTS (
55
+ SELECT 1 FROM tool_grants x
56
+ WHERE x.org_id = g.org_id AND x.account_id = g.account_id AND x.agent_id = g.agent_id
57
+ AND x.tool_key IN ('mcp__' || g.tool_key, 'plugin__' || g.tool_key)
58
+ );
59
+
60
+ -- capybara:allow-destructive rewrites rc tool keys in place (the old keys no longer name a tool; the kernel reads only the new ones)
61
+ UPDATE conversation_tool_grants g
62
+ SET tool_key = m.new_key
63
+ FROM (VALUES
64
+ ('sandbox_bash', 'Bash'), ('sandbox_read', 'Read'), ('sandbox_write', 'Write'),
65
+ ('sandbox_edit', 'Edit'), ('sandbox_glob', 'Glob'), ('sandbox_grep', 'Grep'),
66
+ ('sandbox_deliver', 'Deliver'), ('skill_load', 'Skill'), ('skill_write', 'SkillWrite'),
67
+ ('ask_user', 'AskUserQuestion'), ('read_tool_output', 'ReadToolOutput'),
68
+ ('tool_search', 'ToolSearch'), ('agent', 'Agent')
69
+ ) AS m(old_key, new_key)
70
+ WHERE g.tool_key = m.old_key
71
+ AND NOT EXISTS (
72
+ SELECT 1 FROM conversation_tool_grants x
73
+ WHERE x.conversation_id = g.conversation_id AND x.tool_key = m.new_key
74
+ );
75
+
76
+ -- capybara:allow-destructive rewrites rc tool keys in place (the old keys no longer name a tool; the kernel reads only the new ones)
77
+ UPDATE conversation_tool_grants g
78
+ SET tool_key = CASE
79
+ WHEN g.connector_id IS NOT NULL OR (
80
+ EXISTS (SELECT 1 FROM connectors c
81
+ WHERE c.org_id = v.org_id AND c.deleted_at IS NULL
82
+ AND c.slug = split_part(g.tool_key, '__', 1))
83
+ AND split_part(g.tool_key, '__', 1) NOT IN (
84
+ SELECT name FROM extension_installs UNION SELECT name FROM extension_name_owners)
85
+ ) THEN 'mcp__' || g.tool_key
86
+ ELSE 'plugin__' || g.tool_key
87
+ END
88
+ FROM conversations v
89
+ WHERE v.id = g.conversation_id
90
+ AND g.tool_key ~ '^[a-z0-9][a-z0-9_-]*__.' AND g.tool_key !~ '^(mcp|plugin)__'
91
+ AND (
92
+ g.connector_id IS NOT NULL
93
+ OR (
94
+ EXISTS (SELECT 1 FROM connectors c
95
+ WHERE c.org_id = v.org_id AND c.deleted_at IS NULL
96
+ AND c.slug = split_part(g.tool_key, '__', 1))
97
+ ) <> (
98
+ split_part(g.tool_key, '__', 1) IN (
99
+ SELECT name FROM extension_installs UNION SELECT name FROM extension_name_owners)
100
+ )
101
+ )
102
+ AND NOT EXISTS (
103
+ SELECT 1 FROM conversation_tool_grants x
104
+ WHERE x.conversation_id = g.conversation_id
105
+ AND x.tool_key IN ('mcp__' || g.tool_key, 'plugin__' || g.tool_key)
106
+ );
107
+
108
+ -- capybara:allow-destructive rewrites rc tool keys of pending approvals in place (resumed by run and call id, never by key)
109
+ UPDATE approvals a
110
+ SET tool_key = m.new_key
111
+ FROM (VALUES
112
+ ('sandbox_bash', 'Bash'), ('sandbox_read', 'Read'), ('sandbox_write', 'Write'),
113
+ ('sandbox_edit', 'Edit'), ('sandbox_glob', 'Glob'), ('sandbox_grep', 'Grep'),
114
+ ('sandbox_deliver', 'Deliver'), ('skill_load', 'Skill'), ('skill_write', 'SkillWrite'),
115
+ ('ask_user', 'AskUserQuestion'), ('read_tool_output', 'ReadToolOutput'),
116
+ ('tool_search', 'ToolSearch'), ('agent', 'Agent')
117
+ ) AS m(old_key, new_key)
118
+ WHERE a.status = 'pending' AND a.tool_key = m.old_key;
119
+
120
+ -- capybara:allow-destructive rewrites rc tool keys of pending approvals in place (resumed by run and call id, never by key)
121
+ UPDATE approvals a
122
+ SET tool_key = CASE
123
+ WHEN a.connector_id IS NOT NULL OR (
124
+ EXISTS (SELECT 1 FROM connectors c
125
+ WHERE c.org_id = a.org_id AND c.deleted_at IS NULL
126
+ AND c.slug = split_part(a.tool_key, '__', 1))
127
+ AND split_part(a.tool_key, '__', 1) NOT IN (
128
+ SELECT name FROM extension_installs UNION SELECT name FROM extension_name_owners)
129
+ ) THEN 'mcp__' || a.tool_key
130
+ ELSE 'plugin__' || a.tool_key
131
+ END
132
+ WHERE a.status = 'pending'
133
+ AND a.tool_key ~ '^[a-z0-9][a-z0-9_-]*__.' AND a.tool_key !~ '^(mcp|plugin)__'
134
+ AND (
135
+ a.connector_id IS NOT NULL
136
+ OR (
137
+ EXISTS (SELECT 1 FROM connectors c
138
+ WHERE c.org_id = a.org_id AND c.deleted_at IS NULL
139
+ AND c.slug = split_part(a.tool_key, '__', 1))
140
+ ) <> (
141
+ split_part(a.tool_key, '__', 1) IN (
142
+ SELECT name FROM extension_installs UNION SELECT name FROM extension_name_owners)
143
+ )
144
+ );
145
+
146
+ -- capybara:allow-destructive rewrites rc tool keys of pending questions in place (resumed by run and call id, never by key)
147
+ UPDATE questions q
148
+ SET spec = jsonb_set(q.spec, '{toolKey}', to_jsonb(m.new_key))
149
+ FROM (VALUES
150
+ ('sandbox_bash', 'Bash'), ('sandbox_read', 'Read'), ('sandbox_write', 'Write'),
151
+ ('sandbox_edit', 'Edit'), ('sandbox_glob', 'Glob'), ('sandbox_grep', 'Grep'),
152
+ ('sandbox_deliver', 'Deliver'), ('skill_load', 'Skill'), ('skill_write', 'SkillWrite'),
153
+ ('ask_user', 'AskUserQuestion'), ('read_tool_output', 'ReadToolOutput'),
154
+ ('tool_search', 'ToolSearch'), ('agent', 'Agent')
155
+ ) AS m(old_key, new_key)
156
+ WHERE q.status = 'pending' AND q.spec->>'toolKey' = m.old_key;
157
+
158
+ -- capybara:allow-destructive rewrites rc tool keys of pending questions in place (resumed by run and call id, never by key)
159
+ UPDATE questions q
160
+ SET spec = jsonb_set(
161
+ q.spec,
162
+ '{toolKey}',
163
+ to_jsonb(CASE
164
+ WHEN EXISTS (SELECT 1 FROM connectors c
165
+ WHERE c.org_id = q.org_id AND c.deleted_at IS NULL
166
+ AND c.slug = split_part(q.spec->>'toolKey', '__', 1))
167
+ THEN 'mcp__' || (q.spec->>'toolKey')
168
+ ELSE 'plugin__' || (q.spec->>'toolKey')
169
+ END)
170
+ )
171
+ WHERE q.status = 'pending'
172
+ AND q.spec->>'toolKey' ~ '^[a-z0-9][a-z0-9_-]*__.' AND q.spec->>'toolKey' !~ '^(mcp|plugin)__'
173
+ AND (
174
+ EXISTS (SELECT 1 FROM connectors c
175
+ WHERE c.org_id = q.org_id AND c.deleted_at IS NULL
176
+ AND c.slug = split_part(q.spec->>'toolKey', '__', 1))
177
+ ) <> (
178
+ split_part(q.spec->>'toolKey', '__', 1) IN (
179
+ SELECT name FROM extension_installs UNION SELECT name FROM extension_name_owners)
180
+ );
181
+
182
+ -- What the startup notice counts (rows the statements above could not map), each over a partial
183
+ -- index holding only such rows, so the count at every start reads nearly empty indexes. The
184
+ -- predicate is the one of countLegacyToolKeys (packages/kernel/src/tools/legacy-data.ts).
185
+ CREATE INDEX IF NOT EXISTS tool_grants_legacy_key_idx ON tool_grants (org_id)
186
+ WHERE (tool_key = ANY (ARRAY['sandbox_bash', 'sandbox_read', 'sandbox_write', 'sandbox_edit',
187
+ 'sandbox_glob', 'sandbox_grep', 'sandbox_deliver', 'skill_load', 'skill_write', 'ask_user',
188
+ 'read_tool_output', 'tool_search', 'agent']::text[])
189
+ OR (tool_key ~ '^[a-z0-9][a-z0-9_-]*__.' AND tool_key !~ '^(mcp|plugin)__'));
190
+ CREATE INDEX IF NOT EXISTS conversation_tool_grants_legacy_key_idx
191
+ ON conversation_tool_grants (conversation_id)
192
+ WHERE (tool_key = ANY (ARRAY['sandbox_bash', 'sandbox_read', 'sandbox_write', 'sandbox_edit',
193
+ 'sandbox_glob', 'sandbox_grep', 'sandbox_deliver', 'skill_load', 'skill_write', 'ask_user',
194
+ 'read_tool_output', 'tool_search', 'agent']::text[])
195
+ OR (tool_key ~ '^[a-z0-9][a-z0-9_-]*__.' AND tool_key !~ '^(mcp|plugin)__'));
196
+ CREATE INDEX IF NOT EXISTS approvals_legacy_key_idx ON approvals (org_id)
197
+ WHERE status = 'pending'
198
+ AND (tool_key = ANY (ARRAY['sandbox_bash', 'sandbox_read', 'sandbox_write', 'sandbox_edit',
199
+ 'sandbox_glob', 'sandbox_grep', 'sandbox_deliver', 'skill_load', 'skill_write', 'ask_user',
200
+ 'read_tool_output', 'tool_search', 'agent']::text[])
201
+ OR (tool_key ~ '^[a-z0-9][a-z0-9_-]*__.' AND tool_key !~ '^(mcp|plugin)__'));
202
+ CREATE INDEX IF NOT EXISTS questions_legacy_key_idx ON questions (org_id)
203
+ WHERE status = 'pending'
204
+ AND ((spec->>'toolKey') = ANY (ARRAY['sandbox_bash', 'sandbox_read', 'sandbox_write',
205
+ 'sandbox_edit', 'sandbox_glob', 'sandbox_grep', 'sandbox_deliver', 'skill_load', 'skill_write',
206
+ 'ask_user', 'read_tool_output', 'tool_search', 'agent']::text[])
207
+ OR ((spec->>'toolKey') ~ '^[a-z0-9][a-z0-9_-]*__.' AND (spec->>'toolKey') !~ '^(mcp|plugin)__'));
208
+
209
+ -- Read before Write / Edit (spec §4.5): EventLog.latestFileState reads the latest tool_result of
210
+ -- a conversation whose view names a file, on every Write and Edit. Without this index it scans
211
+ -- the conversation's events backwards through the primary key, filtering each payload (EXPLAIN
212
+ -- on a 20 000-event conversation: every row removed by the filter for a path never read); with
213
+ -- it, one index probe. Partial: only tool_result rows. Built without CONCURRENTLY (a migration
214
+ -- runs in one transaction), which locks conversation_events against writes while it builds: this
215
+ -- assumes release-candidate-sized event tables, as the event indexes of 0025 and 0040 did. A
216
+ -- deployment with a large table builds it CONCURRENTLY by hand before upgrading; IF NOT EXISTS
217
+ -- then skips it here.
218
+ CREATE INDEX IF NOT EXISTS conversation_events_file_state_idx
219
+ ON conversation_events (conversation_id, ((payload->'view'->'file'->>'path')), seq DESC)
220
+ WHERE type = 'tool_result';
@@ -0,0 +1,7 @@
1
+ -- The organization an account last chose as its current one: a new web session (login, SSO, setup,
2
+ -- an accepted invitation) starts in it while the account is still a member and the org is not
3
+ -- deleted, so people don't pick their org again at every sign-in. Written with the session's
4
+ -- current org by `PUT /me/current-org`; NULL = never chosen (a new session then starts in the only
5
+ -- org when there is exactly one). Additive: older replicas never read or write it.
6
+ ALTER TABLE capybara.accounts
7
+ ADD COLUMN IF NOT EXISTS last_org_id text REFERENCES capybara.orgs(id) ON DELETE SET NULL;
@@ -0,0 +1,8 @@
1
+ -- A person archives a conversation (hidden from the default lists, still readable and unarchived
2
+ -- by a new message) or deletes it (soft: hidden everywhere for the owner; the event log, runs and
3
+ -- trajectories stay for enterprise admins).
4
+ ALTER TABLE capybara.conversations ADD COLUMN IF NOT EXISTS archived_at timestamptz;
5
+ ALTER TABLE capybara.conversations ADD COLUMN IF NOT EXISTS deleted_at timestamptz;
6
+ CREATE INDEX IF NOT EXISTS conversations_live_idx
7
+ ON capybara.conversations (org_id, account_id, updated_at DESC)
8
+ WHERE deleted_at IS NULL AND archived_at IS NULL;
@@ -0,0 +1,4 @@
1
+ -- The plugin.json `displayName` ({ zh, en }) of an extension package, written when the package is
2
+ -- stored; NULL when the plugin has none and for packages stored before this migration (no
3
+ -- backfill: a name arrives with the next version). Additive: older replicas never read it.
4
+ ALTER TABLE capybara.extension_packages ADD COLUMN IF NOT EXISTS display_name jsonb;
@@ -0,0 +1,20 @@
1
+ -- The agent profile (avatar, description, quick actions): display data stored beside the agent,
2
+ -- outside agent_versions, so changing it creates no version. Expand-only.
3
+ -- profile_updated_at is kept at millisecond precision so a client can send it back as expectedUpdatedAt.
4
+ ALTER TABLE capybara.agents ADD COLUMN IF NOT EXISTS profile_avatar jsonb;
5
+ ALTER TABLE capybara.agents ADD COLUMN IF NOT EXISTS profile_description text NOT NULL DEFAULT '';
6
+ ALTER TABLE capybara.agents
7
+ ADD COLUMN IF NOT EXISTS profile_quick_actions jsonb NOT NULL DEFAULT '[]';
8
+ ALTER TABLE capybara.agents
9
+ ADD COLUMN IF NOT EXISTS profile_updated_at timestamptz NOT NULL
10
+ DEFAULT date_trunc('milliseconds', now());
11
+
12
+ -- A definition's avatarUrl becomes an external avatar (once: only where none is set yet).
13
+ UPDATE capybara.agents a
14
+ SET profile_avatar = jsonb_build_object('kind', 'external', 'url', v.definition->>'avatarUrl')
15
+ FROM capybara.agent_versions v
16
+ WHERE v.agent_id = a.id
17
+ AND v.version = a.current_version
18
+ AND a.profile_avatar IS NULL
19
+ AND jsonb_typeof(v.definition->'avatarUrl') = 'string'
20
+ AND v.definition->>'avatarUrl' <> '';
@@ -0,0 +1,7 @@
1
+ -- Agent avatar uploads reuse the presigned attachment flow: a new purpose 'agent-avatar' and the
2
+ -- agent whose profile uses the upload (set once on save; a used upload has no expiry).
3
+ ALTER TABLE capybara.attachments DROP CONSTRAINT IF EXISTS attachments_purpose_check;
4
+ ALTER TABLE capybara.attachments
5
+ ADD CONSTRAINT attachments_purpose_check
6
+ CHECK (purpose IN ('chat', 'skill-package', 'agent-avatar'));
7
+ ALTER TABLE capybara.attachments ADD COLUMN IF NOT EXISTS agent_id text;
@@ -0,0 +1,3 @@
1
+ -- The agent avatar lookup and the cleanup of an agent's uploads filter attachments by agent_id;
2
+ -- a partial index keeps it small, since most attachments belong to no agent.
3
+ CREATE INDEX IF NOT EXISTS attachments_agent_idx ON capybara.attachments (agent_id) WHERE agent_id IS NOT NULL;
@@ -0,0 +1,37 @@
1
+ -- Background Bash (spec 2026-11-05-background-bash-design §4.1): a command started with
2
+ -- run_in_background keeps running in the conversation's sandbox after its tool call returns. One
3
+ -- row per task; the owner is `conversation_id` (the child conversation for a sub-agent) and
4
+ -- `sandbox_conversation_id` is the root conversation that owns the sandbox. Rows go with their
5
+ -- conversations; finished rows are pruned after tools.outputRetentionDays.
6
+ CREATE TABLE IF NOT EXISTS capybara.background_tasks (
7
+ id text PRIMARY KEY,
8
+ org_id text NOT NULL,
9
+ conversation_id text NOT NULL REFERENCES capybara.conversations(id) ON DELETE CASCADE,
10
+ sandbox_conversation_id text NOT NULL REFERENCES capybara.conversations(id) ON DELETE CASCADE,
11
+ run_id text NOT NULL,
12
+ call_id text NOT NULL,
13
+ trigger_account_id text NOT NULL,
14
+ description text NOT NULL,
15
+ command text NOT NULL,
16
+ -- the session id: the pid `setsid` started; stopping and liveness go by the session
17
+ sid text NOT NULL,
18
+ -- relative to /workspace
19
+ output_path text NOT NULL,
20
+ status text NOT NULL DEFAULT 'running'
21
+ CHECK (status IN ('running', 'completed', 'failed', 'stopped', 'timed_out', 'lost')),
22
+ lost_reason text,
23
+ exit_code integer,
24
+ started_at timestamptz NOT NULL DEFAULT now(),
25
+ finished_at timestamptz,
26
+ deadline_at timestamptz NOT NULL,
27
+ -- the sandbox instance the task runs in (the handle plus created_at identify an instance)
28
+ sandbox_created_at timestamptz NOT NULL,
29
+ -- a task marked lost while its process may still exist
30
+ kill_pending boolean NOT NULL DEFAULT false,
31
+ -- the bytes TaskOutput has already returned
32
+ read_offset bigint NOT NULL DEFAULT 0
33
+ );
34
+ CREATE INDEX IF NOT EXISTS background_tasks_running_idx
35
+ ON capybara.background_tasks (sandbox_conversation_id) WHERE status = 'running';
36
+ CREATE INDEX IF NOT EXISTS background_tasks_conversation_idx
37
+ ON capybara.background_tasks (conversation_id, started_at DESC);
@@ -0,0 +1,6 @@
1
+ -- Background Bash: a launch reserves its row (status running, counted against
2
+ -- sandbox.background.maxTasks under a transaction-scoped lock) before the launch exec, and sets
3
+ -- sid and sandbox_created_at once the command started. A row without a sid is a reservation: the
4
+ -- poller skips it, and a failed launch finishes it as failed.
5
+ ALTER TABLE IF EXISTS capybara.background_tasks ALTER COLUMN sid DROP NOT NULL;
6
+ ALTER TABLE IF EXISTS capybara.background_tasks ALTER COLUMN sandbox_created_at DROP NOT NULL;
@@ -0,0 +1,5 @@
1
+ -- Background Bash: a stop claims its task before it signals the session (stopping_at), so the
2
+ -- poller, which skips a claimed task, cannot finish it meanwhile from what the signals leave
3
+ -- behind (no process, or the wrapper's exit status); the stop's own finish is then the only one.
4
+ -- A launch that finds its reservation claimed kills the command it started at once.
5
+ ALTER TABLE IF EXISTS capybara.background_tasks ADD COLUMN IF NOT EXISTS stopping_at timestamptz;
@@ -0,0 +1,11 @@
1
+ -- Web tools (spec §6): an org's default provider of an extension point with `selection:
2
+ -- "org-default"` (`point` is the name without the major, e.g. `web-search`). A row naming an
3
+ -- extension that is disabled or uninstalled stays and is ignored until it is a candidate again.
4
+ CREATE TABLE IF NOT EXISTS capybara.org_extension_point_defaults (
5
+ org_id text NOT NULL REFERENCES capybara.orgs(id) ON DELETE CASCADE,
6
+ point text NOT NULL,
7
+ extension text NOT NULL,
8
+ updated_at timestamptz NOT NULL DEFAULT now(),
9
+ updated_by text REFERENCES capybara.accounts(id) ON DELETE SET NULL,
10
+ PRIMARY KEY (org_id, point)
11
+ );
@@ -0,0 +1,50 @@
1
+ -- Agent map (spec docs/superpowers/specs/2026-11-06-agent-map-design.md §6): nested sub-agents
2
+ -- and a budget per tree.
3
+ -- - conversations.subagent_depth: levels below the root conversation (0 = a root, 1 = its child).
4
+ -- - runs.budget_run_id: the person-triggered root run whose window this run's dispatches and its
5
+ -- descendants' tokens count against; null = the run is its own budget run.
6
+ -- - subagent_dispatches.budget_run_id: the budget run the dispatch counted against (existing rows:
7
+ -- the dispatching run, which was its own budget run before nesting).
8
+ -- - subagent_dispatches.for_skill: the dispatch of a `context: fork` skill invocation (existing
9
+ -- fork dispatches are backfilled).
10
+ ALTER TABLE conversations ADD COLUMN IF NOT EXISTS subagent_depth smallint NOT NULL DEFAULT 0;
11
+
12
+ ALTER TABLE runs ADD COLUMN IF NOT EXISTS budget_run_id text;
13
+ CREATE INDEX IF NOT EXISTS runs_budget_run_idx ON runs (budget_run_id)
14
+ WHERE budget_run_id IS NOT NULL;
15
+
16
+ ALTER TABLE subagent_dispatches ADD COLUMN IF NOT EXISTS budget_run_id text;
17
+ UPDATE subagent_dispatches SET budget_run_id = parent_run_id WHERE budget_run_id IS NULL;
18
+ ALTER TABLE subagent_dispatches ALTER COLUMN budget_run_id SET NOT NULL;
19
+ ALTER TABLE subagent_dispatches ADD COLUMN IF NOT EXISTS for_skill boolean NOT NULL DEFAULT false;
20
+ -- Existing fork dispatches (phase D: call id `skill-<seq>` at step 0, `skillCallId` / `FORK_STEP`
21
+ -- in runtime/subagents/skill-fork.ts) are marked, so a fork in flight across the upgrade keeps its
22
+ -- wait and its finish is never delivered as a background child's. A second run changes nothing.
23
+ UPDATE subagent_dispatches SET for_skill = true
24
+ WHERE for_skill = false AND step = 0 AND parent_call_id ~ '^skill-[0-9]+$';
25
+ CREATE INDEX IF NOT EXISTS subagent_dispatches_budget_run_idx
26
+ ON subagent_dispatches (budget_run_id);
27
+
28
+ -- Org overrides stored in deployment_settings.subagentLimitOverrides ({orgId: {...}}): the limit
29
+ -- maxConcurrentPerRun is now maxConcurrentPerConversation (per conversation, §6). Each org entry
30
+ -- holding the old key gets the new key with its value instead; an entry that already has the new
31
+ -- key keeps it. Rows without the old key are left as they are, so a second run changes nothing.
32
+ UPDATE deployment_settings AS ds
33
+ SET value = (
34
+ SELECT jsonb_object_agg(
35
+ e.org,
36
+ CASE
37
+ WHEN jsonb_typeof(e.entry) = 'object' AND e.entry ? 'maxConcurrentPerRun'
38
+ THEN jsonb_build_object('maxConcurrentPerConversation', e.entry -> 'maxConcurrentPerRun')
39
+ || (e.entry - 'maxConcurrentPerRun')
40
+ ELSE e.entry
41
+ END
42
+ )
43
+ FROM jsonb_each(ds.value) AS e(org, entry)
44
+ )
45
+ WHERE ds.key = 'subagentLimitOverrides'
46
+ AND jsonb_typeof(ds.value) = 'object'
47
+ AND EXISTS (
48
+ SELECT 1 FROM jsonb_each(ds.value) AS e(org, entry)
49
+ WHERE jsonb_typeof(e.entry) = 'object' AND e.entry ? 'maxConcurrentPerRun'
50
+ );
@@ -0,0 +1,61 @@
1
+ -- Plugin scope (phase 1, spec 2026-11-05-plugin-component-management-design.md §5): every catalog item
2
+ -- gets a scope (all / optional / named), a builtin flag, a disabled flag, an org list (named) and
3
+ -- per-org switches. Replaces the catalog policy, grants and requests. Expand-only: `policy`,
4
+ -- `catalog_org_grants` and `catalog_requests` stay (nothing reads them after this release).
5
+ -- The backfill runs once per database (the migrator records the file); the UPDATEs below only read
6
+ -- the old columns, and the inserts are ON CONFLICT DO NOTHING.
7
+ ALTER TABLE catalog_items ADD COLUMN IF NOT EXISTS scope text NOT NULL DEFAULT 'optional';
8
+ ALTER TABLE catalog_items DROP CONSTRAINT IF EXISTS catalog_items_scope_check;
9
+ ALTER TABLE catalog_items ADD CONSTRAINT catalog_items_scope_check
10
+ CHECK (scope IN ('all', 'optional', 'named'));
11
+ ALTER TABLE catalog_items ADD COLUMN IF NOT EXISTS builtin boolean NOT NULL DEFAULT false;
12
+ ALTER TABLE catalog_items ADD COLUMN IF NOT EXISTS disabled boolean NOT NULL DEFAULT false;
13
+ ALTER TABLE catalog_items ADD COLUMN IF NOT EXISTS scope_version integer NOT NULL DEFAULT 0;
14
+
15
+ -- named scope: the orgs the item is offered to.
16
+ CREATE TABLE IF NOT EXISTS catalog_item_scope_orgs (
17
+ item_id uuid NOT NULL REFERENCES catalog_items(id) ON DELETE CASCADE,
18
+ org_id text NOT NULL REFERENCES orgs(id) ON DELETE CASCADE,
19
+ PRIMARY KEY (item_id, org_id)
20
+ );
21
+
22
+ -- Per-org on / off switch of an item's components.
23
+ CREATE TABLE IF NOT EXISTS catalog_item_org_switches (
24
+ item_id uuid NOT NULL REFERENCES catalog_items(id) ON DELETE CASCADE,
25
+ org_id text NOT NULL REFERENCES orgs(id) ON DELETE CASCADE,
26
+ enabled boolean NOT NULL,
27
+ updated_by text REFERENCES accounts(id) ON DELETE SET NULL,
28
+ updated_at timestamptz NOT NULL DEFAULT now(),
29
+ PRIMARY KEY (item_id, org_id)
30
+ );
31
+
32
+ -- Backfill from policy / grants / installs.
33
+ UPDATE catalog_items SET disabled = true WHERE policy = 'disabled';
34
+ UPDATE catalog_items SET scope = 'named' WHERE policy = 'needs_approval';
35
+
36
+ -- Required bootstrap plugins are builtin and offered to every org.
37
+ UPDATE catalog_items SET scope = 'all', builtin = true
38
+ WHERE id IN (SELECT catalog_item_id FROM extension_installs
39
+ WHERE required AND catalog_item_id IS NOT NULL);
40
+
41
+ -- named: granted orgs and orgs that already installed it.
42
+ INSERT INTO catalog_item_scope_orgs (item_id, org_id)
43
+ SELECT g.item_id, g.org_id FROM catalog_org_grants g
44
+ JOIN catalog_items i ON i.id = g.item_id AND i.scope = 'named'
45
+ ON CONFLICT DO NOTHING;
46
+ INSERT INTO catalog_item_scope_orgs (item_id, org_id)
47
+ SELECT DISTINCT p.item_id, p.org_id FROM plugin_installs p
48
+ JOIN catalog_items i ON i.id = p.item_id AND i.scope = 'named'
49
+ WHERE p.status = 'installed'
50
+ ON CONFLICT DO NOTHING;
51
+
52
+ -- An org that installed the item keeps it on (builtin / all items need no switch).
53
+ INSERT INTO catalog_item_org_switches (item_id, org_id, enabled)
54
+ SELECT DISTINCT p.item_id, p.org_id, true FROM plugin_installs p
55
+ JOIN catalog_items i ON i.id = p.item_id AND i.scope <> 'all'
56
+ WHERE p.status = 'installed'
57
+ ON CONFLICT DO NOTHING;
58
+
59
+ -- Requests are gone: pending ones are withdrawn ('cancelled', the status the old withdraw used).
60
+ UPDATE catalog_requests SET status = 'cancelled', note = 'superseded by scope', decided_at = now()
61
+ WHERE status = 'pending';
@@ -0,0 +1,6 @@
1
+ -- Plugin scope sync (spec 2026-11-05-plugin-component-management-design.md §5): the kernel installs
2
+ -- plugins in an org as no person (the worker job that converges orgs to a plugin's scope), so a
3
+ -- skill or skill version it creates has no creator. Relaxing NOT NULL is expand-only: rows written
4
+ -- before keep their creator, and dropping NOT NULL on a nullable column is a no-op.
5
+ ALTER TABLE skills ALTER COLUMN created_by DROP NOT NULL;
6
+ ALTER TABLE skill_versions ALTER COLUMN created_by DROP NOT NULL;
@@ -0,0 +1,52 @@
1
+ -- Requests under plugin scope (phase 1, spec 2026-11-05-plugin-component-management-design.md
2
+ -- §5.1). A request has a kind: `access` (an org admin asks the enterprise admin to add the org to a
3
+ -- `named` item shown to other orgs), `import` (an org admin asks for a marketplace entry that is not
4
+ -- in the catalog yet: no item, the entry instead) or `enable` (a member asks the org admin to switch
5
+ -- an `optional` item on). Expand-only: `stage`, `version`, `org_decided_*` stay (the new code still
6
+ -- writes `stage` so the old NOT NULL and CHECK hold, and reads none of them).
7
+
8
+ -- Whether orgs outside a `named` item's list see it (as requestable). Never makes it usable.
9
+ ALTER TABLE catalog_items ADD COLUMN IF NOT EXISTS shown_to_others boolean NOT NULL DEFAULT true;
10
+
11
+ ALTER TABLE catalog_requests ADD COLUMN IF NOT EXISTS kind text NOT NULL DEFAULT 'access';
12
+ ALTER TABLE catalog_requests DROP CONSTRAINT IF EXISTS catalog_requests_kind_check;
13
+ ALTER TABLE catalog_requests ADD CONSTRAINT catalog_requests_kind_check
14
+ CHECK (kind IN ('access', 'import', 'enable'));
15
+ -- An `import` request names a marketplace entry; its item is written when the import's confirm
16
+ -- commits.
17
+ ALTER TABLE catalog_requests ALTER COLUMN item_id DROP NOT NULL;
18
+ ALTER TABLE catalog_requests ADD COLUMN IF NOT EXISTS marketplace_id text
19
+ REFERENCES marketplaces(id) ON DELETE SET NULL;
20
+ ALTER TABLE catalog_requests ADD COLUMN IF NOT EXISTS entry_name text;
21
+ ALTER TABLE catalog_requests ADD COLUMN IF NOT EXISTS entry_version text;
22
+ ALTER TABLE catalog_requests DROP CONSTRAINT IF EXISTS catalog_requests_target_check;
23
+ ALTER TABLE catalog_requests ADD CONSTRAINT catalog_requests_target_check
24
+ CHECK (kind = 'import' AND entry_name IS NOT NULL OR kind <> 'import' AND item_id IS NOT NULL);
25
+ -- The optional reason of a rejection, shown to the requester.
26
+ ALTER TABLE catalog_requests ADD COLUMN IF NOT EXISTS reason text;
27
+ -- The prepared import of an approved `import` request (it resolves when that staging is confirmed;
28
+ -- a staging that expires leaves it pending).
29
+ ALTER TABLE catalog_requests ADD COLUMN IF NOT EXISTS staging_id uuid;
30
+ CREATE INDEX IF NOT EXISTS catalog_requests_staging_idx
31
+ ON catalog_requests (staging_id) WHERE staging_id IS NOT NULL;
32
+ -- The requester dismissed the decision notice from the inbox.
33
+ ALTER TABLE catalog_requests ADD COLUMN IF NOT EXISTS dismissed_at timestamptz;
34
+
35
+ -- One pending request per (org, kind, item or entry): replaces the old (org, item) index.
36
+ DROP INDEX IF EXISTS directory_requests_pending_uq;
37
+ CREATE UNIQUE INDEX IF NOT EXISTS catalog_requests_pending_item_uq
38
+ ON catalog_requests (org_id, kind, item_id)
39
+ WHERE status = 'pending' AND item_id IS NOT NULL;
40
+ CREATE UNIQUE INDEX IF NOT EXISTS catalog_requests_pending_entry_uq
41
+ ON catalog_requests (org_id, marketplace_id, entry_name)
42
+ WHERE status = 'pending' AND kind = 'import';
43
+ CREATE INDEX IF NOT EXISTS catalog_requests_kind_idx
44
+ ON catalog_requests (kind, status, created_at);
45
+ CREATE INDEX IF NOT EXISTS catalog_requests_requester_idx
46
+ ON catalog_requests (org_id, requested_by) WHERE status IN ('approved', 'rejected');
47
+
48
+ -- Rows written before kinds: a member's request (stage org) was an `enable` one; decided requests
49
+ -- from before are not shown to their requesters as new decisions.
50
+ UPDATE catalog_requests SET kind = 'enable' WHERE stage = 'org' AND kind = 'access';
51
+ UPDATE catalog_requests SET dismissed_at = now()
52
+ WHERE status <> 'pending' AND dismissed_at IS NULL;
@@ -0,0 +1,18 @@
1
+ -- Plugin scope follow-up to 0075 (spec 2026-11-05-plugin-component-management-design.md §6
2
+ -- "Migration of what exists"): 0075 put the orgs granted a `needs_approval` item on its `named`
3
+ -- list, where a listed org without a switch row wants the plugin on. A grant only allowed an
4
+ -- install; an org that never installed it did not have it on. Such orgs get an explicit switch
5
+ -- row `enabled = false`, so the plugin stays off there until an org admin switches it on.
6
+ -- Expand-only and idempotent: inserts only, ON CONFLICT DO NOTHING (a switch row an org admin or
7
+ -- 0075 wrote wins).
8
+ INSERT INTO catalog_item_org_switches (item_id, org_id, enabled)
9
+ SELECT s.item_id, s.org_id, false
10
+ FROM catalog_item_scope_orgs s
11
+ JOIN catalog_items i ON i.id = s.item_id AND i.policy = 'needs_approval'
12
+ JOIN catalog_org_grants g ON g.item_id = s.item_id AND g.org_id = s.org_id
13
+ WHERE NOT EXISTS (
14
+ SELECT 1 FROM plugin_installs p
15
+ WHERE p.item_id = s.item_id AND p.org_id = s.org_id
16
+ AND p.status IN ('installing', 'installed', 'upgrading')
17
+ )
18
+ ON CONFLICT DO NOTHING;
@@ -0,0 +1,19 @@
1
+ -- Plugin scope follow-up to 0075 (spec 2026-11-05-plugin-component-management-design.md §6
2
+ -- "Migration of what exists"): 0075 listed and switched on only the org installs with status
3
+ -- `installed`. An install that was `installing` or `upgrading` when 0075 ran got no switch row,
4
+ -- which for an `optional` item means off, and no place on a `named` item's org list; the worker's
5
+ -- start-time scope resync would then uninstall it. Such installs get what 0075 gave installed ones:
6
+ -- the org on the named list and a switch row `enabled = true` (builtin / `all` items need none).
7
+ -- Expand-only and idempotent: inserts only, ON CONFLICT DO NOTHING (a row an org admin, 0075 or
8
+ -- 0078 wrote wins).
9
+ INSERT INTO catalog_item_scope_orgs (item_id, org_id)
10
+ SELECT DISTINCT p.item_id, p.org_id FROM plugin_installs p
11
+ JOIN catalog_items i ON i.id = p.item_id AND i.scope = 'named'
12
+ WHERE p.status IN ('installing', 'upgrading')
13
+ ON CONFLICT DO NOTHING;
14
+
15
+ INSERT INTO catalog_item_org_switches (item_id, org_id, enabled)
16
+ SELECT DISTINCT p.item_id, p.org_id, true FROM plugin_installs p
17
+ JOIN catalog_items i ON i.id = p.item_id AND i.scope <> 'all'
18
+ WHERE p.status IN ('installing', 'upgrading')
19
+ ON CONFLICT DO NOTHING;
@@ -0,0 +1,18 @@
1
+ -- The deployment-level role "enterprise admin" becomes "super admin" (plugin and component
2
+ -- management spec §13.4b): accounts.is_enterprise_admin becomes is_super_admin, and the stored
3
+ -- deployment setting orgCreation "enterprise_admin" becomes "super_admin". Historical audit rows
4
+ -- are not rewritten. No compatibility layer (release candidate).
5
+
6
+ -- capybara:allow-destructive column rename; code is renamed in the same release (release candidate, no compatibility layer)
7
+ DO $$
8
+ BEGIN
9
+ IF EXISTS (SELECT 1 FROM information_schema.columns
10
+ WHERE table_schema = 'capybara' AND table_name = 'accounts'
11
+ AND column_name = 'is_enterprise_admin') THEN
12
+ ALTER TABLE accounts RENAME COLUMN is_enterprise_admin TO is_super_admin;
13
+ END IF;
14
+ END
15
+ $$;
16
+
17
+ UPDATE deployment_settings SET value = '"super_admin"'::jsonb
18
+ WHERE key = 'orgCreation' AND value = '"enterprise_admin"'::jsonb;