@capybara-hq/kernel 0.1.0-rc.4 → 0.1.0-rc.6

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 (534) hide show
  1. package/bootstrap.json +61 -5
  2. package/dist/admin/admin.controller.d.ts +51 -14
  3. package/dist/admin/admin.controller.js +60 -19
  4. package/dist/admin/extensions.controller.d.ts +16 -2
  5. package/dist/admin/extensions.controller.js +26 -6
  6. package/dist/admin/setup-lock.d.ts +1 -1
  7. package/dist/admin/setup-lock.js +1 -1
  8. package/dist/admin/setup.controller.d.ts +1 -1
  9. package/dist/admin/setup.controller.js +1 -1
  10. package/dist/admin/setup.service.d.ts +4 -4
  11. package/dist/admin/setup.service.js +8 -8
  12. package/dist/agents/agent-lookup.d.ts +16 -0
  13. package/dist/agents/agent-lookup.js +11 -0
  14. package/dist/agents/agents.controller.d.ts +76 -1
  15. package/dist/agents/agents.controller.js +90 -11
  16. package/dist/agents/agents.module.d.ts +4 -1
  17. package/dist/agents/agents.module.js +32 -6
  18. package/dist/agents/agents.service.d.ts +54 -23
  19. package/dist/agents/agents.service.js +180 -76
  20. package/dist/agents/definition.d.ts +49 -0
  21. package/dist/agents/definition.js +45 -0
  22. package/dist/agents/from-template.d.ts +106 -0
  23. package/dist/agents/from-template.js +649 -0
  24. package/dist/agents/from-template.service.d.ts +60 -0
  25. package/dist/agents/from-template.service.js +161 -0
  26. package/dist/agents/models.controller.d.ts +34 -5
  27. package/dist/agents/models.controller.js +50 -6
  28. package/dist/agents/org-templates.d.ts +176 -0
  29. package/dist/agents/org-templates.js +827 -0
  30. package/dist/agents/pending-connector-requests.d.ts +77 -0
  31. package/dist/agents/pending-connector-requests.js +215 -0
  32. package/dist/agents/pending-connectors.controller.d.ts +39 -0
  33. package/dist/agents/pending-connectors.controller.js +91 -0
  34. package/dist/agents/pending-connectors.service.d.ts +62 -0
  35. package/dist/agents/pending-connectors.service.js +282 -0
  36. package/dist/agents/readiness.controller.d.ts +5 -5
  37. package/dist/agents/readiness.controller.js +6 -6
  38. package/dist/agents/templates.controller.d.ts +86 -5
  39. package/dist/agents/templates.controller.js +171 -7
  40. package/dist/agents/templates.d.ts +127 -23
  41. package/dist/agents/templates.js +475 -52
  42. package/dist/background/background.module.js +8 -1
  43. package/dist/background/finish.d.ts +3 -2
  44. package/dist/background/launch-lock.d.ts +4 -3
  45. package/dist/background/launch-lock.js +4 -3
  46. package/dist/background/poll.job.d.ts +9 -6
  47. package/dist/background/poll.job.js +30 -22
  48. package/dist/background/session.d.ts +13 -2
  49. package/dist/background/session.js +13 -0
  50. package/dist/background/stop.d.ts +12 -6
  51. package/dist/background/stop.js +57 -39
  52. package/dist/background/store.d.ts +18 -6
  53. package/dist/background/store.js +12 -6
  54. package/dist/background/tasks.service.d.ts +15 -5
  55. package/dist/background/tasks.service.js +42 -17
  56. package/dist/background/wake-rules.d.ts +27 -18
  57. package/dist/background/wake-rules.js +52 -22
  58. package/dist/background/wake.d.ts +13 -11
  59. package/dist/background/wake.js +20 -14
  60. package/dist/catalog/admin-catalog.controller.d.ts +129 -30
  61. package/dist/catalog/admin-catalog.controller.js +213 -42
  62. package/dist/catalog/catalog-content.d.ts +58 -32
  63. package/dist/catalog/catalog-content.js +34 -8
  64. package/dist/catalog/catalog-import.module.d.ts +7 -0
  65. package/dist/catalog/catalog-import.module.js +60 -0
  66. package/dist/catalog/catalog-items.d.ts +111 -7
  67. package/dist/catalog/catalog-items.js +279 -13
  68. package/dist/catalog/catalog-scope.service.d.ts +260 -0
  69. package/dist/catalog/catalog-scope.service.js +1116 -0
  70. package/dist/catalog/catalog.module.d.ts +7 -9
  71. package/dist/catalog/catalog.module.js +41 -31
  72. package/dist/catalog/catalog.service.d.ts +101 -29
  73. package/dist/catalog/catalog.service.js +104 -106
  74. package/dist/catalog/cli.d.ts +11 -1
  75. package/dist/catalog/cli.js +26 -1
  76. package/dist/catalog/component-promotion.d.ts +96 -0
  77. package/dist/catalog/component-promotion.js +395 -0
  78. package/dist/catalog/component-scope.controller.d.ts +152 -0
  79. package/dist/catalog/component-scope.controller.js +287 -0
  80. package/dist/catalog/component-scope.service.d.ts +303 -0
  81. package/dist/catalog/component-scope.service.js +936 -0
  82. package/dist/catalog/component-state.d.ts +174 -0
  83. package/dist/catalog/component-state.js +437 -0
  84. package/dist/catalog/job-ids.d.ts +30 -0
  85. package/dist/catalog/job-ids.js +25 -0
  86. package/dist/catalog/marketplace-fetch.d.ts +1 -1
  87. package/dist/catalog/marketplaces.controller.d.ts +22 -5
  88. package/dist/catalog/marketplaces.controller.js +56 -7
  89. package/dist/catalog/marketplaces.service.d.ts +54 -14
  90. package/dist/catalog/marketplaces.service.js +71 -22
  91. package/dist/catalog/org-catalog.controller.d.ts +125 -34
  92. package/dist/catalog/org-catalog.controller.js +181 -65
  93. package/dist/catalog/org-catalog.service.d.ts +65 -33
  94. package/dist/catalog/org-catalog.service.js +324 -157
  95. package/dist/catalog/org-extension-switch.d.ts +41 -0
  96. package/dist/catalog/org-extension-switch.js +115 -0
  97. package/dist/catalog/org-extension.controller.d.ts +119 -0
  98. package/dist/catalog/org-extension.controller.js +266 -0
  99. package/dist/catalog/org-plugin-uploads.controller.d.ts +98 -0
  100. package/dist/catalog/org-plugin-uploads.controller.js +213 -0
  101. package/dist/catalog/org-plugin-uploads.d.ts +63 -0
  102. package/dist/catalog/org-plugin-uploads.js +116 -0
  103. package/dist/catalog/owned-items.d.ts +184 -0
  104. package/dist/catalog/owned-items.js +789 -0
  105. package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
  106. package/dist/catalog/owned-plugin-cleanup.js +194 -0
  107. package/dist/catalog/ownership.d.ts +172 -0
  108. package/dist/catalog/ownership.js +326 -0
  109. package/dist/catalog/platform-components.d.ts +221 -0
  110. package/dist/catalog/platform-components.js +761 -0
  111. package/dist/catalog/platform-migration.d.ts +115 -0
  112. package/dist/catalog/platform-migration.js +582 -0
  113. package/dist/catalog/plugin-import.d.ts +178 -34
  114. package/dist/catalog/plugin-import.js +622 -82
  115. package/dist/catalog/plugin-install.d.ts +185 -41
  116. package/dist/catalog/plugin-install.js +758 -126
  117. package/dist/catalog/plugin-upgrade.d.ts +260 -225
  118. package/dist/catalog/plugin-upgrade.js +1147 -1136
  119. package/dist/catalog/request-rules.d.ts +65 -0
  120. package/dist/catalog/request-rules.js +217 -0
  121. package/dist/catalog/requests.service.d.ts +193 -118
  122. package/dist/catalog/requests.service.js +526 -343
  123. package/dist/catalog/reserved-names.d.ts +8 -0
  124. package/dist/catalog/reserved-names.js +42 -0
  125. package/dist/catalog/scope-orgs.d.ts +21 -0
  126. package/dist/catalog/scope-orgs.js +67 -0
  127. package/dist/catalog/scope-state.d.ts +35 -0
  128. package/dist/catalog/scope-state.js +87 -0
  129. package/dist/catalog/scope-sync-workers.d.ts +7 -0
  130. package/dist/catalog/scope-sync-workers.js +29 -0
  131. package/dist/catalog/scope-sync.d.ts +176 -0
  132. package/dist/catalog/scope-sync.js +576 -0
  133. package/dist/catalog/scope.d.ts +42 -0
  134. package/dist/catalog/scope.js +42 -0
  135. package/dist/catalog/unshare.d.ts +22 -0
  136. package/dist/catalog/unshare.js +118 -0
  137. package/dist/channels/actions.js +1 -0
  138. package/dist/channels/cards.js +20 -2
  139. package/dist/channels/channels.module.js +2 -0
  140. package/dist/channels/inbound.d.ts +9 -1
  141. package/dist/channels/inbound.js +67 -5
  142. package/dist/channels/phrases.d.ts +35 -0
  143. package/dist/channels/phrases.js +29 -0
  144. package/dist/config/docs.js +3 -1
  145. package/dist/config/schema.d.ts +10 -2
  146. package/dist/config/schema.js +70 -22
  147. package/dist/conversations/access.d.ts +6 -4
  148. package/dist/conversations/access.js +27 -5
  149. package/dist/conversations/agent-tree.d.ts +46 -0
  150. package/dist/conversations/agent-tree.js +92 -0
  151. package/dist/conversations/conversations.controller.d.ts +43 -18
  152. package/dist/conversations/conversations.controller.js +79 -38
  153. package/dist/conversations/conversations.module.d.ts +1 -1
  154. package/dist/conversations/conversations.module.js +7 -7
  155. package/dist/conversations/conversations.service.d.ts +73 -15
  156. package/dist/conversations/conversations.service.js +115 -35
  157. package/dist/conversations/environment-status.d.ts +24 -0
  158. package/dist/conversations/environment-status.js +71 -0
  159. package/dist/conversations/event-log.d.ts +20 -5
  160. package/dist/conversations/event-log.js +60 -0
  161. package/dist/conversations/events.d.ts +84 -2
  162. package/dist/conversations/events.js +91 -17
  163. package/dist/conversations/queue.service.d.ts +1 -1
  164. package/dist/conversations/queue.service.js +5 -0
  165. package/dist/conversations/titles.d.ts +5 -3
  166. package/dist/conversations/titles.js +21 -8
  167. package/dist/conversations/tree.d.ts +17 -0
  168. package/dist/conversations/tree.js +42 -0
  169. package/dist/ctx/create-ctx.d.ts +20 -1
  170. package/dist/ctx/create-ctx.js +38 -7
  171. package/dist/db/kernel-schema.d.ts +386 -18
  172. package/dist/environments/access.d.ts +41 -0
  173. package/dist/environments/access.js +77 -0
  174. package/dist/environments/conversation-environments.d.ts +61 -0
  175. package/dist/environments/conversation-environments.js +170 -0
  176. package/dist/environments/dto.d.ts +25 -0
  177. package/dist/environments/dto.js +12 -0
  178. package/dist/environments/environments.controller.d.ts +33 -0
  179. package/dist/environments/environments.controller.js +110 -0
  180. package/dist/environments/environments.module.d.ts +8 -0
  181. package/dist/environments/environments.module.js +27 -0
  182. package/dist/environments/environments.service.d.ts +153 -0
  183. package/dist/environments/environments.service.js +541 -0
  184. package/dist/environments/legacy-cleanup.job.d.ts +34 -0
  185. package/dist/environments/legacy-cleanup.job.js +141 -0
  186. package/dist/errors.d.ts +85 -2
  187. package/dist/errors.js +85 -2
  188. package/dist/evals/reconstruct.d.ts +18 -9
  189. package/dist/evals/reconstruct.js +26 -7
  190. package/dist/evals/run-replay.d.ts +4 -2
  191. package/dist/evals/run-replay.js +20 -6
  192. package/dist/evals/runs.service.d.ts +2 -1
  193. package/dist/evals/runs.service.js +13 -12
  194. package/dist/evals/step-replay.d.ts +4 -6
  195. package/dist/evals/step-replay.js +4 -3
  196. package/dist/evals/trajectory.service.d.ts +8 -3
  197. package/dist/evals/trajectory.service.js +26 -14
  198. package/dist/evals/worker.d.ts +5 -5
  199. package/dist/evals/worker.js +9 -3
  200. package/dist/extensions/admin-ops.d.ts +36 -10
  201. package/dist/extensions/admin-ops.js +65 -42
  202. package/dist/extensions/admin-view.d.ts +37 -10
  203. package/dist/extensions/admin-view.js +103 -20
  204. package/dist/extensions/bootstrap.d.ts +17 -4
  205. package/dist/extensions/bootstrap.js +70 -9
  206. package/dist/extensions/cli.d.ts +12 -0
  207. package/dist/extensions/cli.js +11 -2
  208. package/dist/extensions/config-hash.d.ts +10 -0
  209. package/dist/extensions/config-hash.js +38 -0
  210. package/dist/extensions/deployment-config.d.ts +28 -5
  211. package/dist/extensions/deployment-config.js +48 -7
  212. package/dist/extensions/effective-config.d.ts +127 -0
  213. package/dist/extensions/effective-config.js +368 -0
  214. package/dist/extensions/extensions.module.js +11 -11
  215. package/dist/extensions/hooks.d.ts +37 -4
  216. package/dist/extensions/hooks.js +82 -16
  217. package/dist/extensions/host.d.ts +24 -10
  218. package/dist/extensions/host.js +49 -54
  219. package/dist/extensions/installs.d.ts +20 -8
  220. package/dist/extensions/installs.js +37 -15
  221. package/dist/extensions/org-config.d.ts +75 -6
  222. package/dist/extensions/org-config.js +184 -32
  223. package/dist/extensions/org-levels.d.ts +37 -0
  224. package/dist/extensions/org-levels.js +71 -0
  225. package/dist/extensions/org-overrides.d.ts +151 -0
  226. package/dist/extensions/org-overrides.js +524 -0
  227. package/dist/extensions/permission-view.d.ts +16 -4
  228. package/dist/extensions/permission-view.js +4 -4
  229. package/dist/extensions/plugin-items.d.ts +21 -0
  230. package/dist/extensions/plugin-items.js +42 -0
  231. package/dist/extensions/point-defaults.d.ts +12 -5
  232. package/dist/extensions/point-defaults.js +37 -9
  233. package/dist/extensions/resolve.d.ts +5 -1
  234. package/dist/extensions/resolve.js +15 -2
  235. package/dist/extensions/state.module.d.ts +9 -0
  236. package/dist/extensions/state.module.js +38 -0
  237. package/dist/files/previewers.d.ts +8 -1
  238. package/dist/files/previewers.js +35 -6
  239. package/dist/http/api.module.js +25 -3
  240. package/dist/http/app.d.ts +11 -2
  241. package/dist/http/app.js +31 -5
  242. package/dist/http/plugin-dispatch.d.ts +4 -1
  243. package/dist/http/plugin-dispatch.js +14 -2
  244. package/dist/identity/accounts.d.ts +29 -29
  245. package/dist/identity/accounts.js +47 -47
  246. package/dist/identity/audit.d.ts +2 -1
  247. package/dist/identity/auth.guard.d.ts +13 -5
  248. package/dist/identity/auth.guard.js +26 -9
  249. package/dist/identity/identity.module.d.ts +1 -1
  250. package/dist/identity/identity.module.js +4 -4
  251. package/dist/identity/me.controller.js +1 -1
  252. package/dist/identity/principal.d.ts +3 -3
  253. package/dist/identity/principal.js +3 -3
  254. package/dist/identity/settings.d.ts +22 -11
  255. package/dist/identity/settings.js +53 -18
  256. package/dist/identity/{enterprise-admin.d.ts → super-admin.d.ts} +5 -5
  257. package/dist/identity/{enterprise-admin.js → super-admin.js} +24 -24
  258. package/dist/inbox/inbox.module.d.ts +4 -1
  259. package/dist/inbox/inbox.module.js +7 -3
  260. package/dist/inbox/inbox.service.d.ts +62 -3
  261. package/dist/inbox/inbox.service.js +74 -4
  262. package/dist/inbox/org-notices.d.ts +63 -0
  263. package/dist/inbox/org-notices.js +91 -0
  264. package/dist/inbox/platform-inbox.controller.d.ts +23 -0
  265. package/dist/inbox/platform-inbox.controller.js +58 -0
  266. package/dist/inbox/platform-inbox.service.d.ts +151 -0
  267. package/dist/inbox/platform-inbox.service.js +263 -0
  268. package/dist/inbox/platform-notices.d.ts +19 -0
  269. package/dist/inbox/platform-notices.js +9 -0
  270. package/dist/index.d.ts +1 -1
  271. package/dist/index.js +1 -1
  272. package/dist/infra/cli/kernel-cli.module.js +9 -1
  273. package/dist/infra/config/kernel-config.service.js +24 -1
  274. package/dist/infra/database/xact-lock.d.ts +1 -1
  275. package/dist/infra/database/xact-lock.js +1 -1
  276. package/dist/infra/events/kernel-events.d.ts +19 -2
  277. package/dist/infra/queue/add-job-once.d.ts +14 -0
  278. package/dist/infra/queue/add-job-once.js +16 -0
  279. package/dist/kernel.module.js +6 -0
  280. package/dist/lifecycle/kernel-lifecycle.d.ts +1 -1
  281. package/dist/lifecycle/kernel-lifecycle.js +4 -4
  282. package/dist/models/embeddings.d.ts +82 -0
  283. package/dist/models/embeddings.js +326 -0
  284. package/dist/models/enablement.controller.d.ts +40 -0
  285. package/dist/models/enablement.controller.js +74 -0
  286. package/dist/models/enablement.d.ts +99 -0
  287. package/dist/models/enablement.js +263 -0
  288. package/dist/models/models.module.d.ts +5 -1
  289. package/dist/models/models.module.js +16 -4
  290. package/dist/models/prices.d.ts +5 -5
  291. package/dist/models/prices.js +4 -4
  292. package/dist/models/purposes.controller.d.ts +6 -4
  293. package/dist/models/purposes.controller.js +13 -7
  294. package/dist/models/purposes.d.ts +37 -12
  295. package/dist/models/purposes.js +63 -17
  296. package/dist/orgs/directory-sync.d.ts +14 -5
  297. package/dist/orgs/directory-sync.js +41 -17
  298. package/dist/orgs/offboarding.d.ts +9 -7
  299. package/dist/orgs/offboarding.js +28 -17
  300. package/dist/orgs/org-lock.d.ts +5 -0
  301. package/dist/orgs/org-lock.js +13 -0
  302. package/dist/orgs/org.guard.d.ts +10 -0
  303. package/dist/orgs/org.guard.js +43 -32
  304. package/dist/orgs/orgs.module.js +3 -0
  305. package/dist/orgs/orgs.service.d.ts +20 -7
  306. package/dist/orgs/orgs.service.js +32 -12
  307. package/dist/orgs/roles.d.ts +1 -1
  308. package/dist/orgs/roles.js +5 -1
  309. package/dist/orgs/settings.controller.d.ts +1 -1
  310. package/dist/orgs/settings.service.d.ts +15 -3
  311. package/dist/orgs/settings.service.js +6 -2
  312. package/dist/overrides.d.ts +3 -0
  313. package/dist/overrides.js +2 -0
  314. package/dist/platform/actor.d.ts +48 -0
  315. package/dist/platform/actor.js +100 -0
  316. package/dist/platform/agent-docs.d.ts +18 -0
  317. package/dist/platform/agent-docs.js +59 -0
  318. package/dist/platform/availability.d.ts +14 -0
  319. package/dist/platform/availability.js +43 -0
  320. package/dist/platform/errors.d.ts +11 -0
  321. package/dist/platform/errors.js +26 -0
  322. package/dist/platform/exclusions.d.ts +12 -0
  323. package/dist/platform/exclusions.js +1405 -0
  324. package/dist/platform/method.d.ts +6 -0
  325. package/dist/platform/method.js +15 -0
  326. package/dist/platform/operation.d.ts +92 -0
  327. package/dist/platform/operation.js +35 -0
  328. package/dist/platform/ops/agent-templates.ops.d.ts +14 -0
  329. package/dist/platform/ops/agent-templates.ops.js +92 -0
  330. package/dist/platform/ops/agents.ops.d.ts +19 -0
  331. package/dist/platform/ops/agents.ops.js +294 -0
  332. package/dist/platform/ops/connectors.ops.d.ts +15 -0
  333. package/dist/platform/ops/connectors.ops.js +126 -0
  334. package/dist/platform/ops/errors.d.ts +11 -0
  335. package/dist/platform/ops/errors.js +22 -0
  336. package/dist/platform/ops/extensions.ops.d.ts +19 -0
  337. package/dist/platform/ops/extensions.ops.js +116 -0
  338. package/dist/platform/ops/marketplaces.ops.d.ts +16 -0
  339. package/dist/platform/ops/marketplaces.ops.js +157 -0
  340. package/dist/platform/ops/paging.d.ts +14 -0
  341. package/dist/platform/ops/paging.js +20 -0
  342. package/dist/platform/ops/platform.ops.d.ts +23 -0
  343. package/dist/platform/ops/platform.ops.js +158 -0
  344. package/dist/platform/ops/plugins.ops.d.ts +33 -0
  345. package/dist/platform/ops/plugins.ops.js +377 -0
  346. package/dist/platform/ops/requests.ops.d.ts +14 -0
  347. package/dist/platform/ops/requests.ops.js +153 -0
  348. package/dist/platform/ops/role.d.ts +4 -0
  349. package/dist/platform/ops/role.js +10 -0
  350. package/dist/platform/ops/skills.ops.d.ts +13 -0
  351. package/dist/platform/ops/skills.ops.js +98 -0
  352. package/dist/platform/ops/summary.d.ts +10 -0
  353. package/dist/platform/ops/summary.js +18 -0
  354. package/dist/platform/platform-ops.module.d.ts +7 -0
  355. package/dist/platform/platform-ops.module.js +55 -0
  356. package/dist/platform/platform.module.d.ts +8 -0
  357. package/dist/platform/platform.module.js +25 -0
  358. package/dist/platform/redact-orgs.d.ts +7 -0
  359. package/dist/platform/redact-orgs.js +52 -0
  360. package/dist/platform/registry.d.ts +30 -0
  361. package/dist/platform/registry.js +111 -0
  362. package/dist/roles/worker-role.d.ts +6 -4
  363. package/dist/roles/worker-role.js +14 -7
  364. package/dist/roles/worker.module.d.ts +1 -1
  365. package/dist/roles/worker.module.js +9 -1
  366. package/dist/runtime/context/build.d.ts +6 -4
  367. package/dist/runtime/context/build.js +26 -7
  368. package/dist/runtime/context/claude-tools.d.ts +2 -1
  369. package/dist/runtime/context/claude-tools.js +5 -4
  370. package/dist/runtime/context/compaction.js +9 -0
  371. package/dist/runtime/context/reminders.d.ts +2 -0
  372. package/dist/runtime/context/reminders.js +2 -0
  373. package/dist/runtime/context/skills.js +9 -2
  374. package/dist/runtime/context/tool-changes.d.ts +27 -0
  375. package/dist/runtime/context/tool-changes.js +60 -0
  376. package/dist/runtime/hook-calls.d.ts +8 -1
  377. package/dist/runtime/hook-calls.js +40 -7
  378. package/dist/runtime/langgraph-loop.d.ts +3 -1
  379. package/dist/runtime/langgraph-loop.js +35 -17
  380. package/dist/runtime/loop.d.ts +32 -4
  381. package/dist/runtime/maintenance.d.ts +7 -4
  382. package/dist/runtime/maintenance.js +23 -8
  383. package/dist/runtime/model-call.d.ts +38 -11
  384. package/dist/runtime/model-call.js +97 -24
  385. package/dist/runtime/providers.d.ts +146 -32
  386. package/dist/runtime/providers.js +321 -67
  387. package/dist/runtime/run-control.d.ts +11 -1
  388. package/dist/runtime/run-control.js +12 -0
  389. package/dist/runtime/run-drafts.d.ts +85 -0
  390. package/dist/runtime/run-drafts.js +230 -0
  391. package/dist/runtime/run-jobs.d.ts +3 -5
  392. package/dist/runtime/run-jobs.js +3 -7
  393. package/dist/runtime/run-queue.d.ts +37 -3
  394. package/dist/runtime/run-queue.js +188 -11
  395. package/dist/runtime/run-worker.d.ts +12 -6
  396. package/dist/runtime/run-worker.js +58 -35
  397. package/dist/runtime/runtime.module.js +3 -0
  398. package/dist/runtime/step-log.d.ts +9 -4
  399. package/dist/runtime/step-log.js +8 -5
  400. package/dist/runtime/stream.controller.d.ts +23 -1
  401. package/dist/runtime/stream.controller.js +60 -3
  402. package/dist/runtime/stream.d.ts +4 -1
  403. package/dist/runtime/stream.js +27 -3
  404. package/dist/runtime/subagents/child.d.ts +55 -7
  405. package/dist/runtime/subagents/child.js +105 -7
  406. package/dist/runtime/subagents/definition.d.ts +12 -3
  407. package/dist/runtime/subagents/definition.js +46 -32
  408. package/dist/runtime/subagents/deliveries.d.ts +71 -0
  409. package/dist/runtime/subagents/deliveries.js +228 -0
  410. package/dist/runtime/subagents/dispatch.d.ts +115 -26
  411. package/dist/runtime/subagents/dispatch.js +212 -141
  412. package/dist/runtime/subagents/limits.d.ts +24 -5
  413. package/dist/runtime/subagents/limits.js +40 -6
  414. package/dist/runtime/subagents/messages.d.ts +95 -0
  415. package/dist/runtime/subagents/messages.js +328 -0
  416. package/dist/runtime/subagents/preamble.d.ts +4 -4
  417. package/dist/runtime/subagents/preamble.js +9 -7
  418. package/dist/runtime/subagents/progress.d.ts +8 -6
  419. package/dist/runtime/subagents/progress.js +11 -6
  420. package/dist/runtime/subagents/render.d.ts +30 -0
  421. package/dist/runtime/subagents/render.js +53 -0
  422. package/dist/runtime/subagents/roster.d.ts +24 -7
  423. package/dist/runtime/subagents/roster.js +47 -11
  424. package/dist/runtime/subagents/skill-fork.d.ts +3 -2
  425. package/dist/runtime/subagents/skill-fork.js +8 -4
  426. package/dist/runtime/subagents/status.d.ts +14 -0
  427. package/dist/runtime/subagents/status.js +23 -0
  428. package/dist/runtime/subagents/subagents.service.d.ts +7 -4
  429. package/dist/runtime/subagents/subagents.service.js +11 -6
  430. package/dist/runtime/usage-report-jobs.d.ts +88 -0
  431. package/dist/runtime/usage-report-jobs.js +158 -0
  432. package/dist/runtime/usage-report.d.ts +33 -38
  433. package/dist/runtime/usage-report.js +169 -96
  434. package/dist/runtime/waits.d.ts +140 -37
  435. package/dist/runtime/waits.js +394 -106
  436. package/dist/sandbox/jobs.d.ts +40 -13
  437. package/dist/sandbox/jobs.js +57 -20
  438. package/dist/sandbox/leases.d.ts +37 -54
  439. package/dist/sandbox/leases.js +71 -115
  440. package/dist/sandbox/providers.d.ts +2 -2
  441. package/dist/sandbox/providers.js +1 -1
  442. package/dist/sandbox/sandbox.module.d.ts +3 -2
  443. package/dist/sandbox/sandbox.module.js +4 -3
  444. package/dist/sandbox/sandbox.service.d.ts +229 -134
  445. package/dist/sandbox/sandbox.service.js +630 -409
  446. package/dist/skills/catalog.d.ts +3 -2
  447. package/dist/skills/catalog.js +21 -43
  448. package/dist/skills/changes.controller.d.ts +7 -0
  449. package/dist/skills/changes.controller.js +19 -1
  450. package/dist/skills/invoke.js +8 -3
  451. package/dist/skills/package.d.ts +20 -1
  452. package/dist/skills/package.js +28 -1
  453. package/dist/skills/skills.controller.d.ts +39 -4
  454. package/dist/skills/skills.controller.js +88 -10
  455. package/dist/skills/skills.module.js +10 -1
  456. package/dist/skills/skills.service.d.ts +106 -26
  457. package/dist/skills/skills.service.js +421 -75
  458. package/dist/skills/usable.d.ts +81 -0
  459. package/dist/skills/usable.js +379 -0
  460. package/dist/tools/approvals.service.d.ts +20 -2
  461. package/dist/tools/approvals.service.js +23 -4
  462. package/dist/tools/builtin-names.d.ts +21 -5
  463. package/dist/tools/builtin-names.js +30 -5
  464. package/dist/tools/builtins/agent.d.ts +23 -21
  465. package/dist/tools/builtins/agent.js +62 -55
  466. package/dist/tools/builtins/builtin-tools.d.ts +6 -2
  467. package/dist/tools/builtins/builtin-tools.js +37 -12
  468. package/dist/tools/builtins/handback.d.ts +28 -0
  469. package/dist/tools/builtins/handback.js +53 -0
  470. package/dist/tools/builtins/platform.d.ts +34 -0
  471. package/dist/tools/builtins/platform.js +362 -0
  472. package/dist/tools/builtins/sandbox/bash.js +13 -3
  473. package/dist/tools/builtins/sandbox/common.d.ts +43 -24
  474. package/dist/tools/builtins/sandbox/common.js +80 -45
  475. package/dist/tools/builtins/sandbox/edit.js +2 -2
  476. package/dist/tools/builtins/sandbox/glob.js +2 -2
  477. package/dist/tools/builtins/sandbox/grep.js +2 -4
  478. package/dist/tools/builtins/sandbox/index.d.ts +1 -1
  479. package/dist/tools/builtins/sandbox/index.js +1 -1
  480. package/dist/tools/builtins/sandbox/read.js +1 -1
  481. package/dist/tools/builtins/sandbox/task-output.d.ts +14 -3
  482. package/dist/tools/builtins/sandbox/task-output.js +30 -5
  483. package/dist/tools/builtins/sandbox/task-stop.js +2 -1
  484. package/dist/tools/builtins/sandbox/write.js +2 -2
  485. package/dist/tools/builtins/send-message.d.ts +56 -0
  486. package/dist/tools/builtins/send-message.js +100 -0
  487. package/dist/tools/builtins/skill-load.d.ts +22 -14
  488. package/dist/tools/builtins/skill-load.js +86 -57
  489. package/dist/tools/builtins/skill-write.js +1 -1
  490. package/dist/tools/builtins/web/extract.js +5 -1
  491. package/dist/tools/builtins/web/fetch.js +1 -0
  492. package/dist/tools/builtins/web/search.js +1 -0
  493. package/dist/tools/connectors.controller.d.ts +10 -0
  494. package/dist/tools/connectors.controller.js +12 -0
  495. package/dist/tools/connectors.service.d.ts +46 -5
  496. package/dist/tools/connectors.service.js +94 -15
  497. package/dist/tools/extension-tools.controller.d.ts +14 -0
  498. package/dist/tools/extension-tools.controller.js +37 -0
  499. package/dist/tools/info.d.ts +42 -1
  500. package/dist/tools/info.js +64 -1
  501. package/dist/tools/org-tool-switches.d.ts +74 -0
  502. package/dist/tools/org-tool-switches.js +184 -0
  503. package/dist/tools/pipeline.d.ts +46 -40
  504. package/dist/tools/pipeline.js +193 -364
  505. package/dist/tools/policy.d.ts +1 -1
  506. package/dist/tools/policy.js +36 -16
  507. package/dist/tools/registry.d.ts +98 -5
  508. package/dist/tools/registry.js +87 -9
  509. package/dist/tools/tools.module.js +12 -2
  510. package/dist/ui/views.d.ts +2 -1
  511. package/dist/ui/views.js +17 -3
  512. package/package.json +3 -3
  513. package/src/migrations/0074_subagent_tree.sql +50 -0
  514. package/src/migrations/0075_plugin_scope.sql +61 -0
  515. package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
  516. package/src/migrations/0077_scope_requests.sql +52 -0
  517. package/src/migrations/0078_scope_grant_switches.sql +18 -0
  518. package/src/migrations/0079_scope_live_install_switches.sql +19 -0
  519. package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
  520. package/src/migrations/0081_platform_components.sql +129 -0
  521. package/src/migrations/0082_platform_migration.sql +33 -0
  522. package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
  523. package/src/migrations/0084_org_owned_items.sql +85 -0
  524. package/src/migrations/0085_agent_templates_phase4.sql +45 -0
  525. package/src/migrations/0086_org_layering.sql +30 -0
  526. package/src/migrations/0087_approval_summary.sql +6 -0
  527. package/src/migrations/0088_environments.sql +80 -0
  528. package/src/migrations/0089_model_kinds_usage.sql +38 -0
  529. package/dist/catalog/upgrade-targets.d.ts +0 -56
  530. package/dist/catalog/upgrade-targets.js +0 -90
  531. package/dist/conversations/sandbox-status.d.ts +0 -24
  532. package/dist/conversations/sandbox-status.js +0 -52
  533. package/dist/extensions/org-config.controller.d.ts +0 -32
  534. package/dist/extensions/org-config.controller.js +0 -70
