@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,129 @@
1
+ -- Platform components (phase 2, plan 2026-11-06-plugin-scope-phase-2.md rulings A2-C2, E2): skills,
2
+ -- agent templates and connector templates owned by the deployment instead of an org, with their own
3
+ -- scope (follow the plugin's, or their own), an org list (named) and per-org switches. Org copies
4
+ -- link to them. Expand-only: nothing existing is changed except `agent_templates.plugin_name`
5
+ -- losing NOT NULL (a template without a plugin is the bare `<name>`).
6
+
7
+ CREATE TABLE IF NOT EXISTS platform_skills (
8
+ id text PRIMARY KEY,
9
+ catalog_item_id uuid REFERENCES catalog_items(id) ON DELETE SET NULL,
10
+ plugin_name text,
11
+ name text NOT NULL,
12
+ description text NOT NULL,
13
+ description_zh text,
14
+ current_version integer NOT NULL CHECK (current_version >= 1),
15
+ scope_mode text NOT NULL DEFAULT 'follow' CHECK (scope_mode IN ('follow', 'own')),
16
+ scope text NOT NULL DEFAULT 'optional' CHECK (scope IN ('all', 'optional', 'named')),
17
+ disabled boolean NOT NULL DEFAULT false,
18
+ shown_to_others boolean NOT NULL DEFAULT true,
19
+ scope_version integer NOT NULL DEFAULT 0,
20
+ created_at timestamptz NOT NULL DEFAULT now(),
21
+ updated_at timestamptz NOT NULL DEFAULT now(),
22
+ deleted_at timestamptz
23
+ );
24
+ CREATE UNIQUE INDEX IF NOT EXISTS platform_skills_live_name_uq
25
+ ON platform_skills ((coalesce(plugin_name, '')), name)
26
+ WHERE deleted_at IS NULL;
27
+
28
+ CREATE TABLE IF NOT EXISTS platform_skill_versions (
29
+ skill_id text NOT NULL REFERENCES platform_skills(id) ON DELETE CASCADE,
30
+ version integer NOT NULL CHECK (version >= 1),
31
+ manifest jsonb NOT NULL,
32
+ object_prefix text NOT NULL,
33
+ catalog_version text,
34
+ source_format text NOT NULL DEFAULT 'capybara' CHECK (source_format IN ('capybara', 'claude-code')),
35
+ suggest_pinned boolean NOT NULL DEFAULT false,
36
+ updated_on_own boolean NOT NULL DEFAULT false,
37
+ created_by text,
38
+ created_at timestamptz NOT NULL DEFAULT now(),
39
+ PRIMARY KEY (skill_id, version)
40
+ );
41
+
42
+ CREATE TABLE IF NOT EXISTS platform_agent_templates (
43
+ id text PRIMARY KEY,
44
+ catalog_item_id uuid REFERENCES catalog_items(id) ON DELETE SET NULL,
45
+ plugin_name text,
46
+ name text NOT NULL,
47
+ description text,
48
+ description_zh text,
49
+ current_version integer NOT NULL CHECK (current_version >= 1),
50
+ scope_mode text NOT NULL DEFAULT 'follow' CHECK (scope_mode IN ('follow', 'own')),
51
+ scope text NOT NULL DEFAULT 'optional' CHECK (scope IN ('all', 'optional', 'named')),
52
+ disabled boolean NOT NULL DEFAULT false,
53
+ shown_to_others boolean NOT NULL DEFAULT true,
54
+ scope_version integer NOT NULL DEFAULT 0,
55
+ created_at timestamptz NOT NULL DEFAULT now(),
56
+ updated_at timestamptz NOT NULL DEFAULT now(),
57
+ deleted_at timestamptz
58
+ );
59
+ CREATE UNIQUE INDEX IF NOT EXISTS platform_agent_templates_live_name_uq
60
+ ON platform_agent_templates ((coalesce(plugin_name, '')), name)
61
+ WHERE deleted_at IS NULL;
62
+
63
+ CREATE TABLE IF NOT EXISTS platform_agent_template_versions (
64
+ template_id text NOT NULL REFERENCES platform_agent_templates(id) ON DELETE CASCADE,
65
+ version integer NOT NULL CHECK (version >= 1),
66
+ definition jsonb NOT NULL,
67
+ object_prefix text,
68
+ catalog_version text,
69
+ source_format text NOT NULL DEFAULT 'capybara' CHECK (source_format IN ('capybara', 'claude-code')),
70
+ suggest_pinned boolean NOT NULL DEFAULT false,
71
+ updated_on_own boolean NOT NULL DEFAULT false,
72
+ created_by text,
73
+ created_at timestamptz NOT NULL DEFAULT now(),
74
+ PRIMARY KEY (template_id, version)
75
+ );
76
+
77
+ CREATE TABLE IF NOT EXISTS platform_connector_templates (
78
+ id text PRIMARY KEY,
79
+ catalog_item_id uuid NOT NULL REFERENCES catalog_items(id) ON DELETE CASCADE,
80
+ template_id text NOT NULL,
81
+ current_version text NOT NULL,
82
+ file jsonb NOT NULL,
83
+ scope_mode text NOT NULL DEFAULT 'follow' CHECK (scope_mode IN ('follow', 'own')),
84
+ scope text NOT NULL DEFAULT 'optional' CHECK (scope IN ('all', 'optional', 'named')),
85
+ disabled boolean NOT NULL DEFAULT false,
86
+ shown_to_others boolean NOT NULL DEFAULT true,
87
+ scope_version integer NOT NULL DEFAULT 0,
88
+ created_at timestamptz NOT NULL DEFAULT now(),
89
+ updated_at timestamptz NOT NULL DEFAULT now(),
90
+ deleted_at timestamptz
91
+ );
92
+ CREATE UNIQUE INDEX IF NOT EXISTS platform_connector_templates_live_uq
93
+ ON platform_connector_templates (catalog_item_id, template_id)
94
+ WHERE deleted_at IS NULL;
95
+
96
+ -- Scope of an own-scope component: the orgs it is offered to (named) and each org's switch.
97
+ CREATE TABLE IF NOT EXISTS component_scope_orgs (
98
+ kind text NOT NULL CHECK (kind IN ('skill', 'agent_template', 'connector_template')),
99
+ component_id text NOT NULL,
100
+ org_id text NOT NULL REFERENCES orgs(id) ON DELETE CASCADE,
101
+ PRIMARY KEY (kind, component_id, org_id)
102
+ );
103
+ CREATE TABLE IF NOT EXISTS component_org_switches (
104
+ kind text NOT NULL CHECK (kind IN ('skill', 'agent_template', 'connector_template')),
105
+ component_id text NOT NULL,
106
+ org_id text NOT NULL REFERENCES orgs(id) ON DELETE CASCADE,
107
+ enabled boolean NOT NULL,
108
+ updated_by text REFERENCES accounts(id) ON DELETE SET NULL,
109
+ updated_at timestamptz NOT NULL DEFAULT now(),
110
+ PRIMARY KEY (kind, component_id, org_id)
111
+ );
112
+
113
+ -- Links from the org copies (ruling B2): a pin keeps the copy on its own stored version.
114
+ ALTER TABLE skills ADD COLUMN IF NOT EXISTS platform_skill_id text
115
+ REFERENCES platform_skills(id) ON DELETE SET NULL;
116
+ ALTER TABLE skills ADD COLUMN IF NOT EXISTS pinned_version integer;
117
+ ALTER TABLE agent_templates ADD COLUMN IF NOT EXISTS platform_template_id text
118
+ REFERENCES platform_agent_templates(id) ON DELETE SET NULL;
119
+ ALTER TABLE agent_templates ADD COLUMN IF NOT EXISTS pinned_version integer;
120
+ ALTER TABLE connectors ADD COLUMN IF NOT EXISTS platform_template_id text
121
+ REFERENCES platform_connector_templates(id) ON DELETE SET NULL;
122
+
123
+ -- A template without a plugin is the bare `<name>`; the live-name index must still hold for NULLs.
124
+ ALTER TABLE agent_templates ALTER COLUMN plugin_name DROP NOT NULL;
125
+ -- capybara:allow-destructive the index is recreated in the same transaction over coalesce(plugin_name, '') so NULL plugin names stay unique; no data change
126
+ DROP INDEX IF EXISTS agent_templates_live_name_uq;
127
+ CREATE UNIQUE INDEX IF NOT EXISTS agent_templates_live_name_uq
128
+ ON agent_templates (org_id, (coalesce(plugin_name, '')), name)
129
+ WHERE deleted_at IS NULL;
@@ -0,0 +1,33 @@
1
+ -- Plugin scope phase 2, Task 5: the migration of org copies to platform components
2
+ -- (`catalog/platform-migration.ts`, the worker job `platform-components-migrate`), and the org
3
+ -- notices it writes for the org admins' inbox.
4
+
5
+ -- The catalog version the item's platform components were last written from
6
+ -- (`PlatformComponents.syncFromVersion`); null = never: the migration job writes them once. Removed
7
+ -- components are not brought back, since an item with a version here is never synced by the job.
8
+ ALTER TABLE catalog_items ADD COLUMN IF NOT EXISTS platform_synced_version text;
9
+
10
+ -- One row per run of the job (at every worker start and once a day): when it ran and what it
11
+ -- changed; rows older than 30 days are pruned, except the first finished run, whose start is the
12
+ -- cutoff of the one-shot rename step (only org skills whose current version predates it).
13
+ CREATE TABLE IF NOT EXISTS platform_migration_runs (
14
+ id uuid PRIMARY KEY,
15
+ started_at timestamptz NOT NULL DEFAULT now(),
16
+ finished_at timestamptz,
17
+ stats jsonb NOT NULL DEFAULT '{}'::jsonb
18
+ );
19
+
20
+ -- A notice for an org's admins (inbox item kind = `kind`), until one of them dismisses it.
21
+ -- `skill_renamed`: detail `{ skillId, from, to, platformSkillId, plugin }`.
22
+ CREATE TABLE IF NOT EXISTS org_notices (
23
+ id uuid PRIMARY KEY,
24
+ org_id text NOT NULL REFERENCES orgs(id) ON DELETE CASCADE,
25
+ kind text NOT NULL CHECK (kind IN ('skill_renamed')),
26
+ detail jsonb NOT NULL,
27
+ created_at timestamptz NOT NULL DEFAULT now(),
28
+ dismissed_at timestamptz,
29
+ dismissed_by text REFERENCES accounts(id) ON DELETE SET NULL
30
+ );
31
+ CREATE INDEX IF NOT EXISTS org_notices_open_idx
32
+ ON org_notices (org_id, created_at DESC)
33
+ WHERE dismissed_at IS NULL;
@@ -0,0 +1,15 @@
1
+ -- Plugin scope phase 2, Task 11: the plugin scope sync's open failures, for the super admin's
2
+ -- inbox (`catalog/scope-sync.ts` writes them, `inbox/platform-inbox.service.ts` reads them). One
3
+ -- row per (item, org) whose last sync attempt failed; the next sync of that pair that does not
4
+ -- fail deletes it. The audit event `plugin.scope_sync_failed` stays the history. `op`: `install`
5
+ -- (turning it on), `uninstall` (turning it off), `dependencies` (installing the dependencies a
6
+ -- platform update added to a live install).
7
+ CREATE TABLE IF NOT EXISTS plugin_scope_sync_failures (
8
+ item_id uuid NOT NULL REFERENCES catalog_items(id) ON DELETE CASCADE,
9
+ org_id text NOT NULL REFERENCES orgs(id) ON DELETE CASCADE,
10
+ op text NOT NULL CHECK (op IN ('install', 'uninstall', 'dependencies')),
11
+ code text NOT NULL,
12
+ message text NOT NULL,
13
+ failed_at timestamptz NOT NULL DEFAULT now(),
14
+ PRIMARY KEY (item_id, org_id)
15
+ );
@@ -0,0 +1,85 @@
1
+ -- Org-owned items, sharing, pending uploads and notices (phase 3, plan
2
+ -- 2026-11-06-plugin-scope-phase-3.md Task 1; rulings P3-3, P3-5, P3-6, P3-8, F27). Expand-only:
3
+ -- every column is nullable or defaulted, and existing rows stay platform-owned (owner_org_id NULL)
4
+ -- and not shareable. The only dropped objects are the old live-name indexes and the old notice
5
+ -- kind check, replaced in the same file.
6
+
7
+ -- Owners and pending uploads of catalog items. `owner_org_id` NULL = the platform; an org's
8
+ -- upload that carries an extension waits for the super admin (`awaiting_confirmation`), with the
9
+ -- uploaded version in `pending_*` until confirmed (P3-9 to P3-13).
10
+ ALTER TABLE catalog_items ADD COLUMN IF NOT EXISTS owner_org_id text
11
+ REFERENCES orgs(id) ON DELETE SET NULL;
12
+ ALTER TABLE catalog_items ADD COLUMN IF NOT EXISTS shareable boolean NOT NULL DEFAULT false;
13
+ ALTER TABLE catalog_items ADD COLUMN IF NOT EXISTS awaiting_confirmation boolean NOT NULL DEFAULT false;
14
+ ALTER TABLE catalog_items ADD COLUMN IF NOT EXISTS pending_version text;
15
+ ALTER TABLE catalog_items ADD COLUMN IF NOT EXISTS pending_by text
16
+ REFERENCES accounts(id) ON DELETE SET NULL;
17
+ ALTER TABLE catalog_items ADD COLUMN IF NOT EXISTS pending_at timestamptz;
18
+ CREATE INDEX IF NOT EXISTS catalog_items_owner_idx
19
+ ON catalog_items (owner_org_id)
20
+ WHERE owner_org_id IS NOT NULL AND deleted_at IS NULL;
21
+
22
+ -- Whether a version may be used (ruling P3-52): `applied_at` is set when it was applied or
23
+ -- confirmed (a platform import is applied as it is written: the default; an org's upload writes
24
+ -- NULL until its owner applies it or the super admin confirms it), `rejected_at` when the super
25
+ -- admin rejected it. Readers serving other orgs or the generic update use only applied, not
26
+ -- rejected versions, whoever owns the item (a transfer keeps the version rows). Existing rows
27
+ -- are platform imports: applied.
28
+ ALTER TABLE catalog_item_versions ADD COLUMN IF NOT EXISTS applied_at timestamptz DEFAULT now();
29
+ ALTER TABLE catalog_item_versions ADD COLUMN IF NOT EXISTS rejected_at timestamptz;
30
+
31
+ -- Platform components: the owning org (NULL = platform), the org they were created in
32
+ -- (`origin_org_id`, no FK, immutable; F27) and the share switch (P3-3, P3-5).
33
+ ALTER TABLE platform_skills ADD COLUMN IF NOT EXISTS owner_org_id text
34
+ REFERENCES orgs(id) ON DELETE SET NULL;
35
+ ALTER TABLE platform_skills ADD COLUMN IF NOT EXISTS origin_org_id text;
36
+ ALTER TABLE platform_skills ADD COLUMN IF NOT EXISTS shareable boolean NOT NULL DEFAULT false;
37
+ ALTER TABLE platform_agent_templates ADD COLUMN IF NOT EXISTS owner_org_id text
38
+ REFERENCES orgs(id) ON DELETE SET NULL;
39
+ ALTER TABLE platform_agent_templates ADD COLUMN IF NOT EXISTS origin_org_id text;
40
+ ALTER TABLE platform_agent_templates ADD COLUMN IF NOT EXISTS shareable boolean NOT NULL DEFAULT false;
41
+ ALTER TABLE platform_connector_templates ADD COLUMN IF NOT EXISTS owner_org_id text
42
+ REFERENCES orgs(id) ON DELETE SET NULL;
43
+ ALTER TABLE platform_connector_templates ADD COLUMN IF NOT EXISTS shareable boolean NOT NULL DEFAULT false;
44
+
45
+ -- Live names are unique per origin org (P3-5); the new indexes come first, then the old ones go
46
+ -- (F27: new names, so a re-run is a true no-op).
47
+ CREATE UNIQUE INDEX IF NOT EXISTS platform_skills_live_name_origin_uq
48
+ ON platform_skills ((coalesce(plugin_name, '')), name, (coalesce(origin_org_id, '')))
49
+ WHERE deleted_at IS NULL;
50
+ CREATE UNIQUE INDEX IF NOT EXISTS platform_agent_templates_live_name_origin_uq
51
+ ON platform_agent_templates ((coalesce(plugin_name, '')), name, (coalesce(origin_org_id, '')))
52
+ WHERE deleted_at IS NULL;
53
+ -- capybara:allow-destructive replaced by platform_skills_live_name_origin_uq created above in this file; no data change
54
+ DROP INDEX IF EXISTS platform_skills_live_name_uq;
55
+ -- capybara:allow-destructive replaced by platform_agent_templates_live_name_origin_uq created above in this file; no data change
56
+ DROP INDEX IF EXISTS platform_agent_templates_live_name_uq;
57
+
58
+ -- Org copies: whether the owner shares the copy with other orgs (P3-3, P3-6).
59
+ ALTER TABLE skills ADD COLUMN IF NOT EXISTS shareable boolean NOT NULL DEFAULT false;
60
+ ALTER TABLE agent_templates ADD COLUMN IF NOT EXISTS shareable boolean NOT NULL DEFAULT false;
61
+
62
+ -- An org's upload waits in staging under its org (P3-8); deleting the org drops the staging.
63
+ ALTER TABLE plugin_import_staging ADD COLUMN IF NOT EXISTS org_id text
64
+ REFERENCES orgs(id) ON DELETE CASCADE;
65
+
66
+ -- New org notice kinds. 0082 declared the CHECK inline, so it is named org_notices_kind_check.
67
+ -- capybara:allow-destructive the check is added back with the wider kind list in the next statement; existing rows (skill_renamed) satisfy it
68
+ ALTER TABLE org_notices DROP CONSTRAINT IF EXISTS org_notices_kind_check;
69
+ ALTER TABLE org_notices ADD CONSTRAINT org_notices_kind_check
70
+ CHECK (kind IN ('skill_renamed', 'item_shared', 'shared_item_updated',
71
+ 'upload_confirmed', 'upload_rejected'));
72
+
73
+ -- A notice for the super admins (platform inbox), until one of them dismisses it.
74
+ -- `ownership_transferred`: a deleted org's shared item now belongs to the platform.
75
+ CREATE TABLE IF NOT EXISTS platform_notices (
76
+ id uuid PRIMARY KEY,
77
+ kind text NOT NULL CHECK (kind IN ('ownership_transferred')),
78
+ detail jsonb NOT NULL,
79
+ created_at timestamptz NOT NULL DEFAULT now(),
80
+ dismissed_at timestamptz,
81
+ dismissed_by text REFERENCES accounts(id) ON DELETE SET NULL
82
+ );
83
+ CREATE INDEX IF NOT EXISTS platform_notices_open_idx
84
+ ON platform_notices (created_at DESC)
85
+ WHERE dismissed_at IS NULL;
@@ -0,0 +1,45 @@
1
+ -- Agent templates, phase 4 (spec 2026-11-05-plugin-component-management-design.md §15.2: P4-7
2
+ -- connector_setup requests, P4-8 provenance). Expand-only: every new column is nullable, existing
3
+ -- rows keep their shape, and the only dropped objects are two checks replaced in this file.
4
+
5
+ -- P4-8: where an agent came from. Display data only (no FK: the template may be deleted or
6
+ -- renamed later), written when an agent is created from a template.
7
+ ALTER TABLE agents ADD COLUMN IF NOT EXISTS created_from_template_id text;
8
+ ALTER TABLE agents ADD COLUMN IF NOT EXISTS created_from_template_version int;
9
+ ALTER TABLE agents ADD COLUMN IF NOT EXISTS created_from_template_name text;
10
+
11
+ -- P4-7: a `connector_setup` request asks an org admin to set up the connectors an agent made from a
12
+ -- template needs (`pending_keys`: the template's connector keys still without an instance). It
13
+ -- names its agent and no item or marketplace entry.
14
+ ALTER TABLE catalog_requests ADD COLUMN IF NOT EXISTS agent_id text
15
+ REFERENCES agents(id) ON DELETE CASCADE;
16
+ ALTER TABLE catalog_requests ADD COLUMN IF NOT EXISTS pending_keys jsonb;
17
+
18
+ -- capybara:allow-destructive the check is added back with `connector_setup` in the next statement; existing rows (access, import, enable) satisfy it
19
+ ALTER TABLE catalog_requests DROP CONSTRAINT IF EXISTS catalog_requests_kind_check;
20
+ ALTER TABLE catalog_requests ADD CONSTRAINT catalog_requests_kind_check
21
+ CHECK (kind IN ('access', 'import', 'enable', 'connector_setup'));
22
+
23
+ -- item_id is already nullable (0077). The target check of 0077 required an item for every kind but
24
+ -- `import`; a connector_setup row needs an agent instead.
25
+ -- capybara:allow-destructive the check is added back with the connector_setup branch in the next statement; existing rows satisfy its first and third branches
26
+ ALTER TABLE catalog_requests DROP CONSTRAINT IF EXISTS catalog_requests_target_check;
27
+ ALTER TABLE catalog_requests ADD CONSTRAINT catalog_requests_target_check
28
+ CHECK (
29
+ kind = 'import' AND entry_name IS NOT NULL
30
+ OR kind = 'connector_setup' AND agent_id IS NOT NULL
31
+ AND item_id IS NULL AND entry_name IS NULL
32
+ OR kind NOT IN ('import', 'connector_setup') AND item_id IS NOT NULL
33
+ );
34
+
35
+ -- `pending_keys` is a JSON array of keys when set.
36
+ ALTER TABLE catalog_requests DROP CONSTRAINT IF EXISTS catalog_requests_pending_keys_check;
37
+ ALTER TABLE catalog_requests ADD CONSTRAINT catalog_requests_pending_keys_check
38
+ CHECK (pending_keys IS NULL OR jsonb_typeof(pending_keys) = 'array');
39
+
40
+ -- At most one pending setup request per agent (P4-7).
41
+ CREATE UNIQUE INDEX IF NOT EXISTS catalog_requests_pending_setup_uq
42
+ ON catalog_requests (agent_id) WHERE kind = 'connector_setup' AND status = 'pending';
43
+
44
+ CREATE INDEX IF NOT EXISTS catalog_requests_agent_idx
45
+ ON catalog_requests (agent_id) WHERE agent_id IS NOT NULL;
@@ -0,0 +1,30 @@
1
+ -- Platform / org layering (spec 2026-11-07-platform-org-layering-design.md). Expand-only: two new
2
+ -- tables, nothing existing changes.
3
+
4
+ -- 0086, spec §5.4 / §5.8: an org's copy of an extension's overridable deployment config fields. A
5
+ -- row is a copy; no row means the org follows the platform ("no copy" and "a copy equal to the
6
+ -- platform" stay distinct). `config` holds the copy's non-secret values; its secrets live in
7
+ -- `secrets` under the org (namespace `kernel`, key `plugin-override:<plugin>:<path>`). Rows are kept
8
+ -- when the extension is disabled or uninstalled, like `extension_org_configs`.
9
+ CREATE TABLE IF NOT EXISTS extension_org_overrides (
10
+ plugin text NOT NULL,
11
+ org_id text NOT NULL REFERENCES orgs(id) ON DELETE CASCADE,
12
+ config jsonb NOT NULL DEFAULT '{}'::jsonb,
13
+ created_by text REFERENCES accounts(id) ON DELETE SET NULL,
14
+ created_at timestamptz NOT NULL DEFAULT now(),
15
+ updated_by text REFERENCES accounts(id) ON DELETE SET NULL,
16
+ updated_at timestamptz NOT NULL DEFAULT now(),
17
+ PRIMARY KEY (plugin, org_id)
18
+ );
19
+
20
+ -- 0086, spec §7: an org admin's switch of one tool of an extension that is on in the org. No row
21
+ -- means the tool follows the extension (on).
22
+ CREATE TABLE IF NOT EXISTS org_tool_switches (
23
+ org_id text NOT NULL REFERENCES orgs(id) ON DELETE CASCADE,
24
+ plugin text NOT NULL,
25
+ tool text NOT NULL,
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 (org_id, plugin, tool)
30
+ );
@@ -0,0 +1,6 @@
1
+ -- Platform tool (spec 2026-11-07-platform-tool-design.md §6.2, §6.3): an approval carries the
2
+ -- kernel-rendered summary of the call ({zh, en}) and the scopes the person may choose. Expand-only:
3
+ -- both columns are nullable; null keeps today's behavior (no summary; scopes derived from the row:
4
+ -- "once" for a role escalation, else once / session / always).
5
+ ALTER TABLE approvals ADD COLUMN IF NOT EXISTS summary jsonb;
6
+ ALTER TABLE approvals ADD COLUMN IF NOT EXISTS scopes text[];
@@ -0,0 +1,80 @@
1
+ -- Environments phase 1 (spec 2026-11-07-environments-design §4.2, §10): a long-lived environment
2
+ -- is one sandbox instance plus a file system kept until the environment is deleted. This replaces
3
+ -- the per-conversation `sandboxes` table with `environment_instances`; the old table stays only
4
+ -- for the cleanup job that destroys its remaining instances. The CHECK lists of owner_kind and
5
+ -- source grow in phases 2 and 3 through new migrations.
6
+ CREATE TABLE IF NOT EXISTS capybara.environments (
7
+ id text PRIMARY KEY,
8
+ org_id text NOT NULL REFERENCES capybara.orgs(id) ON DELETE CASCADE,
9
+ owner_kind text NOT NULL CHECK (owner_kind IN ('personal')),
10
+ owner_account_id text NOT NULL REFERENCES capybara.accounts(id),
11
+ name text,
12
+ is_default boolean NOT NULL DEFAULT false,
13
+ source text NOT NULL CHECK (source IN ('cloud')),
14
+ provider text,
15
+ created_at timestamptz NOT NULL DEFAULT now(),
16
+ updated_at timestamptz NOT NULL DEFAULT now(),
17
+ deleted_at timestamptz
18
+ );
19
+ CREATE UNIQUE INDEX IF NOT EXISTS environments_default_uq
20
+ ON capybara.environments (org_id, owner_account_id)
21
+ WHERE is_default AND deleted_at IS NULL;
22
+ CREATE UNIQUE INDEX IF NOT EXISTS environments_name_uq
23
+ ON capybara.environments (org_id, owner_account_id, lower(name))
24
+ WHERE name IS NOT NULL AND deleted_at IS NULL;
25
+
26
+ -- Same columns and meaning as the old sandboxes table (0023), keyed by environment. fs_handle and
27
+ -- fs_status describe the kept file system; status 'none' means no instance exists yet.
28
+ CREATE TABLE IF NOT EXISTS capybara.environment_instances (
29
+ environment_id text PRIMARY KEY REFERENCES capybara.environments(id) ON DELETE CASCADE,
30
+ org_id text NOT NULL,
31
+ provider text,
32
+ fs_handle jsonb,
33
+ fs_status text NOT NULL DEFAULT 'none' CHECK (fs_status IN ('none', 'ready', 'lost')),
34
+ handle jsonb,
35
+ status text NOT NULL DEFAULT 'none'
36
+ CHECK (status IN ('none', 'creating', 'running', 'suspended', 'destroyed')),
37
+ last_used_at timestamptz NOT NULL DEFAULT now(),
38
+ running_since timestamptz,
39
+ created_at timestamptz NOT NULL DEFAULT now(),
40
+ suspended_at timestamptz,
41
+ destroyed_at timestamptz,
42
+ generation integer NOT NULL DEFAULT 0,
43
+ had_instance boolean NOT NULL DEFAULT false,
44
+ prev_provider text,
45
+ prev_handle jsonb,
46
+ sweep_failed_at timestamptz
47
+ );
48
+ CREATE INDEX IF NOT EXISTS environment_instances_running_idx
49
+ ON capybara.environment_instances (last_used_at)
50
+ WHERE status = 'running';
51
+ CREATE INDEX IF NOT EXISTS environment_instances_live_idx
52
+ ON capybara.environment_instances (last_used_at)
53
+ WHERE status <> 'destroyed';
54
+ CREATE INDEX IF NOT EXISTS environment_instances_org_idx
55
+ ON capybara.environment_instances (org_id);
56
+
57
+ -- The environment a member's new conversations use when they pick none.
58
+ CREATE TABLE IF NOT EXISTS capybara.environment_defaults (
59
+ org_id text NOT NULL,
60
+ account_id text NOT NULL,
61
+ environment_id text NOT NULL REFERENCES capybara.environments(id) ON DELETE CASCADE,
62
+ updated_at timestamptz NOT NULL DEFAULT now(),
63
+ PRIMARY KEY (org_id, account_id)
64
+ );
65
+
66
+ -- No cascade: a deleted environment is soft-deleted and the conversation keeps pointing at it.
67
+ ALTER TABLE capybara.conversations
68
+ ADD COLUMN IF NOT EXISTS environment_id text REFERENCES capybara.environments(id);
69
+
70
+ ALTER TABLE capybara.background_tasks ADD COLUMN IF NOT EXISTS environment_id text;
71
+ CREATE INDEX IF NOT EXISTS background_tasks_environment_running_idx
72
+ ON capybara.background_tasks (environment_id) WHERE status = 'running';
73
+
74
+ -- Tasks that ran in a per-conversation sandbox lose it with the move to environments (the
75
+ -- instances are destroyed by the cleanup job).
76
+ UPDATE capybara.background_tasks
77
+ SET status = 'lost',
78
+ lost_reason = COALESCE(lost_reason, 'sandbox_replaced_by_environment'),
79
+ finished_at = COALESCE(finished_at, now())
80
+ WHERE status = 'running';
@@ -0,0 +1,38 @@
1
+ -- Model platform providers (spec 2026-11-06-model-platform-providers-design.md). Expand-only: two
2
+ -- new tables, nothing existing changes.
3
+
4
+ -- 0089, spec §5.3: models disabled on two layers. `org_id` null is the platform's list (the super
5
+ -- admin; such a model is invisible to every org), otherwise the org's own list (an org admin, among
6
+ -- the models the platform left on). No row means the model is enabled; a model a provider lists
7
+ -- later is enabled everywhere until someone disables it. Keyed on the model id, so a row applies to
8
+ -- whichever list the org sees (the platform's config or the org's own copy); an id the list does
9
+ -- not contain is kept harmlessly.
10
+ CREATE TABLE IF NOT EXISTS model_disabled (
11
+ org_id text NULL REFERENCES orgs(id) ON DELETE CASCADE,
12
+ provider text NOT NULL,
13
+ model text NOT NULL,
14
+ disabled_by text REFERENCES accounts(id) ON DELETE SET NULL,
15
+ disabled_at timestamptz NOT NULL DEFAULT now()
16
+ );
17
+ CREATE UNIQUE INDEX IF NOT EXISTS model_disabled_scope_key
18
+ ON model_disabled ((coalesce(org_id, '')), provider, model);
19
+
20
+ -- 0089, spec §5.4: model usage outside conversations (an extension's `ctx.models.embed` call). One
21
+ -- row per call; `reported_at` is set once the `usage.report` job for the row (eventId = id) has
22
+ -- nothing left to deliver (delivered, no subscriber, or a definite drop); `report_failed_at` once
23
+ -- the job gave up after its last attempt. The sweeper re-enqueues recent rows where both are null.
24
+ CREATE TABLE IF NOT EXISTS model_usage (
25
+ id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
26
+ org_id text NOT NULL REFERENCES orgs(id) ON DELETE CASCADE,
27
+ extension text NOT NULL,
28
+ purpose text NOT NULL,
29
+ provider text NOT NULL,
30
+ model text NOT NULL,
31
+ input_tokens integer NOT NULL,
32
+ occurred_at timestamptz NOT NULL DEFAULT now(),
33
+ reported_at timestamptz NULL,
34
+ report_failed_at timestamptz NULL
35
+ );
36
+ CREATE INDEX IF NOT EXISTS model_usage_org_time ON model_usage (org_id, occurred_at DESC);
37
+ CREATE INDEX IF NOT EXISTS model_usage_unreported ON model_usage (occurred_at)
38
+ WHERE reported_at IS NULL AND report_failed_at IS NULL;
@@ -0,0 +1,27 @@
1
+ -- Platform tool phase 2 (spec 2026-11-07-platform-tool-design.md §14.5 item 2): the super admin's
2
+ -- agent creates an account with a kernel-generated one-time password. Expand-only.
3
+ --
4
+ -- must_change_password: the account must set its own password before anything else (the auth
5
+ -- guard refuses every route but the password change, /me and logout until it does).
6
+ ALTER TABLE capybara.accounts ADD COLUMN IF NOT EXISTS must_change_password boolean NOT NULL DEFAULT false;
7
+
8
+ -- The generated password, sealed with the master keyring (AES-256-GCM, AAD = account id), waiting
9
+ -- for the person who approved the creation to read it once on the web. Keyed by the account; the
10
+ -- tool call it came from (conversation_id, run_id, call_id: a call id is unique only within its run)
11
+ -- and its recipient decide who may read it. Read once (deleted as it is read), dropped when the
12
+ -- account changes its password, and dropped after expires_at by the hourly cleanup job.
13
+ CREATE TABLE IF NOT EXISTS capybara.account_initial_passwords (
14
+ account_id text PRIMARY KEY REFERENCES capybara.accounts(id) ON DELETE CASCADE,
15
+ recipient_account_id text NOT NULL REFERENCES capybara.accounts(id) ON DELETE CASCADE,
16
+ conversation_id text NOT NULL REFERENCES capybara.conversations(id) ON DELETE CASCADE,
17
+ run_id text NOT NULL,
18
+ call_id text NOT NULL,
19
+ master_key_id text NOT NULL,
20
+ ciphertext bytea NOT NULL,
21
+ expires_at timestamptz NOT NULL,
22
+ created_at timestamptz NOT NULL DEFAULT now()
23
+ );
24
+ CREATE INDEX IF NOT EXISTS account_initial_passwords_call_idx
25
+ ON capybara.account_initial_passwords (conversation_id, run_id, call_id);
26
+ CREATE INDEX IF NOT EXISTS account_initial_passwords_expires_idx
27
+ ON capybara.account_initial_passwords (expires_at);
@@ -0,0 +1,4 @@
1
+ -- Run context (spec 2026-11-08-run-context-design.md §3.4): a person's time zone setting (IANA
2
+ -- name). Null, the default, follows the browser's time zone sent with each message; a set value
3
+ -- overrides it. Expand-only.
4
+ ALTER TABLE accounts ADD COLUMN IF NOT EXISTS time_zone text;
@@ -0,0 +1,27 @@
1
+ -- Tools are on by default (spec 2026-11-08-tools-default-on-design.md §3): an agent stores only
2
+ -- what it turns off (`disabledTools`), not an enabled list (`tools`). Every stored agent version,
3
+ -- older ones included (a rollback reads the same shape), becomes "nothing turned off". Idempotent:
4
+ -- a definition without `tools` is left alone, one without `disabledTools` gets the empty list.
5
+ UPDATE agent_versions
6
+ SET definition = (definition - 'tools') || jsonb_build_object('disabledTools', '[]'::jsonb)
7
+ WHERE definition ? 'tools' OR NOT definition ? 'disabledTools';
8
+
9
+ -- Org-made agent templates (saved from an agent by an org admin: no plugin, no catalog item)
10
+ -- lose their `tools` allowlist, so they turn nothing off either. Templates from plugin packages
11
+ -- keep what the package wrote.
12
+ UPDATE agent_template_versions AS v
13
+ SET definition = v.definition - 'tools'
14
+ FROM agent_templates AS t
15
+ WHERE t.id = v.template_id
16
+ AND t.plugin_name IS NULL
17
+ AND t.catalog_item_id IS NULL
18
+ AND v.definition ? 'tools';
19
+
20
+ UPDATE platform_agent_template_versions AS v
21
+ SET definition = v.definition - 'tools'
22
+ FROM platform_agent_templates AS t
23
+ WHERE t.id = v.template_id
24
+ AND t.plugin_name IS NULL
25
+ AND t.catalog_item_id IS NULL
26
+ AND v.object_prefix IS NULL
27
+ AND v.definition ? 'tools';
@@ -0,0 +1,37 @@
1
+ -- Environments phase 2 (spec 2026-11-07-environments-design §6, §13): a person's own machine,
2
+ -- connected through the device program, becomes an environment with source 'device'. Expand-only:
3
+ -- the source CHECK list grows and a new table holds the connected machine.
4
+
5
+ -- 0088 left the CHECK unnamed, so Postgres named it environments_source_check; re-add it under
6
+ -- the same name with the longer list.
7
+ ALTER TABLE environments DROP CONSTRAINT IF EXISTS environments_source_check;
8
+ ALTER TABLE environments
9
+ ADD CONSTRAINT environments_source_check CHECK (source IN ('cloud', 'device'));
10
+
11
+ -- The machine connected to a device environment. credential_hash is a hash of the machine's
12
+ -- long-lived credential (cap_dev_...), never the credential itself; revoking a machine sets
13
+ -- revoked_at and keeps the row, so only one unrevoked machine exists per environment.
14
+ -- program_version, mode, roots and session_isolation are what the program reported on its last
15
+ -- connection; last_seen_at is the last time it connected or pinged.
16
+ CREATE TABLE IF NOT EXISTS environment_machines (
17
+ id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
18
+ org_id text NOT NULL REFERENCES orgs(id) ON DELETE CASCADE,
19
+ environment_id text NOT NULL REFERENCES environments(id) ON DELETE CASCADE,
20
+ account_id text NOT NULL,
21
+ credential_hash text NOT NULL UNIQUE,
22
+ name text NOT NULL,
23
+ os text NOT NULL,
24
+ arch text NOT NULL,
25
+ program_version text,
26
+ mode text CHECK (mode IN ('os', 'docker')),
27
+ roots jsonb,
28
+ session_isolation boolean NOT NULL DEFAULT false,
29
+ last_seen_at timestamptz,
30
+ created_at timestamptz NOT NULL DEFAULT now(),
31
+ revoked_at timestamptz
32
+ );
33
+ CREATE UNIQUE INDEX IF NOT EXISTS environment_machines_active_uq
34
+ ON environment_machines (environment_id)
35
+ WHERE revoked_at IS NULL;
36
+ -- The org cascade delete looks rows up by org (as environment_instances_org_idx in 0088).
37
+ CREATE INDEX IF NOT EXISTS environment_machines_org_idx ON environment_machines (org_id);
@@ -0,0 +1,7 @@
1
+ -- Environments phase 2 (spec 2026-11-07-environments-design §13.1, ruling R22): every sandbox tool
2
+ -- call reads the conversation's latest environment_paths event; a partial index answers it
3
+ -- without scanning the conversation's events backwards. Not CONCURRENTLY, like the other index
4
+ -- migrations (0025).
5
+ CREATE INDEX IF NOT EXISTS conversation_events_environment_paths_idx
6
+ ON conversation_events (conversation_id, seq)
7
+ WHERE type = 'environment_paths';
@@ -0,0 +1,5 @@
1
+ -- How many times an environment's files were reset. A provider may give the new file system the id
2
+ -- of the destroyed one (sandbox-docker names its volumes after the environment), so the kernel
3
+ -- counts resets itself: a conversation that last used the environment under another count is told
4
+ -- its files were reset, not that the instance restarted on kept files.
5
+ ALTER TABLE capybara.environment_instances ADD COLUMN IF NOT EXISTS fs_resets integer NOT NULL DEFAULT 0;
@@ -0,0 +1,18 @@
1
+ -- A default environment demoted by a sandbox provider switch (environments spec §4.2 item 13)
2
+ -- records the provider it was demoted from; NULL for every other environment. The UI names such an
3
+ -- environment after the default plus that provider's display name (「个人环境(Docker 沙箱)」), and
4
+ -- when the deployment switches back to that provider the row is restored as the person's default.
5
+ ALTER TABLE capybara.environments ADD COLUMN IF NOT EXISTS demoted_from_provider text;
6
+
7
+ -- Backfill: until now a demoted default was renamed `Personal (<provider>)` (` 2`, ` 3`, … when
8
+ -- taken). Those rows get the marker and lose the generated name. A person-made environment with
9
+ -- such a name is caught too; that is accepted before 0.1.0 (AGENTS.md "Before 0.1.0": no real
10
+ -- users yet). Idempotent: a backfilled row has a NULL name and no longer matches.
11
+ UPDATE capybara.environments
12
+ SET demoted_from_provider = substring(name FROM '^Personal \(([^)]+)\)'),
13
+ name = NULL
14
+ WHERE owner_kind = 'personal'
15
+ AND NOT is_default
16
+ AND deleted_at IS NULL
17
+ AND demoted_from_provider IS NULL
18
+ AND name ~ '^Personal \([^)]+\)( [0-9]+)?$';
@@ -0,0 +1,16 @@
1
+ -- When an install record's desired state last became `enabled` (NULL while disabled). A
2
+ -- single-provider extension point (sandbox, object-store, secret-store, config-source) takes one
3
+ -- enabled provider; enabling a second one is refused. A deployment that already has two enabled
4
+ -- (enabled before that rule) loads the one enabled first on every replica and after every restart,
5
+ -- never the first by name. `updated_at` cannot tell: an upgrade or a source change rewrites it.
6
+ ALTER TABLE extension_installs ADD COLUMN IF NOT EXISTS enabled_at timestamptz;
7
+
8
+ -- Backfill the enabled rows: the latest `extension.enabled` audit of the extension (every enable
9
+ -- path writes one), else the install time. Idempotent: a filled row is skipped.
10
+ UPDATE extension_installs i
11
+ SET enabled_at = COALESCE(
12
+ (SELECT max(a.at) FROM audit_events a
13
+ WHERE a.action = 'extension.enabled' AND a.target = i.name),
14
+ i.installed_at)
15
+ WHERE i.desired_state = 'enabled'
16
+ AND i.enabled_at IS NULL;