@@ -1,4 +1,4 @@
1
- import type { SkillInvocation } from "@capybara-hq/plugin-sdk";
1
+ import type { FileSystemHandle, SkillInvocation } from "@capybara-hq/plugin-sdk";
2
2
  import type { ColumnType, Generated, Kysely } from "kysely";
3
3
  /** 带默认值的时间戳列:插入可省略,读出为 Date。 */
4
4
  type Ts = ColumnType<Date, Date | string | undefined, Date | string>;
@@ -11,7 +11,7 @@ export interface AccountsTable {
11
11
  email: string | null;
12
12
  email_verified: Generated<boolean>;
13
13
  status: Generated<"active" | "disabled">;
14
- is_enterprise_admin: Generated<boolean>;
14
+ is_super_admin: Generated<boolean>;
15
15
  created_at: Ts;
16
16
  updated_at: Ts;
17
17
  /** 0064: the org the account last chose as current; a new session starts in it. */
@@ -113,6 +113,26 @@ export interface ExtensionOrgConfigsTable {
113
113
  updated_by: string | null;
114
114
  updated_at: Ts;
115
115
  }
116
+ /** An org's copy of an extension's overridable deployment config fields (0086, spec A §5.4). */
117
+ export interface ExtensionOrgOverridesTable {
118
+ plugin: string;
119
+ org_id: string;
120
+ /** The copy's non-secret values (its secrets are in `secrets`). */
121
+ config: ColumnType<Record<string, unknown>, string | undefined, string>;
122
+ created_by: string | null;
123
+ created_at: Ts;
124
+ updated_by: string | null;
125
+ updated_at: Ts;
126
+ }
127
+ /** An org admin's switch of one extension tool (0086, spec A §7). */
128
+ export interface OrgToolSwitchesTable {
129
+ org_id: string;
130
+ plugin: string;
131
+ tool: string;
132
+ enabled: boolean;
133
+ updated_by: string | null;
134
+ updated_at: Ts;
135
+ }
116
136
  export interface AuditEventsTable {
117
137
  id: Generated<string>;
118
138
  at: Ts;
@@ -156,6 +176,10 @@ export interface AgentsTable {
156
176
  profile_description: Generated<string>;
157
177
  profile_quick_actions: ColumnType<unknown[], string | undefined, string>;
158
178
  profile_updated_at: Ts;
179
+ /** 0085: the template the agent was created from (display only, no FK). */
180
+ created_from_template_id: NullableCol<string>;
181
+ created_from_template_version: NullableCol<number>;
182
+ created_from_template_name: NullableCol<string>;
159
183
  created_at: Ts;
160
184
  updated_at: Ts;
161
185
  deleted_at: TsNullable;
@@ -210,6 +234,10 @@ export interface ConversationsTable {
210
234
  archived_at: ColumnType<Date | null, Date | string | null | undefined, Date | string | null>;
211
235
  /** 0065: when the owner deleted it (soft delete: hidden everywhere for the owner); null = live. */
212
236
  deleted_at: ColumnType<Date | null, Date | string | null | undefined, Date | string | null>;
237
+ /** 0074: levels below the root conversation (0 = a root; a sub-agent's is its parent's + 1). */
238
+ subagent_depth: ColumnType<number, number | undefined, number>;
239
+ /** 0088: the environment the conversation runs in; null = not chosen yet. */
240
+ environment_id: ColumnType<string | null, string | null | undefined, string | null>;
213
241
  }
214
242
  /** 0060: an org's order of file-preview@1 previewers (UI refresh B Task 11). */
215
243
  export interface FilePreviewersTable {
@@ -288,6 +316,11 @@ export interface RunsTable {
288
316
  subagent_tokens_used: Int8;
289
317
  /** 0054: when this run's `subagents` wait expires (set while it waits on sub-agents). */
290
318
  wait_expires_at: TsNullable;
319
+ /**
320
+ * 0074: the person-triggered root run whose budget window this run counts against (dispatches
321
+ * and its descendants' tokens, agent map spec §6); null = the run is its own budget run.
322
+ */
323
+ budget_run_id: ColumnType<string | null, string | null | undefined, string | null>;
291
324
  }
292
325
  /** 0053: one row per sub-agent dispatch (an `Agent` call of a parent run). */
293
326
  export interface SubagentDispatchesTable {
@@ -300,19 +333,29 @@ export interface SubagentDispatchesTable {
300
333
  /** A follow-up to an existing sub-agent, not a new one. */
301
334
  resumed: ColumnType<boolean, boolean | undefined, boolean>;
302
335
  created_at: Ts;
336
+ /** 0074: the budget run the dispatch counts against (`runs.budget_run_id` of the tree). */
337
+ budget_run_id: string;
338
+ /** 0074: the dispatch of a `context: fork` skill invocation (phase D). */
339
+ for_skill: ColumnType<boolean, boolean | undefined, boolean>;
303
340
  }
304
341
  /** 0053: an agent template installed in an org from a plugin. */
305
342
  export interface AgentTemplatesTable {
306
343
  id: string;
344
+ /** 0084: the owner shares this template with other orgs. */
345
+ shareable: Dflt<boolean>;
307
346
  org_id: string;
308
347
  name: string;
309
348
  catalog_item_id: ColumnType<string | null, string | null | undefined, string | null>;
310
- /** The plugin that installed it (`NOT NULL`, 0053): the roster type is `<plugin>:<name>`. */
311
- plugin_name: string;
349
+ /** The plugin that installed it: the roster type is `<plugin>:<name>`; null (0081, nullable) = the bare `<name>`. */
350
+ plugin_name: ColumnType<string | null, string | null | undefined, string | null>;
312
351
  current_version: number;
313
352
  deleted_at: TsNullable;
314
353
  created_at: Ts;
315
354
  updated_at: Ts;
355
+ /** 0081: the platform template this copy links to (null = none). */
356
+ platform_template_id: ColumnType<string | null, string | null | undefined, string | null>;
357
+ /** 0081: a pin keeps the copy on its own stored version (ruling B2). */
358
+ pinned_version: ColumnType<number | null, number | null | undefined, number | null>;
316
359
  }
317
360
  /** 0053: one version of an agent template; `definition` is the parsed frontmatter and body. */
318
361
  export interface AgentTemplateVersionsTable {
@@ -353,6 +396,8 @@ export interface ConnectorsTable {
353
396
  catalog_version: ColumnType<string | null, string | null | undefined, string | null>;
354
397
  /** 0037:模板的 defaultToolPolicies(授权码连接器在首个快照时应用)。 */
355
398
  template_tool_policies: ColumnType<Record<string, "allow" | "ask" | "deny"> | null, string | null | undefined, string | null>;
399
+ /** 0081: the platform connector template this connector was made from (null = none). */
400
+ platform_template_id: ColumnType<string | null, string | null | undefined, string | null>;
356
401
  }
357
402
  /** 0010_tools.sql(0033 由 `app_tools` 改名):连接器暴露的工具。 */
358
403
  export interface ConnectorToolsTable {
@@ -419,6 +464,13 @@ export interface ApprovalsTable {
419
464
  attempt: Generated<number>;
420
465
  /** 0056: the reason given with a denial (null without one). */
421
466
  deny_reason: Generated<string | null>;
467
+ /** 0086: the kernel-rendered summary of the call (per-call policies; null without one). */
468
+ summary: ColumnType<{
469
+ zh: string;
470
+ en: string;
471
+ } | null, string | null | undefined, string | null>;
472
+ /** 0086: the scopes the person may choose (null: derived, see `approvals.service.ts`). */
473
+ scopes: ColumnType<("once" | "session" | "always")[] | null, ("once" | "session" | "always")[] | null | undefined, ("once" | "session" | "always")[] | null>;
422
474
  }
423
475
  /** 0010_tools.sql:AskUserQuestion 提问。 */
424
476
  export interface QuestionsTable {
@@ -591,13 +643,16 @@ export interface SkillManifest {
591
643
  /** 0024_skills.sql:技能(组织技能库 / agent 自己的技能)。 */
592
644
  export interface SkillsTable {
593
645
  id: string;
646
+ /** 0084: the owner shares this copy with other orgs. */
647
+ shareable: Dflt<boolean>;
594
648
  org_id: string;
595
649
  scope: "org" | "agent";
596
650
  agent_id: string | null;
597
651
  name: string;
598
652
  description: string;
599
653
  current_version: number;
600
- created_by: string;
654
+ /** 0076: null for a skill the kernel created (the plugin scope sync). */
655
+ created_by: string | null;
601
656
  created_at: Ts;
602
657
  updated_at: Ts;
603
658
  deleted_at: TsNullable;
@@ -607,6 +662,10 @@ export interface SkillsTable {
607
662
  */
608
663
  catalog_item_id: ColumnType<string | null, string | null | undefined, string | null>;
609
664
  catalog_version: ColumnType<string | null, string | null | undefined, string | null>;
665
+ /** 0081: the platform skill this copy links to (null = none). */
666
+ platform_skill_id: ColumnType<string | null, string | null | undefined, string | null>;
667
+ /** 0081: a pin keeps the copy on its own stored version (ruling B2). */
668
+ pinned_version: ColumnType<number | null, number | null | undefined, number | null>;
610
669
  }
611
670
  /** 0024_skills.sql:技能的版本。 */
612
671
  export interface SkillVersionsTable {
@@ -614,10 +673,11 @@ export interface SkillVersionsTable {
614
673
  version: number;
615
674
  manifest: Json<SkillManifest>;
616
675
  object_prefix: string;
617
- created_by: string;
676
+ /** 0076: null for a version the kernel created (the plugin scope sync). */
677
+ created_by: string | null;
618
678
  created_at: Ts;
619
679
  /**
620
- * 0037, renamed in 0042: this version's enterprise catalog source (NULL for custom uploads /
680
+ * 0037, renamed in 0042: this version's platform catalog source (NULL for custom uploads /
621
681
  * agent skills).
622
682
  */
623
683
  catalog_item_id: ColumnType<string | null, string | null | undefined, string | null>;
@@ -678,9 +738,11 @@ export interface BackgroundTasksTable {
678
738
  read_offset: ColumnType<string, number | string | undefined, number | string>;
679
739
  /** Set while a stop is under way (0072); the poller skips such a task. */
680
740
  stopping_at: ColumnType<Date | null, Date | string | null | undefined, Date | string | null>;
741
+ /** 0088: the environment the task runs in. */
742
+ environment_id: ColumnType<string | null, string | null | undefined, string | null>;
681
743
  }
682
- /** 0023_sandboxes.sql:按对话的沙箱(见 sandbox/sandbox.service.ts)。 */
683
- export interface SandboxesTable {
744
+ /** 0023_sandboxes.sql: the legacy per-conversation sandbox; kept only for the cleanup job (0088). */
745
+ export interface LegacySandboxesTable {
684
746
  conversation_id: string;
685
747
  org_id: string;
686
748
  provider: string;
@@ -707,6 +769,55 @@ export interface SandboxesTable {
707
769
  } | null, string | null | undefined, string | null>;
708
770
  sweep_failed_at: TsNullable;
709
771
  }
772
+ type InstanceHandle = ColumnType<{
773
+ id: string;
774
+ [k: string]: unknown;
775
+ } | null, string | null | undefined, string | null>;
776
+ /** 0088_environments.sql: a long-lived environment (one instance plus a kept file system). */
777
+ export interface EnvironmentsTable {
778
+ id: string;
779
+ org_id: string;
780
+ owner_kind: "personal";
781
+ owner_account_id: string;
782
+ name: ColumnType<string | null, string | null | undefined, string | null>;
783
+ is_default: ColumnType<boolean, boolean | undefined, boolean>;
784
+ source: "cloud";
785
+ provider: ColumnType<string | null, string | null | undefined, string | null>;
786
+ created_at: Ts;
787
+ updated_at: Ts;
788
+ deleted_at: TsNullable;
789
+ }
790
+ /** 0088_environments.sql: the instance and file system of an environment (replaces sandboxes). */
791
+ export interface EnvironmentInstancesTable {
792
+ environment_id: string;
793
+ org_id: string;
794
+ provider: ColumnType<string | null, string | null | undefined, string | null>;
795
+ /** The provider's `FileSystemHandle`; null before the file system exists or after a reset. */
796
+ fs_handle: ColumnType<FileSystemHandle | null, string | null | undefined, string | null>;
797
+ fs_status: ColumnType<"none" | "ready" | "lost", "none" | "ready" | "lost" | undefined, "none" | "ready" | "lost">;
798
+ handle: InstanceHandle;
799
+ status: ColumnType<"none" | "creating" | "running" | "suspended" | "destroyed", "none" | "creating" | "running" | "suspended" | "destroyed" | undefined, "none" | "creating" | "running" | "suspended" | "destroyed">;
800
+ last_used_at: Ts;
801
+ running_since: TsNullable;
802
+ created_at: Ts;
803
+ suspended_at: TsNullable;
804
+ destroyed_at: TsNullable;
805
+ /** Fencing number: every status / handle write under the lock compares and increments it. */
806
+ generation: ColumnType<number, number | undefined, number>;
807
+ /** An instance was created at least once (only ever set to true). */
808
+ had_instance: ColumnType<boolean, boolean | undefined, boolean>;
809
+ /** The old provider's instance left behind by a provider change. */
810
+ prev_provider: ColumnType<string | null, string | null | undefined, string | null>;
811
+ prev_handle: InstanceHandle;
812
+ sweep_failed_at: TsNullable;
813
+ }
814
+ /** 0088_environments.sql: the environment a member's new conversations use by default. */
815
+ export interface EnvironmentDefaultsTable {
816
+ org_id: string;
817
+ account_id: string;
818
+ environment_id: string;
819
+ updated_at: Ts;
820
+ }
710
821
  /** pg numeric:驱动读出为字符串(精确小数),读取方自行 `Number()`。 */
711
822
  type Numeric = ColumnType<string, number | string, number | string>;
712
823
  type NumericNullable = ColumnType<string | null, number | string | null, number | string | null>;
@@ -860,7 +971,7 @@ export interface ExtensionInstallsTable {
860
971
  installed_at: Ts;
861
972
  updated_by: string | null;
862
973
  updated_at: Ts;
863
- /** 0034 (F-AA): the source item when installed through the enterprise catalog. */
974
+ /** 0034 (F-AA): the source item when installed through the platform catalog. */
864
975
  catalog_item_id: ColumnType<string | null, string | null | undefined, string | null>;
865
976
  /**
866
977
  * 0050: a required bootstrap plugin (enabled in every org without an org config row; cannot be
@@ -901,6 +1012,28 @@ export interface UsageReportSweepTable {
901
1012
  watermark: Ts;
902
1013
  updated_at: ColumnType<Date, Date | string | undefined, Date | string>;
903
1014
  }
1015
+ /** A model disabled on the platform (`org_id` null) or in one org (0089, spec B §5.3). */
1016
+ export interface ModelDisabledTable {
1017
+ org_id: string | null;
1018
+ provider: string;
1019
+ model: string;
1020
+ disabled_by: string | null;
1021
+ disabled_at: Ts;
1022
+ }
1023
+ /** One model call outside a conversation, e.g. an extension's embed call (0089, spec B §5.4). */
1024
+ export interface ModelUsageTable {
1025
+ id: Generated<string>;
1026
+ org_id: string;
1027
+ extension: string;
1028
+ purpose: string;
1029
+ provider: string;
1030
+ model: string;
1031
+ input_tokens: number;
1032
+ occurred_at: Ts;
1033
+ reported_at: TsNullable;
1034
+ /** Set when the row's `usage.report` job gave up after its last attempt (the sweep skips it). */
1035
+ report_failed_at: TsNullable;
1036
+ }
904
1037
  export interface KernelDatabase {
905
1038
  accounts: AccountsTable;
906
1039
  identities: IdentitiesTable;
@@ -912,6 +1045,8 @@ export interface KernelDatabase {
912
1045
  api_tokens: ApiTokensTable;
913
1046
  deployment_settings: DeploymentSettingsTable;
914
1047
  extension_org_configs: ExtensionOrgConfigsTable;
1048
+ extension_org_overrides: ExtensionOrgOverridesTable;
1049
+ org_tool_switches: OrgToolSwitchesTable;
915
1050
  audit_events: AuditEventsTable;
916
1051
  secrets: SecretsTable;
917
1052
  agents: AgentsTable;
@@ -944,7 +1079,10 @@ export interface KernelDatabase {
944
1079
  org_anonymous_accounts: OrgAnonymousAccountsTable;
945
1080
  directory_exclusions: DirectoryExclusionsTable;
946
1081
  attachments: AttachmentsTable;
947
- sandboxes: SandboxesTable;
1082
+ sandboxes: LegacySandboxesTable;
1083
+ environments: EnvironmentsTable;
1084
+ environment_instances: EnvironmentInstancesTable;
1085
+ environment_defaults: EnvironmentDefaultsTable;
948
1086
  background_tasks: BackgroundTasksTable;
949
1087
  skills: SkillsTable;
950
1088
  skill_versions: SkillVersionsTable;
@@ -955,6 +1093,8 @@ export interface KernelDatabase {
955
1093
  eval_runs: EvalRunsTable;
956
1094
  eval_results: EvalResultsTable;
957
1095
  model_purpose_mappings: ModelPurposeMappingsTable;
1096
+ model_disabled: ModelDisabledTable;
1097
+ model_usage: ModelUsageTable;
958
1098
  extension_packages: ExtensionPackagesTable;
959
1099
  extension_blobs: ExtensionBlobsTable;
960
1100
  extension_installs: ExtensionInstallsTable;
@@ -969,10 +1109,70 @@ export interface KernelDatabase {
969
1109
  plugin_import_staging: PluginImportStagingTable;
970
1110
  catalog_requests: CatalogRequestsTable;
971
1111
  catalog_org_grants: CatalogOrgGrantsTable;
1112
+ catalog_item_scope_orgs: CatalogItemScopeOrgsTable;
1113
+ catalog_item_org_switches: CatalogItemOrgSwitchesTable;
1114
+ platform_skills: PlatformSkillsTable;
1115
+ platform_skill_versions: PlatformSkillVersionsTable;
1116
+ platform_agent_templates: PlatformAgentTemplatesTable;
1117
+ platform_agent_template_versions: PlatformAgentTemplateVersionsTable;
1118
+ platform_connector_templates: PlatformConnectorTemplatesTable;
1119
+ component_scope_orgs: ComponentScopeOrgsTable;
1120
+ component_org_switches: ComponentOrgSwitchesTable;
972
1121
  plugin_installs: PluginInstallsTable;
973
1122
  plugin_install_components: PluginInstallComponentsTable;
974
1123
  extension_catalog_sources: ExtensionCatalogSourcesTable;
975
1124
  bootstrap_runs: BootstrapRunsTable;
1125
+ platform_migration_runs: PlatformMigrationRunsTable;
1126
+ org_notices: OrgNoticesTable;
1127
+ platform_notices: PlatformNoticesTable;
1128
+ plugin_scope_sync_failures: PluginScopeSyncFailuresTable;
1129
+ }
1130
+ /** 0082: one run of the platform components migration job (`catalog/platform-migration.ts`). */
1131
+ export interface PlatformMigrationRunsTable {
1132
+ id: string;
1133
+ started_at: Ts;
1134
+ finished_at: TsNullable;
1135
+ stats: Json<Record<string, unknown>>;
1136
+ }
1137
+ /** 0082: the kinds of {@link OrgNoticesTable}. */
1138
+ export type OrgNoticeKind = "skill_renamed" | "item_shared" | "shared_item_updated" | "upload_confirmed" | "upload_rejected";
1139
+ /** 0082: a notice for an org's admins (an inbox item), until one of them dismisses it. */
1140
+ export interface OrgNoticesTable {
1141
+ id: string;
1142
+ org_id: string;
1143
+ kind: OrgNoticeKind;
1144
+ /** `skill_renamed`: `{ skillId, from, to, platformSkillId, plugin }`. */
1145
+ detail: Json<Record<string, unknown>>;
1146
+ created_at: Ts;
1147
+ dismissed_at: TsNullable;
1148
+ dismissed_by: NullableCol<string>;
1149
+ }
1150
+ /** 0084: a notice for the super admins (platform inbox), until one of them dismisses it. */
1151
+ export interface PlatformNoticesTable {
1152
+ id: string;
1153
+ kind: "ownership_transferred";
1154
+ detail: Json<Record<string, unknown>>;
1155
+ created_at: Ts;
1156
+ dismissed_at: TsNullable;
1157
+ dismissed_by: NullableCol<string>;
1158
+ }
1159
+ /**
1160
+ * 0083: what a failed scope sync attempt was doing: turning the plugin on, off, or installing the
1161
+ * dependencies a platform update added to a live install.
1162
+ */
1163
+ export type ScopeSyncOp = "install" | "uninstall" | "dependencies";
1164
+ /**
1165
+ * 0083: an open failure of the plugin scope sync for one (item, org): its last attempt failed; the
1166
+ * next sync of the pair that does not fail deletes the row.
1167
+ */
1168
+ export interface PluginScopeSyncFailuresTable {
1169
+ item_id: string;
1170
+ org_id: string;
1171
+ op: ScopeSyncOp;
1172
+ /** The `ApiError` code, else `internal`. */
1173
+ code: string;
1174
+ message: string;
1175
+ failed_at: Ts;
976
1176
  }
977
1177
  /** 0050: one row per bootstrap manifest the bootstrap step completed. */
978
1178
  export interface BootstrapRunsTable {
@@ -981,7 +1181,7 @@ export interface BootstrapRunsTable {
981
1181
  completed_at: Ts;
982
1182
  results: ColumnType<unknown, string, string>;
983
1183
  }
984
- /** 0034_directory.sql, renamed in 0042, one kind (plugin) since 0044: enterprise catalog items. */
1184
+ /** 0034_directory.sql, renamed in 0042, one kind (plugin) since 0044: platform catalog items. */
985
1185
  export interface CatalogItemsTable {
986
1186
  id: string;
987
1187
  /** The plugin name (one live item per name). */
@@ -1002,9 +1202,151 @@ export interface CatalogItemsTable {
1002
1202
  deleted_at: ColumnType<Date | null, Date | string | null | undefined, Date | string | null>;
1003
1203
  /** 0035, renamed in 0042: the marketplace it was imported from (null once that is deleted). */
1004
1204
  marketplace_id: ColumnType<string | null, string | null | undefined, string | null>;
1205
+ /** 0075: who the plugin is offered to (`named`: the rows of `catalog_item_scope_orgs`). */
1206
+ scope: ColumnType<"all" | "optional" | "named", "all" | "optional" | "named" | undefined, "all" | "optional" | "named">;
1207
+ /** 0075: shipped with the deployment (required bootstrap plugins); always scope `all`. */
1208
+ builtin: ColumnType<boolean, boolean | undefined, boolean>;
1209
+ /** 0075: switched off for every org by the super admin. */
1210
+ disabled: ColumnType<boolean, boolean | undefined, boolean>;
1211
+ /** 0075: bumped on every scope change. */
1212
+ scope_version: ColumnType<number, number | undefined, number>;
1213
+ /** 0077: orgs outside a `named` item's list see it as requestable (never usable). */
1214
+ shown_to_others: ColumnType<boolean, boolean | undefined, boolean>;
1215
+ /** 0082: the version its platform components were last written from (null: never). */
1216
+ platform_synced_version: NullableCol<string>;
1217
+ /** 0084: the owning org (null = the platform). */
1218
+ owner_org_id: NullableDflt<string>;
1219
+ /** 0084: the owner shares it with other orgs (the gate is `owner_org_id IS NULL OR shareable`). */
1220
+ shareable: Dflt<boolean>;
1221
+ /** 0084: an upload waits for the super admin's confirmation of its permission digest. */
1222
+ awaiting_confirmation: Dflt<boolean>;
1223
+ /** 0084: the uploaded version not yet confirmed. */
1224
+ pending_version: NullableDflt<string>;
1225
+ pending_by: NullableDflt<string>;
1226
+ pending_at: NullableDflt<Date | string>;
1227
+ }
1228
+ /** 0075: the orgs a `named` item is offered to. */
1229
+ export interface CatalogItemScopeOrgsTable {
1230
+ item_id: string;
1231
+ org_id: string;
1232
+ }
1233
+ /** 0075: an org's on / off switch of an item's components. */
1234
+ export interface CatalogItemOrgSwitchesTable {
1235
+ item_id: string;
1236
+ org_id: string;
1237
+ enabled: boolean;
1238
+ updated_by: NullableCol<string>;
1239
+ updated_at: Ts;
1240
+ }
1241
+ type ScopeMode = "follow" | "own";
1242
+ type ComponentScope = "all" | "optional" | "named";
1243
+ type ComponentKind = "skill" | "agent_template" | "connector_template";
1244
+ type Dflt<T> = ColumnType<T, T | undefined, T>;
1245
+ type NullableDflt<T> = ColumnType<T | null, T | null | undefined, T | null>;
1246
+ /** 0081: the scope columns every platform component carries (ruling C2). */
1247
+ interface PlatformScopeColumns {
1248
+ scope_mode: Dflt<ScopeMode>;
1249
+ scope: Dflt<ComponentScope>;
1250
+ disabled: Dflt<boolean>;
1251
+ shown_to_others: Dflt<boolean>;
1252
+ scope_version: Dflt<number>;
1253
+ }
1254
+ /** 0081: a skill owned by the deployment (ruling A2). */
1255
+ export interface PlatformSkillsTable extends PlatformScopeColumns {
1256
+ id: string;
1257
+ /** 0084: the owning org (null = the platform). */
1258
+ owner_org_id: NullableDflt<string>;
1259
+ /** 0084: the org it was created in; never changed (F27). */
1260
+ origin_org_id: NullableDflt<string>;
1261
+ /** 0084: the owner shares it with other orgs. */
1262
+ shareable: Dflt<boolean>;
1263
+ catalog_item_id: NullableDflt<string>;
1264
+ plugin_name: NullableDflt<string>;
1265
+ name: string;
1266
+ description: string;
1267
+ description_zh: NullableDflt<string>;
1268
+ current_version: number;
1269
+ created_at: Ts;
1270
+ updated_at: Ts;
1271
+ deleted_at: TsNullable;
1272
+ }
1273
+ /** 0081: one version of a platform skill; files live under `object_prefix` in `deployment/`. */
1274
+ export interface PlatformSkillVersionsTable {
1275
+ skill_id: string;
1276
+ version: number;
1277
+ manifest: Json<SkillManifest>;
1278
+ object_prefix: string;
1279
+ catalog_version: NullableDflt<string>;
1280
+ source_format: Dflt<SourceFormat>;
1281
+ suggest_pinned: Dflt<boolean>;
1282
+ updated_on_own: Dflt<boolean>;
1283
+ created_by: NullableDflt<string>;
1284
+ created_at: Ts;
1285
+ }
1286
+ /** 0081: an agent template owned by the deployment. */
1287
+ export interface PlatformAgentTemplatesTable extends PlatformScopeColumns {
1288
+ id: string;
1289
+ /** 0084: the owning org (null = the platform). */
1290
+ owner_org_id: NullableDflt<string>;
1291
+ /** 0084: the org it was created in; never changed (F27). */
1292
+ origin_org_id: NullableDflt<string>;
1293
+ /** 0084: the owner shares it with other orgs. */
1294
+ shareable: Dflt<boolean>;
1295
+ catalog_item_id: NullableDflt<string>;
1296
+ plugin_name: NullableDflt<string>;
1297
+ name: string;
1298
+ description: NullableDflt<string>;
1299
+ description_zh: NullableDflt<string>;
1300
+ current_version: number;
1301
+ created_at: Ts;
1302
+ updated_at: Ts;
1303
+ deleted_at: TsNullable;
1304
+ }
1305
+ /** 0081: one version of a platform agent template. */
1306
+ export interface PlatformAgentTemplateVersionsTable {
1307
+ template_id: string;
1308
+ version: number;
1309
+ definition: Json<unknown>;
1310
+ object_prefix: NullableDflt<string>;
1311
+ catalog_version: NullableDflt<string>;
1312
+ source_format: Dflt<SourceFormat>;
1313
+ suggest_pinned: Dflt<boolean>;
1314
+ updated_on_own: Dflt<boolean>;
1315
+ created_by: NullableDflt<string>;
1316
+ created_at: Ts;
1317
+ }
1318
+ /** 0081: a connector template of a catalog item, with its own scope; connectors stay per org. */
1319
+ export interface PlatformConnectorTemplatesTable extends PlatformScopeColumns {
1320
+ id: string;
1321
+ /** 0084: the owning org (null = the platform). */
1322
+ owner_org_id: NullableDflt<string>;
1323
+ /** 0084: the owner shares it with other orgs. */
1324
+ shareable: Dflt<boolean>;
1325
+ catalog_item_id: string;
1326
+ template_id: string;
1327
+ current_version: string;
1328
+ file: Json<unknown>;
1329
+ created_at: Ts;
1330
+ updated_at: Ts;
1331
+ deleted_at: TsNullable;
1332
+ }
1333
+ /** 0081: the orgs an own-scope `named` component is offered to. */
1334
+ export interface ComponentScopeOrgsTable {
1335
+ kind: ComponentKind;
1336
+ component_id: string;
1337
+ org_id: string;
1338
+ }
1339
+ /** 0081: an org's on / off switch of a component. */
1340
+ export interface ComponentOrgSwitchesTable {
1341
+ kind: ComponentKind;
1342
+ component_id: string;
1343
+ org_id: string;
1344
+ enabled: boolean;
1345
+ updated_by: NullableCol<string>;
1346
+ updated_at: Ts;
1005
1347
  }
1006
1348
  /**
1007
- * 0034, renamed in 0042, reshaped in 0044: the versions of an enterprise catalog item. `manifest` is
1349
+ * 0034, renamed in 0042, reshaped in 0044: the versions of a platform catalog item. `manifest` is
1008
1350
  * the normalized plugin.json (skills and connector templates listed explicitly); `extension_sha256`
1009
1351
  * the plugin's extension package in `extension_packages` (null without an extension); `files` the
1010
1352
  * files stored under `object_prefix` (skills, connector templates, icons).
@@ -1038,8 +1380,15 @@ export interface CatalogItemVersionsTable {
1038
1380
  license_text: ColumnType<string | null, string | null | undefined, string | null>;
1039
1381
  /** 0051: the root LICENSE was too long (or not UTF-8) to store. */
1040
1382
  license_truncated: ColumnType<boolean, boolean | undefined, boolean>;
1383
+ /**
1384
+ * 0084 (ruling P3-52): when the version was applied or confirmed (default: written; an org's
1385
+ * upload writes null until applied). Only applied, not rejected versions serve other orgs.
1386
+ */
1387
+ applied_at: TsNullable;
1388
+ /** 0084 (ruling P3-52): when the super admin rejected this pending org version. */
1389
+ rejected_at: TsNullable;
1041
1390
  }
1042
- /** 0035_catalogs.sql, renamed in 0042: marketplaces (official / enterprise). */
1391
+ /** 0035_catalogs.sql, renamed in 0042: marketplaces (official / custom). */
1043
1392
  export interface MarketplacesTable {
1044
1393
  id: string;
1045
1394
  name: string;
@@ -1092,6 +1441,8 @@ export interface MarketplaceEntriesTable {
1092
1441
  */
1093
1442
  export interface PluginImportStagingTable {
1094
1443
  id: string;
1444
+ /** 0084: the org whose upload this is (null: the super admin's import). */
1445
+ org_id: NullableDflt<string>;
1095
1446
  review: Json<unknown>;
1096
1447
  manifest: Json<unknown>;
1097
1448
  object_prefix: string | null;
@@ -1102,14 +1453,31 @@ export interface PluginImportStagingTable {
1102
1453
  }
1103
1454
  type NullableCol<T> = ColumnType<T | null, T | null | undefined, T | null>;
1104
1455
  /**
1105
- * 0037, renamed in 0042: an org's catalog requests (stage org = a member request; deployment =
1106
- * waiting for enterprise admin approval).
1456
+ * 0037, renamed in 0042, kinds since 0077: an org's catalog requests. `stage` (org / deployment) is
1457
+ * still written (`enable` -> org, else deployment) but no longer read.
1107
1458
  */
1108
1459
  export interface CatalogRequestsTable {
1109
1460
  id: string;
1110
1461
  org_id: string;
1111
- item_id: string;
1462
+ /** 0077: null for an `import` request until its confirm writes the item. */
1463
+ item_id: NullableCol<string>;
1112
1464
  version: NullableCol<string>;
1465
+ /** 0077: what the request asks for (spec §5.1). */
1466
+ kind: ColumnType<"access" | "import" | "enable" | "connector_setup", "access" | "import" | "enable" | "connector_setup" | undefined, "access" | "import" | "enable" | "connector_setup">;
1467
+ /** 0085: the agent of a `connector_setup` request (cascades with the agent). */
1468
+ agent_id: NullableCol<string>;
1469
+ /** 0085: the template connector keys a `connector_setup` request still waits for. */
1470
+ pending_keys: ColumnType<string[] | null, string | null | undefined, string | null>;
1471
+ /** 0077: the marketplace entry of an `import` request (null once the marketplace is deleted). */
1472
+ marketplace_id: NullableCol<string>;
1473
+ entry_name: NullableCol<string>;
1474
+ entry_version: NullableCol<string>;
1475
+ /** 0077: the optional reason of a rejection. */
1476
+ reason: NullableCol<string>;
1477
+ /** 0077: the prepared import of an approved `import` request. */
1478
+ staging_id: NullableCol<string>;
1479
+ /** 0077: the requester dismissed the decision from the inbox. */
1480
+ dismissed_at: NullableCol<Date>;
1113
1481
  stage: "org" | "deployment";
1114
1482
  requested_by: string | null;
1115
1483
  note: ColumnType<string, string | undefined, string>;
@@ -1129,7 +1497,7 @@ export interface ExtensionCatalogSourcesTable {
1129
1497
  item_id: string;
1130
1498
  created_at: Generated<Date>;
1131
1499
  }
1132
- /** 0037, renamed in 0042: an enterprise admin's approval for an org to install a needs_approval item. */
1500
+ /** 0037, renamed in 0042: a super admin's approval for an org to install a needs_approval item. */
1133
1501
  export interface CatalogOrgGrantsTable {
1134
1502
  item_id: string;
1135
1503
  org_id: string;
@@ -0,0 +1,41 @@
1
+ import { ApiError } from "../errors.js";
2
+ import { KernelDb } from "../infra/database/kernel-db.js";
3
+ import { SandboxProviders } from "../sandbox/providers.js";
4
+ /** What decides an environment's provider: its own record and its instance row's (if any). */
5
+ export interface ProviderFacts {
6
+ /** `environments.provider`: the provider current when it was created. */
7
+ provider: string | null;
8
+ /** `environment_instances.provider`; null without an instance row. */
9
+ instanceProvider: string | null;
10
+ /** The instance row's `fs_status`; null without an instance row. */
11
+ fsStatus: "none" | "ready" | "lost" | null;
12
+ /** The instance row records an instance handle. */
13
+ hasInstance: boolean;
14
+ }
15
+ /**
16
+ * The provider an environment works with: the one keeping its files or instance once it has any
17
+ * (they are never migrated, spec §4.2 item 13); before that, the current provider (its first use
18
+ * creates them there), else the one recorded at creation. The same rule as `SandboxService`'s use.
19
+ */
20
+ export declare function environmentProvider(f: ProviderFacts, current: string | undefined): string | null;
21
+ /** The environment's provider is not the current one, or there is no provider (503). */
22
+ export declare const environmentUnavailable: (provider: string | null) => ApiError;
23
+ /**
24
+ * Who may use an environment (spec §4.2 item 12): in phase 1 only the owner of a personal
25
+ * environment. Anyone else gets `environment.not_found`, never `forbidden`, so ids cannot be
26
+ * probed. Read live on every call (PG, no cache); phase 3 adds project membership.
27
+ */
28
+ export declare class EnvironmentAccess {
29
+ private readonly db;
30
+ private readonly providers;
31
+ constructor(db: KernelDb, providers: Pick<SandboxProviders, "current">);
32
+ /**
33
+ * The environment if `accountId` may use it in `orgId` now: `environment.not_found` when it is
34
+ * missing, deleted, in another org or someone else's; `environment.unavailable` when its
35
+ * provider is not the current one (or there is none).
36
+ */
37
+ usable(orgId: string, accountId: string, environmentId: string): Promise<{
38
+ id: string;
39
+ provider: string | null;
40
+ }>;
41
+ }