@capybara-hq/kernel 0.1.0-rc.0 → 0.1.0-rc.10

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 (1152) hide show
  1. package/bootstrap.json +92 -8
  2. package/dist/admin/admin.controller.d.ts +52 -71
  3. package/dist/admin/admin.controller.js +117 -63
  4. package/dist/admin/admin.module.d.ts +3 -0
  5. package/dist/admin/admin.module.js +22 -0
  6. package/dist/admin/admin.schemas.d.ts +57 -0
  7. package/dist/admin/admin.schemas.js +50 -0
  8. package/dist/admin/extensions.controller.d.ts +47 -16
  9. package/dist/admin/extensions.controller.js +94 -23
  10. package/dist/admin/extensions.schemas.d.ts +7 -0
  11. package/dist/admin/extensions.schemas.js +10 -0
  12. package/dist/admin/limit-defaults.d.ts +20 -0
  13. package/dist/admin/limit-defaults.js +10 -0
  14. package/dist/admin/setup-lock.d.ts +16 -0
  15. package/dist/admin/setup-lock.js +47 -0
  16. package/dist/admin/setup.controller.d.ts +9 -9
  17. package/dist/admin/setup.controller.js +28 -26
  18. package/dist/admin/setup.service.d.ts +20 -28
  19. package/dist/admin/setup.service.js +65 -65
  20. package/dist/agents/agent-lookup.d.ts +72 -0
  21. package/dist/agents/agent-lookup.js +208 -0
  22. package/dist/agents/agent-profile.service.d.ts +31 -0
  23. package/dist/agents/agent-profile.service.js +122 -0
  24. package/dist/agents/agents.controller.d.ts +54 -169
  25. package/dist/agents/agents.controller.js +172 -37
  26. package/dist/agents/agents.module.d.ts +10 -0
  27. package/dist/agents/agents.module.js +71 -0
  28. package/dist/agents/agents.schemas.d.ts +389 -0
  29. package/dist/agents/agents.schemas.js +126 -0
  30. package/dist/agents/agents.service.d.ts +104 -76
  31. package/dist/agents/agents.service.js +509 -383
  32. package/dist/agents/definition.d.ts +133 -21
  33. package/dist/agents/definition.js +361 -41
  34. package/dist/agents/from-template.d.ts +106 -0
  35. package/dist/agents/from-template.js +680 -0
  36. package/dist/agents/from-template.service.d.ts +72 -0
  37. package/dist/agents/from-template.service.js +178 -0
  38. package/dist/agents/instruction-files.d.ts +60 -0
  39. package/dist/agents/instruction-files.js +111 -0
  40. package/dist/agents/models.controller.d.ts +44 -6
  41. package/dist/agents/models.controller.js +84 -8
  42. package/dist/agents/org-templates.d.ts +186 -0
  43. package/dist/agents/org-templates.js +868 -0
  44. package/dist/agents/pending-connector-requests.d.ts +79 -0
  45. package/dist/agents/pending-connector-requests.js +215 -0
  46. package/dist/agents/pending-connectors.controller.d.ts +39 -0
  47. package/dist/agents/pending-connectors.controller.js +91 -0
  48. package/dist/agents/pending-connectors.service.d.ts +62 -0
  49. package/dist/agents/pending-connectors.service.js +282 -0
  50. package/dist/agents/profile.d.ts +114 -0
  51. package/dist/agents/profile.js +55 -0
  52. package/dist/agents/readiness.controller.d.ts +26 -0
  53. package/dist/agents/readiness.controller.js +56 -0
  54. package/dist/agents/templates.controller.d.ts +78 -6
  55. package/dist/agents/templates.controller.js +154 -8
  56. package/dist/agents/templates.d.ts +132 -30
  57. package/dist/agents/templates.js +500 -46
  58. package/dist/agents/templates.schemas.d.ts +20 -0
  59. package/dist/agents/templates.schemas.js +45 -0
  60. package/dist/app.d.ts +93 -0
  61. package/dist/app.js +150 -0
  62. package/dist/background/background.controller.d.ts +38 -0
  63. package/dist/background/background.controller.js +88 -0
  64. package/dist/background/background.module.d.ts +10 -0
  65. package/dist/background/background.module.js +39 -0
  66. package/dist/background/background.schemas.d.ts +10 -0
  67. package/dist/background/background.schemas.js +16 -0
  68. package/dist/background/finish.d.ts +44 -0
  69. package/dist/background/finish.js +95 -0
  70. package/dist/background/launch-lock.d.ts +15 -0
  71. package/dist/background/launch-lock.js +40 -0
  72. package/dist/background/launch.d.ts +42 -0
  73. package/dist/background/launch.js +77 -0
  74. package/dist/background/poll.job.d.ts +56 -0
  75. package/dist/background/poll.job.js +195 -0
  76. package/dist/background/render.d.ts +23 -0
  77. package/dist/background/render.js +48 -0
  78. package/dist/background/session.d.ts +48 -0
  79. package/dist/background/session.js +80 -0
  80. package/dist/background/status.d.ts +35 -0
  81. package/dist/background/status.js +57 -0
  82. package/dist/background/stop.d.ts +68 -0
  83. package/dist/background/stop.js +244 -0
  84. package/dist/background/store.d.ts +167 -0
  85. package/dist/background/store.js +361 -0
  86. package/dist/background/store.module.d.ts +6 -0
  87. package/dist/background/store.module.js +22 -0
  88. package/dist/background/tasks.service.d.ts +77 -0
  89. package/dist/background/tasks.service.js +216 -0
  90. package/dist/background/wake-rules.d.ts +66 -0
  91. package/dist/background/wake-rules.js +113 -0
  92. package/dist/background/wake.d.ts +30 -0
  93. package/dist/background/wake.js +63 -0
  94. package/dist/catalog/admin-catalog.controller.d.ts +102 -52
  95. package/dist/catalog/admin-catalog.controller.js +222 -67
  96. package/dist/catalog/admin-catalog.schemas.d.ts +72 -0
  97. package/dist/catalog/admin-catalog.schemas.js +92 -0
  98. package/dist/catalog/catalog-content.d.ts +232 -0
  99. package/dist/catalog/catalog-content.js +367 -0
  100. package/dist/catalog/catalog-files.d.ts +41 -0
  101. package/dist/catalog/catalog-files.js +86 -0
  102. package/dist/catalog/catalog-import.module.d.ts +7 -0
  103. package/dist/catalog/catalog-import.module.js +60 -0
  104. package/dist/catalog/catalog-items.d.ts +290 -0
  105. package/dist/catalog/catalog-items.js +676 -0
  106. package/dist/catalog/catalog-scope.service.d.ts +260 -0
  107. package/dist/catalog/catalog-scope.service.js +1124 -0
  108. package/dist/catalog/catalog.module.d.ts +12 -0
  109. package/dist/catalog/catalog.module.js +81 -0
  110. package/dist/catalog/catalog.service.d.ts +141 -206
  111. package/dist/catalog/catalog.service.js +237 -528
  112. package/dist/catalog/claude/agents.js +15 -10
  113. package/dist/catalog/cli.d.ts +14 -3
  114. package/dist/catalog/cli.js +39 -32
  115. package/dist/catalog/component-promotion.d.ts +96 -0
  116. package/dist/catalog/component-promotion.js +395 -0
  117. package/dist/catalog/component-scope.controller.d.ts +90 -0
  118. package/dist/catalog/component-scope.controller.js +234 -0
  119. package/dist/catalog/component-scope.schemas.d.ts +114 -0
  120. package/dist/catalog/component-scope.schemas.js +97 -0
  121. package/dist/catalog/component-scope.service.d.ts +327 -0
  122. package/dist/catalog/component-scope.service.js +990 -0
  123. package/dist/catalog/component-state.d.ts +188 -0
  124. package/dist/catalog/component-state.js +455 -0
  125. package/dist/catalog/git-source.d.ts +9 -1
  126. package/dist/catalog/git-source.js +29 -2
  127. package/dist/catalog/job-ids.d.ts +45 -0
  128. package/dist/catalog/job-ids.js +40 -0
  129. package/dist/catalog/jobs.d.ts +27 -0
  130. package/dist/catalog/jobs.js +70 -0
  131. package/dist/catalog/locks.d.ts +24 -0
  132. package/dist/catalog/locks.js +63 -0
  133. package/dist/catalog/marketplace-fetch.d.ts +1 -1
  134. package/dist/catalog/marketplace-icons.d.ts +64 -0
  135. package/dist/catalog/marketplace-icons.js +131 -0
  136. package/dist/catalog/marketplaces.controller.d.ts +53 -44
  137. package/dist/catalog/marketplaces.controller.js +146 -51
  138. package/dist/catalog/marketplaces.schemas.d.ts +48 -0
  139. package/dist/catalog/marketplaces.schemas.js +53 -0
  140. package/dist/catalog/marketplaces.service.d.ts +136 -26
  141. package/dist/catalog/marketplaces.service.js +663 -281
  142. package/dist/catalog/org-catalog.controller.d.ts +115 -63
  143. package/dist/catalog/org-catalog.controller.js +207 -100
  144. package/dist/catalog/org-catalog.schemas.d.ts +88 -0
  145. package/dist/catalog/org-catalog.schemas.js +93 -0
  146. package/dist/catalog/org-catalog.service.d.ts +89 -216
  147. package/dist/catalog/org-catalog.service.js +431 -472
  148. package/dist/catalog/org-extension-switch.d.ts +41 -0
  149. package/dist/catalog/org-extension-switch.js +115 -0
  150. package/dist/catalog/org-extension.controller.d.ts +113 -0
  151. package/dist/catalog/org-extension.controller.js +271 -0
  152. package/dist/catalog/org-extension.schemas.d.ts +15 -0
  153. package/dist/catalog/org-extension.schemas.js +22 -0
  154. package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
  155. package/dist/catalog/org-plugin-uploads.controller.js +200 -0
  156. package/dist/catalog/org-plugin-uploads.d.ts +71 -0
  157. package/dist/catalog/org-plugin-uploads.js +122 -0
  158. package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
  159. package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
  160. package/dist/catalog/owned-items.d.ts +188 -0
  161. package/dist/catalog/owned-items.js +801 -0
  162. package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
  163. package/dist/catalog/owned-plugin-cleanup.js +194 -0
  164. package/dist/catalog/ownership.d.ts +172 -0
  165. package/dist/catalog/ownership.js +326 -0
  166. package/dist/catalog/platform-components.d.ts +223 -0
  167. package/dist/catalog/platform-components.js +763 -0
  168. package/dist/catalog/platform-migration.d.ts +115 -0
  169. package/dist/catalog/platform-migration.js +582 -0
  170. package/dist/catalog/plugin-import.d.ts +270 -68
  171. package/dist/catalog/plugin-import.js +1004 -277
  172. package/dist/catalog/plugin-install.d.ts +251 -65
  173. package/dist/catalog/plugin-install.js +1128 -344
  174. package/dist/catalog/plugin-package.js +14 -1
  175. package/dist/catalog/plugin-upgrade.d.ts +301 -188
  176. package/dist/catalog/plugin-upgrade.js +1256 -1068
  177. package/dist/catalog/request-rules.d.ts +65 -0
  178. package/dist/catalog/request-rules.js +217 -0
  179. package/dist/catalog/requests.service.d.ts +205 -117
  180. package/dist/catalog/requests.service.js +612 -369
  181. package/dist/catalog/reserved-names.d.ts +8 -0
  182. package/dist/catalog/reserved-names.js +42 -0
  183. package/dist/catalog/scope-orgs.d.ts +21 -0
  184. package/dist/catalog/scope-orgs.js +67 -0
  185. package/dist/catalog/scope-state.d.ts +35 -0
  186. package/dist/catalog/scope-state.js +87 -0
  187. package/dist/catalog/scope-sync-workers.d.ts +7 -0
  188. package/dist/catalog/scope-sync-workers.js +29 -0
  189. package/dist/catalog/scope-sync.d.ts +176 -0
  190. package/dist/catalog/scope-sync.js +576 -0
  191. package/dist/catalog/scope.d.ts +42 -0
  192. package/dist/catalog/scope.js +42 -0
  193. package/dist/catalog/unshare.d.ts +22 -0
  194. package/dist/catalog/unshare.js +118 -0
  195. package/dist/channels/actions.d.ts +6 -4
  196. package/dist/channels/actions.js +11 -4
  197. package/dist/channels/cards.d.ts +33 -11
  198. package/dist/channels/cards.js +96 -24
  199. package/dist/channels/channels.module.d.ts +40 -0
  200. package/dist/channels/channels.module.js +130 -0
  201. package/dist/channels/channels.schemas.d.ts +37 -0
  202. package/dist/channels/channels.schemas.js +38 -0
  203. package/dist/channels/connections.controller.d.ts +44 -37
  204. package/dist/channels/connections.controller.js +83 -38
  205. package/dist/channels/connections.service.d.ts +101 -30
  206. package/dist/channels/connections.service.js +380 -147
  207. package/dist/channels/inbound.d.ts +44 -38
  208. package/dist/channels/inbound.js +190 -44
  209. package/dist/channels/job-ids.d.ts +10 -0
  210. package/dist/channels/job-ids.js +10 -0
  211. package/dist/channels/jobs.d.ts +85 -0
  212. package/dist/channels/jobs.js +157 -0
  213. package/dist/channels/outbound.d.ts +71 -80
  214. package/dist/channels/outbound.js +219 -201
  215. package/dist/channels/phrases.d.ts +33 -2
  216. package/dist/channels/phrases.js +29 -1
  217. package/dist/channels/supervisor.d.ts +88 -46
  218. package/dist/channels/supervisor.js +230 -132
  219. package/dist/channels/threads.d.ts +34 -8
  220. package/dist/channels/threads.js +79 -13
  221. package/dist/channels/webhook.d.ts +20 -14
  222. package/dist/channels/webhook.js +51 -20
  223. package/dist/config/docs.js +5 -1
  224. package/dist/config/load.d.ts +3 -2
  225. package/dist/config/load.js +3 -2
  226. package/dist/config/nacos-source.js +11 -2
  227. package/dist/config/schema.d.ts +51 -3
  228. package/dist/config/schema.js +269 -27
  229. package/dist/conversations/access.d.ts +31 -0
  230. package/dist/conversations/access.js +110 -0
  231. package/dist/conversations/agent-tree.d.ts +46 -0
  232. package/dist/conversations/agent-tree.js +92 -0
  233. package/dist/conversations/artifacts.d.ts +11 -11
  234. package/dist/conversations/artifacts.js +36 -10
  235. package/dist/conversations/attachments.controller.d.ts +1 -1
  236. package/dist/conversations/attachments.controller.js +8 -6
  237. package/dist/conversations/attachments.module.d.ts +7 -0
  238. package/dist/conversations/attachments.module.js +25 -0
  239. package/dist/conversations/attachments.service.d.ts +60 -22
  240. package/dist/conversations/attachments.service.js +249 -51
  241. package/dist/conversations/conversations.controller.d.ts +86 -50
  242. package/dist/conversations/conversations.controller.js +184 -103
  243. package/dist/conversations/conversations.module.d.ts +8 -0
  244. package/dist/conversations/conversations.module.js +72 -0
  245. package/dist/conversations/conversations.schemas.d.ts +52 -0
  246. package/dist/conversations/conversations.schemas.js +79 -0
  247. package/dist/conversations/conversations.service.d.ts +166 -49
  248. package/dist/conversations/conversations.service.js +383 -179
  249. package/dist/conversations/environment-status.d.ts +24 -0
  250. package/dist/conversations/environment-status.js +71 -0
  251. package/dist/conversations/event-log.d.ts +64 -27
  252. package/dist/conversations/event-log.js +167 -31
  253. package/dist/conversations/events.d.ts +252 -9
  254. package/dist/conversations/events.js +243 -32
  255. package/dist/conversations/files.d.ts +10 -10
  256. package/dist/conversations/files.js +37 -11
  257. package/dist/conversations/idem-keys.d.ts +5 -0
  258. package/dist/conversations/idem-keys.js +5 -0
  259. package/dist/conversations/job-ids.d.ts +6 -0
  260. package/dist/conversations/job-ids.js +6 -0
  261. package/dist/conversations/message-context.d.ts +79 -0
  262. package/dist/conversations/message-context.js +145 -0
  263. package/dist/conversations/outputs-read.d.ts +11 -11
  264. package/dist/conversations/outputs-read.js +31 -7
  265. package/dist/conversations/queue.d.ts +53 -58
  266. package/dist/conversations/queue.js +37 -293
  267. package/dist/conversations/queue.service.d.ts +60 -0
  268. package/dist/conversations/queue.service.js +350 -0
  269. package/dist/conversations/titles.d.ts +83 -27
  270. package/dist/conversations/titles.js +195 -70
  271. package/dist/conversations/tree.d.ts +17 -0
  272. package/dist/conversations/tree.js +42 -0
  273. package/dist/ctx/bus.js +9 -3
  274. package/dist/ctx/create-ctx.d.ts +26 -1
  275. package/dist/ctx/create-ctx.js +45 -16
  276. package/dist/ctx/lock.d.ts +7 -3
  277. package/dist/ctx/lock.js +9 -20
  278. package/dist/ctx/queue.js +3 -2
  279. package/dist/ctx/secrets.d.ts +10 -2
  280. package/dist/ctx/secrets.js +7 -3
  281. package/dist/db/kernel-schema.d.ts +550 -25
  282. package/dist/db/pool.d.ts +10 -0
  283. package/dist/db/pool.js +4 -0
  284. package/dist/devices/device-auth.controller.d.ts +42 -0
  285. package/dist/devices/device-auth.controller.js +116 -0
  286. package/dist/devices/device-auth.d.ts +119 -0
  287. package/dist/devices/device-auth.js +403 -0
  288. package/dist/devices/device-auth.module.d.ts +7 -0
  289. package/dist/devices/device-auth.module.js +25 -0
  290. package/dist/devices/device-gateway.d.ts +128 -0
  291. package/dist/devices/device-gateway.js +530 -0
  292. package/dist/devices/device-provider.d.ts +89 -0
  293. package/dist/devices/device-provider.js +151 -0
  294. package/dist/devices/device-routes.d.ts +36 -0
  295. package/dist/devices/device-routes.js +90 -0
  296. package/dist/devices/devices.module.d.ts +16 -0
  297. package/dist/devices/devices.module.js +44 -0
  298. package/dist/devices/dto.d.ts +66 -0
  299. package/dist/devices/dto.js +44 -0
  300. package/dist/devices/keys.d.ts +25 -0
  301. package/dist/devices/keys.js +25 -0
  302. package/dist/devices/machines.d.ts +118 -0
  303. package/dist/devices/machines.js +366 -0
  304. package/dist/devices/relay.d.ts +100 -0
  305. package/dist/devices/relay.js +373 -0
  306. package/dist/devices/targets.d.ts +28 -0
  307. package/dist/devices/targets.js +73 -0
  308. package/dist/environments/access.d.ts +66 -0
  309. package/dist/environments/access.js +113 -0
  310. package/dist/environments/conversation-environments.d.ts +75 -0
  311. package/dist/environments/conversation-environments.js +231 -0
  312. package/dist/environments/dto.d.ts +25 -0
  313. package/dist/environments/dto.js +12 -0
  314. package/dist/environments/environments.controller.d.ts +36 -0
  315. package/dist/environments/environments.controller.js +124 -0
  316. package/dist/environments/environments.module.d.ts +8 -0
  317. package/dist/environments/environments.module.js +31 -0
  318. package/dist/environments/environments.schemas.d.ts +3 -0
  319. package/dist/environments/environments.schemas.js +14 -0
  320. package/dist/environments/environments.service.d.ts +251 -0
  321. package/dist/environments/environments.service.js +791 -0
  322. package/dist/environments/label.d.ts +11 -0
  323. package/dist/environments/label.js +25 -0
  324. package/dist/environments/legacy-cleanup.job.d.ts +34 -0
  325. package/dist/environments/legacy-cleanup.job.js +141 -0
  326. package/dist/errors.d.ts +136 -2
  327. package/dist/errors.js +136 -2
  328. package/dist/evals/budget.d.ts +42 -21
  329. package/dist/evals/budget.js +114 -62
  330. package/dist/evals/evals.module.d.ts +31 -0
  331. package/dist/evals/evals.module.js +114 -0
  332. package/dist/evals/evals.schemas.d.ts +110 -0
  333. package/dist/evals/evals.schemas.js +107 -0
  334. package/dist/evals/jobs.d.ts +20 -0
  335. package/dist/evals/jobs.js +45 -0
  336. package/dist/evals/reconstruct.d.ts +18 -9
  337. package/dist/evals/reconstruct.js +36 -10
  338. package/dist/evals/recorded-tools.d.ts +37 -1
  339. package/dist/evals/recorded-tools.js +120 -10
  340. package/dist/evals/run-replay.d.ts +75 -10
  341. package/dist/evals/run-replay.js +218 -94
  342. package/dist/evals/runs.controller.d.ts +3 -58
  343. package/dist/evals/runs.controller.js +18 -50
  344. package/dist/evals/runs.service.d.ts +31 -52
  345. package/dist/evals/runs.service.js +281 -255
  346. package/dist/evals/sets.controller.d.ts +3 -29
  347. package/dist/evals/sets.controller.js +18 -39
  348. package/dist/evals/sets.service.d.ts +29 -13
  349. package/dist/evals/sets.service.js +262 -202
  350. package/dist/evals/snapshot.d.ts +5 -4
  351. package/dist/evals/snapshot.js +17 -4
  352. package/dist/evals/step-replay.d.ts +6 -8
  353. package/dist/evals/step-replay.js +17 -10
  354. package/dist/evals/trajectory.controller.d.ts +1 -1
  355. package/dist/evals/trajectory.controller.js +11 -7
  356. package/dist/evals/trajectory.d.ts +2 -2
  357. package/dist/evals/trajectory.js +1 -1
  358. package/dist/evals/trajectory.service.d.ts +13 -7
  359. package/dist/evals/trajectory.service.js +56 -21
  360. package/dist/evals/worker.d.ts +48 -31
  361. package/dist/evals/worker.js +229 -123
  362. package/dist/extensions/admin-ops.d.ts +133 -41
  363. package/dist/extensions/admin-ops.js +378 -172
  364. package/dist/extensions/admin-view.d.ts +82 -32
  365. package/dist/extensions/admin-view.js +284 -71
  366. package/dist/extensions/approvals.d.ts +24 -10
  367. package/dist/extensions/approvals.js +73 -46
  368. package/dist/extensions/blobs.d.ts +27 -10
  369. package/dist/extensions/blobs.js +112 -45
  370. package/dist/extensions/bootstrap.d.ts +136 -46
  371. package/dist/extensions/bootstrap.js +417 -167
  372. package/dist/extensions/cli.d.ts +32 -10
  373. package/dist/extensions/cli.js +52 -98
  374. package/dist/extensions/config-hash.d.ts +10 -0
  375. package/dist/extensions/config-hash.js +38 -0
  376. package/dist/extensions/config-issues.d.ts +19 -0
  377. package/dist/extensions/config-issues.js +48 -0
  378. package/dist/extensions/config-json-schema.d.ts +43 -7
  379. package/dist/extensions/config-json-schema.js +124 -58
  380. package/dist/extensions/deployment-config-store.d.ts +55 -0
  381. package/dist/extensions/deployment-config-store.js +133 -0
  382. package/dist/extensions/deployment-config.d.ts +146 -70
  383. package/dist/extensions/deployment-config.js +439 -246
  384. package/dist/extensions/display-name.d.ts +22 -0
  385. package/dist/extensions/display-name.js +77 -0
  386. package/dist/extensions/effective-config.d.ts +127 -0
  387. package/dist/extensions/effective-config.js +368 -0
  388. package/dist/extensions/enabled.d.ts +5 -5
  389. package/dist/extensions/extensions.module.d.ts +8 -0
  390. package/dist/extensions/extensions.module.js +96 -0
  391. package/dist/extensions/hooks.d.ts +40 -6
  392. package/dist/extensions/hooks.js +83 -17
  393. package/dist/extensions/host.d.ts +161 -80
  394. package/dist/extensions/host.js +505 -213
  395. package/dist/extensions/installs.d.ts +73 -19
  396. package/dist/extensions/installs.js +174 -37
  397. package/dist/extensions/job-ids.d.ts +6 -0
  398. package/dist/extensions/job-ids.js +6 -0
  399. package/dist/extensions/lifecycle-topics.d.ts +18 -0
  400. package/dist/extensions/lifecycle-topics.js +18 -0
  401. package/dist/extensions/lifecycle.d.ts +35 -47
  402. package/dist/extensions/lifecycle.js +103 -39
  403. package/dist/extensions/locks.d.ts +45 -0
  404. package/dist/extensions/locks.js +112 -0
  405. package/dist/extensions/migrate-lock.d.ts +3 -4
  406. package/dist/extensions/org-config.d.ts +141 -49
  407. package/dist/extensions/org-config.js +471 -243
  408. package/dist/extensions/org-levels.d.ts +37 -0
  409. package/dist/extensions/org-levels.js +71 -0
  410. package/dist/extensions/org-overrides.d.ts +151 -0
  411. package/dist/extensions/org-overrides.js +524 -0
  412. package/dist/extensions/package.d.ts +14 -1
  413. package/dist/extensions/package.js +51 -2
  414. package/dist/extensions/permission-view.d.ts +59 -6
  415. package/dist/extensions/permission-view.js +7 -5
  416. package/dist/extensions/plugin-guides.d.ts +129 -0
  417. package/dist/extensions/plugin-guides.js +283 -0
  418. package/dist/extensions/plugin-icons.d.ts +54 -0
  419. package/dist/extensions/plugin-icons.js +125 -0
  420. package/dist/extensions/plugin-items.d.ts +21 -0
  421. package/dist/extensions/plugin-items.js +42 -0
  422. package/dist/extensions/point-defaults.controller.d.ts +28 -0
  423. package/dist/extensions/point-defaults.controller.js +69 -0
  424. package/dist/extensions/point-defaults.d.ts +73 -0
  425. package/dist/extensions/point-defaults.js +236 -0
  426. package/dist/extensions/point-defaults.schemas.d.ts +9 -0
  427. package/dist/extensions/point-defaults.schemas.js +14 -0
  428. package/dist/extensions/registry.d.ts +50 -2
  429. package/dist/extensions/registry.js +91 -4
  430. package/dist/extensions/resolve.d.ts +51 -1
  431. package/dist/extensions/resolve.js +85 -3
  432. package/dist/extensions/single-provider.d.ts +92 -0
  433. package/dist/extensions/single-provider.js +180 -0
  434. package/dist/extensions/sources.d.ts +19 -10
  435. package/dist/extensions/sources.js +34 -13
  436. package/dist/extensions/state.module.d.ts +9 -0
  437. package/dist/extensions/state.module.js +38 -0
  438. package/dist/extensions/unavailable.d.ts +50 -0
  439. package/dist/extensions/unavailable.js +115 -0
  440. package/dist/files/files.module.d.ts +3 -0
  441. package/dist/files/files.module.js +22 -0
  442. package/dist/files/previewers.controller.d.ts +7 -2
  443. package/dist/files/previewers.controller.js +19 -12
  444. package/dist/files/previewers.d.ts +21 -19
  445. package/dist/files/previewers.js +114 -38
  446. package/dist/files/previewers.schemas.d.ts +10 -0
  447. package/dist/files/previewers.schemas.js +9 -0
  448. package/dist/http/adapter.d.ts +3 -0
  449. package/dist/http/adapter.js +25 -0
  450. package/dist/http/api.module.d.ts +3 -110
  451. package/dist/http/api.module.js +86 -358
  452. package/dist/http/app.d.ts +22 -17
  453. package/dist/http/app.js +83 -52
  454. package/dist/http/error-filter.module.d.ts +5 -0
  455. package/dist/http/error-filter.module.js +18 -0
  456. package/dist/http/error.filter.js +2 -2
  457. package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +7 -3
  458. package/dist/http/gateway-routes.js +16 -0
  459. package/dist/http/nest-logger.d.ts +6 -5
  460. package/dist/http/nest-logger.js +24 -10
  461. package/dist/http/plugin-dispatch.d.ts +4 -1
  462. package/dist/http/plugin-dispatch.js +14 -2
  463. package/dist/identity/accounts.d.ts +130 -38
  464. package/dist/identity/accounts.js +373 -186
  465. package/dist/identity/api-tokens.d.ts +11 -7
  466. package/dist/identity/api-tokens.js +71 -44
  467. package/dist/identity/audit.d.ts +9 -5
  468. package/dist/identity/audit.js +5 -1
  469. package/dist/identity/auth.controller.d.ts +11 -10
  470. package/dist/identity/auth.controller.js +40 -30
  471. package/dist/identity/auth.guard.d.ts +16 -8
  472. package/dist/identity/auth.guard.js +41 -13
  473. package/dist/identity/binding.d.ts +9 -11
  474. package/dist/identity/binding.js +41 -13
  475. package/dist/identity/cookies.d.ts +26 -5
  476. package/dist/identity/cookies.js +58 -6
  477. package/dist/identity/external-identity-lock.d.ts +17 -0
  478. package/dist/identity/external-identity-lock.js +39 -0
  479. package/dist/identity/external.d.ts +19 -15
  480. package/dist/identity/external.js +163 -125
  481. package/dist/identity/identity.module.d.ts +6 -0
  482. package/dist/identity/identity.module.js +59 -0
  483. package/dist/identity/initial-passwords.controller.d.ts +22 -0
  484. package/dist/identity/initial-passwords.controller.js +49 -0
  485. package/dist/identity/initial-passwords.d.ts +61 -0
  486. package/dist/identity/initial-passwords.job.d.ts +16 -0
  487. package/dist/identity/initial-passwords.job.js +46 -0
  488. package/dist/identity/initial-passwords.js +159 -0
  489. package/dist/identity/me.controller.d.ts +32 -15
  490. package/dist/identity/me.controller.js +78 -33
  491. package/dist/identity/me.schemas.d.ts +14 -0
  492. package/dist/identity/me.schemas.js +17 -0
  493. package/dist/identity/principal.d.ts +11 -3
  494. package/dist/identity/principal.js +11 -3
  495. package/dist/identity/sessions.d.ts +24 -10
  496. package/dist/identity/sessions.js +119 -42
  497. package/dist/identity/settings.d.ts +42 -23
  498. package/dist/identity/settings.js +137 -72
  499. package/dist/identity/sso.controller.d.ts +7 -7
  500. package/dist/identity/sso.controller.js +13 -9
  501. package/dist/identity/sso.d.ts +9 -12
  502. package/dist/identity/sso.js +54 -24
  503. package/dist/identity/super-admin.d.ts +20 -0
  504. package/dist/identity/super-admin.js +81 -0
  505. package/dist/inbox/inbox.module.d.ts +6 -0
  506. package/dist/inbox/inbox.module.js +26 -0
  507. package/dist/inbox/inbox.schemas.d.ts +8 -0
  508. package/dist/inbox/inbox.schemas.js +11 -0
  509. package/dist/inbox/inbox.service.d.ts +68 -11
  510. package/dist/inbox/inbox.service.js +104 -13
  511. package/dist/inbox/org-notices.d.ts +63 -0
  512. package/dist/inbox/org-notices.js +91 -0
  513. package/dist/inbox/platform-inbox.controller.d.ts +23 -0
  514. package/dist/inbox/platform-inbox.controller.js +58 -0
  515. package/dist/inbox/platform-inbox.service.d.ts +151 -0
  516. package/dist/inbox/platform-inbox.service.js +263 -0
  517. package/dist/inbox/platform-notices.d.ts +19 -0
  518. package/dist/inbox/platform-notices.js +9 -0
  519. package/dist/index.d.ts +25 -14
  520. package/dist/index.js +20 -9
  521. package/dist/infra/cache/cache.module.d.ts +3 -0
  522. package/dist/infra/cache/cache.module.js +16 -0
  523. package/dist/infra/cache/cache.service.d.ts +21 -0
  524. package/dist/infra/cache/cache.service.js +80 -0
  525. package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
  526. package/dist/infra/cache/cacheable.decorator.js +83 -0
  527. package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
  528. package/dist/infra/cli/kernel-cli.module.js +173 -0
  529. package/dist/infra/close-within.d.ts +15 -0
  530. package/dist/infra/close-within.js +36 -0
  531. package/dist/infra/config/config.module.d.ts +13 -0
  532. package/dist/infra/config/config.module.js +39 -0
  533. package/dist/infra/config/kernel-config.service.d.ts +25 -0
  534. package/dist/infra/config/kernel-config.service.js +157 -0
  535. package/dist/infra/database/after-commit.d.ts +6 -0
  536. package/dist/infra/database/after-commit.js +9 -0
  537. package/dist/infra/database/database.module.d.ts +25 -0
  538. package/dist/infra/database/database.module.js +91 -0
  539. package/dist/infra/database/kernel-db.d.ts +22 -0
  540. package/dist/infra/database/kernel-db.js +65 -0
  541. package/dist/infra/database/transaction-host.d.ts +50 -0
  542. package/dist/infra/database/transaction-host.js +125 -0
  543. package/dist/infra/database/transactional.decorator.d.ts +15 -0
  544. package/dist/infra/database/transactional.decorator.js +27 -0
  545. package/dist/infra/database/xact-lock.d.ts +17 -0
  546. package/dist/infra/database/xact-lock.js +43 -0
  547. package/dist/infra/events/kernel-events.d.ts +121 -0
  548. package/dist/infra/events/kernel-events.js +65 -0
  549. package/dist/infra/health/health.controller.d.ts +26 -0
  550. package/dist/infra/health/health.controller.js +104 -0
  551. package/dist/infra/health/health.module.d.ts +9 -0
  552. package/dist/infra/health/health.module.js +24 -0
  553. package/dist/infra/health/health.options.d.ts +10 -0
  554. package/dist/infra/health/health.options.js +15 -0
  555. package/dist/infra/health/shutdown-state.d.ts +6 -0
  556. package/dist/infra/health/shutdown-state.js +2 -0
  557. package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
  558. package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
  559. package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
  560. package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
  561. package/dist/infra/lifecycle/process-guards.d.ts +52 -0
  562. package/dist/infra/lifecycle/process-guards.js +90 -0
  563. package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
  564. package/dist/infra/lifecycle/shutdown-signals.js +48 -0
  565. package/dist/infra/lock/key-template.d.ts +13 -0
  566. package/dist/infra/lock/key-template.js +46 -0
  567. package/dist/infra/lock/lock.module.d.ts +3 -0
  568. package/dist/infra/lock/lock.module.js +16 -0
  569. package/dist/infra/lock/lock.service.d.ts +120 -0
  570. package/dist/infra/lock/lock.service.js +343 -0
  571. package/dist/infra/lock/shared-lease.d.ts +44 -0
  572. package/dist/infra/lock/shared-lease.js +121 -0
  573. package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
  574. package/dist/infra/lock/with-lock.decorator.js +49 -0
  575. package/dist/infra/logging/logging.module.d.ts +18 -0
  576. package/dist/infra/logging/logging.module.js +52 -0
  577. package/dist/infra/queue/add-job-once.d.ts +14 -0
  578. package/dist/infra/queue/add-job-once.js +16 -0
  579. package/dist/infra/queue/configured-processor.d.ts +18 -0
  580. package/dist/infra/queue/configured-processor.js +23 -0
  581. package/dist/infra/queue/job-failure.d.ts +18 -0
  582. package/dist/infra/queue/job-failure.js +26 -0
  583. package/dist/infra/queue/queue-shutdown.d.ts +27 -0
  584. package/dist/infra/queue/queue-shutdown.js +81 -0
  585. package/dist/infra/queue/queue.module.d.ts +16 -0
  586. package/dist/infra/queue/queue.module.js +61 -0
  587. package/dist/infra/queue/redis-connection.d.ts +13 -0
  588. package/dist/infra/queue/redis-connection.js +25 -0
  589. package/dist/infra/queue/retired-schedulers.d.ts +7 -0
  590. package/dist/infra/queue/retired-schedulers.js +9 -0
  591. package/dist/infra/queue/run-job.d.ts +16 -0
  592. package/dist/infra/queue/run-job.js +19 -0
  593. package/dist/infra/redis/redis.module.d.ts +24 -0
  594. package/dist/infra/redis/redis.module.js +91 -0
  595. package/dist/infra/schedule/cron-tick.d.ts +12 -0
  596. package/dist/infra/schedule/cron-tick.js +25 -0
  597. package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
  598. package/dist/infra/schedule/locked-cron.decorator.js +53 -0
  599. package/dist/infra/schedule/locked-interval.d.ts +69 -0
  600. package/dist/infra/schedule/locked-interval.js +190 -0
  601. package/dist/infra/schedule/locked-tick.d.ts +90 -0
  602. package/dist/infra/schedule/locked-tick.js +137 -0
  603. package/dist/infra/schedule/schedule.module.d.ts +8 -0
  604. package/dist/infra/schedule/schedule.module.js +27 -0
  605. package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
  606. package/dist/infra/schedule/scheduled-runs.js +163 -0
  607. package/dist/infra/swagger/swagger.d.ts +16 -0
  608. package/dist/infra/swagger/swagger.js +31 -0
  609. package/dist/infra/throttler/credential-throttler.d.ts +35 -0
  610. package/dist/infra/throttler/credential-throttler.js +77 -0
  611. package/dist/infra/throttler/named-throttlers.d.ts +36 -0
  612. package/dist/infra/throttler/named-throttlers.js +157 -0
  613. package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
  614. package/dist/infra/throttler/redis-throttler-storage.js +130 -0
  615. package/dist/infra/throttler/throttler.guard.d.ts +23 -0
  616. package/dist/infra/throttler/throttler.guard.js +68 -0
  617. package/dist/infra/throttler/throttler.module.d.ts +15 -0
  618. package/dist/infra/throttler/throttler.module.js +53 -0
  619. package/dist/infra/tokens.d.ts +20 -0
  620. package/dist/infra/tokens.js +20 -0
  621. package/dist/infra/validation/create-zod-dto.d.ts +23 -0
  622. package/dist/infra/validation/create-zod-dto.js +35 -0
  623. package/dist/infra/validation/parse-with-zod.d.ts +7 -0
  624. package/dist/infra/validation/parse-with-zod.js +12 -0
  625. package/dist/infra/validation/validation.module.d.ts +3 -0
  626. package/dist/infra/validation/validation.module.js +16 -0
  627. package/dist/infra/validation/zod-params.d.ts +7 -0
  628. package/dist/infra/validation/zod-params.js +42 -0
  629. package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
  630. package/dist/infra/validation/zod-validation.pipe.js +31 -0
  631. package/dist/kernel.d.ts +9 -241
  632. package/dist/kernel.js +8 -1305
  633. package/dist/kernel.module.d.ts +17 -0
  634. package/dist/kernel.module.js +145 -0
  635. package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
  636. package/dist/lifecycle/kernel-lifecycle.js +465 -0
  637. package/dist/lifecycle/tokens.d.ts +3 -0
  638. package/dist/lifecycle/tokens.js +3 -0
  639. package/dist/log-config.d.ts +9 -0
  640. package/dist/log-config.js +27 -0
  641. package/dist/log-context.d.ts +34 -0
  642. package/dist/log-context.js +44 -0
  643. package/dist/log-loki.d.ts +34 -0
  644. package/dist/log-loki.js +145 -0
  645. package/dist/log.d.ts +53 -10
  646. package/dist/log.js +168 -18
  647. package/dist/models/embeddings.d.ts +82 -0
  648. package/dist/models/embeddings.js +326 -0
  649. package/dist/models/enablement.controller.d.ts +40 -0
  650. package/dist/models/enablement.controller.js +74 -0
  651. package/dist/models/enablement.d.ts +101 -0
  652. package/dist/models/enablement.js +264 -0
  653. package/dist/models/models.module.d.ts +7 -0
  654. package/dist/models/models.module.js +36 -0
  655. package/dist/models/org-models.schemas.d.ts +8 -0
  656. package/dist/models/org-models.schemas.js +22 -0
  657. package/dist/models/prices.d.ts +13 -5
  658. package/dist/models/prices.js +69 -39
  659. package/dist/models/purposes.controller.d.ts +6 -4
  660. package/dist/models/purposes.controller.js +16 -11
  661. package/dist/models/purposes.d.ts +103 -23
  662. package/dist/models/purposes.js +208 -77
  663. package/dist/net/public-address.js +3 -2
  664. package/dist/orgs/directory-sync.controller.d.ts +1 -1
  665. package/dist/orgs/directory-sync.controller.js +2 -2
  666. package/dist/orgs/directory-sync.d.ts +74 -35
  667. package/dist/orgs/directory-sync.js +243 -132
  668. package/dist/orgs/invitations.controller.d.ts +8 -8
  669. package/dist/orgs/invitations.controller.js +27 -26
  670. package/dist/orgs/invitations.service.d.ts +12 -9
  671. package/dist/orgs/invitations.service.js +130 -92
  672. package/dist/orgs/job-ids.d.ts +8 -0
  673. package/dist/orgs/job-ids.js +8 -0
  674. package/dist/orgs/members.service.d.ts +19 -12
  675. package/dist/orgs/members.service.js +161 -117
  676. package/dist/orgs/offboarding.d.ts +61 -60
  677. package/dist/orgs/offboarding.js +206 -95
  678. package/dist/orgs/org-lock.d.ts +33 -19
  679. package/dist/orgs/org-lock.js +94 -35
  680. package/dist/orgs/org.guard.d.ts +11 -1
  681. package/dist/orgs/org.guard.js +45 -34
  682. package/dist/orgs/orgs.controller.d.ts +13 -16
  683. package/dist/orgs/orgs.controller.js +29 -20
  684. package/dist/orgs/orgs.module.d.ts +6 -0
  685. package/dist/orgs/orgs.module.js +71 -0
  686. package/dist/orgs/orgs.schemas.d.ts +8 -0
  687. package/dist/orgs/orgs.schemas.js +16 -0
  688. package/dist/orgs/orgs.service.d.ts +47 -21
  689. package/dist/orgs/orgs.service.js +166 -91
  690. package/dist/orgs/roles.d.ts +1 -1
  691. package/dist/orgs/roles.js +5 -1
  692. package/dist/orgs/settings.controller.d.ts +2 -2
  693. package/dist/orgs/settings.controller.js +8 -6
  694. package/dist/orgs/settings.service.d.ts +45 -14
  695. package/dist/orgs/settings.service.js +110 -51
  696. package/dist/overrides.d.ts +63 -0
  697. package/dist/overrides.js +34 -0
  698. package/dist/platform/actor.d.ts +48 -0
  699. package/dist/platform/actor.js +100 -0
  700. package/dist/platform/agent-docs.d.ts +18 -0
  701. package/dist/platform/agent-docs.js +59 -0
  702. package/dist/platform/availability.d.ts +14 -0
  703. package/dist/platform/availability.js +43 -0
  704. package/dist/platform/errors.d.ts +28 -0
  705. package/dist/platform/errors.js +65 -0
  706. package/dist/platform/exclusions.d.ts +11 -0
  707. package/dist/platform/exclusions.js +667 -0
  708. package/dist/platform/method.d.ts +6 -0
  709. package/dist/platform/method.js +15 -0
  710. package/dist/platform/operation.d.ts +169 -0
  711. package/dist/platform/operation.js +90 -0
  712. package/dist/platform/ops/accounts.ops.d.ts +32 -0
  713. package/dist/platform/ops/accounts.ops.js +291 -0
  714. package/dist/platform/ops/admin.ops.d.ts +36 -0
  715. package/dist/platform/ops/admin.ops.js +389 -0
  716. package/dist/platform/ops/agent-skills.ops.d.ts +24 -0
  717. package/dist/platform/ops/agent-skills.ops.js +226 -0
  718. package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
  719. package/dist/platform/ops/agent-templates.ops.js +272 -0
  720. package/dist/platform/ops/agents.ops.d.ts +37 -0
  721. package/dist/platform/ops/agents.ops.js +717 -0
  722. package/dist/platform/ops/approvals.ops.d.ts +30 -0
  723. package/dist/platform/ops/approvals.ops.js +116 -0
  724. package/dist/platform/ops/background.ops.d.ts +14 -0
  725. package/dist/platform/ops/background.ops.js +134 -0
  726. package/dist/platform/ops/catalog-admin.ops.d.ts +74 -0
  727. package/dist/platform/ops/catalog-admin.ops.js +599 -0
  728. package/dist/platform/ops/channels.ops.d.ts +16 -0
  729. package/dist/platform/ops/channels.ops.js +195 -0
  730. package/dist/platform/ops/components.ops.d.ts +46 -0
  731. package/dist/platform/ops/components.ops.js +853 -0
  732. package/dist/platform/ops/connectors.ops.d.ts +17 -0
  733. package/dist/platform/ops/connectors.ops.js +188 -0
  734. package/dist/platform/ops/conversations.ops.d.ts +30 -0
  735. package/dist/platform/ops/conversations.ops.js +470 -0
  736. package/dist/platform/ops/environments.ops.d.ts +26 -0
  737. package/dist/platform/ops/environments.ops.js +311 -0
  738. package/dist/platform/ops/errors.d.ts +16 -0
  739. package/dist/platform/ops/errors.js +30 -0
  740. package/dist/platform/ops/evals.ops.d.ts +28 -0
  741. package/dist/platform/ops/evals.ops.js +783 -0
  742. package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
  743. package/dist/platform/ops/extensions-admin.ops.js +372 -0
  744. package/dist/platform/ops/extensions.ops.d.ts +25 -0
  745. package/dist/platform/ops/extensions.ops.js +347 -0
  746. package/dist/platform/ops/inbox.ops.d.ts +25 -0
  747. package/dist/platform/ops/inbox.ops.js +378 -0
  748. package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
  749. package/dist/platform/ops/marketplaces.ops.js +466 -0
  750. package/dist/platform/ops/models.ops.d.ts +25 -0
  751. package/dist/platform/ops/models.ops.js +232 -0
  752. package/dist/platform/ops/org-plugins.ops.d.ts +29 -0
  753. package/dist/platform/ops/org-plugins.ops.js +329 -0
  754. package/dist/platform/ops/org-settings.ops.d.ts +16 -0
  755. package/dist/platform/ops/org-settings.ops.js +102 -0
  756. package/dist/platform/ops/orgs.ops.d.ts +28 -0
  757. package/dist/platform/ops/orgs.ops.js +295 -0
  758. package/dist/platform/ops/other-orgs.d.ts +20 -0
  759. package/dist/platform/ops/other-orgs.js +72 -0
  760. package/dist/platform/ops/paging.d.ts +14 -0
  761. package/dist/platform/ops/paging.js +20 -0
  762. package/dist/platform/ops/platform.ops.d.ts +28 -0
  763. package/dist/platform/ops/platform.ops.js +204 -0
  764. package/dist/platform/ops/plugins.ops.d.ts +35 -0
  765. package/dist/platform/ops/plugins.ops.js +476 -0
  766. package/dist/platform/ops/previewers.ops.d.ts +14 -0
  767. package/dist/platform/ops/previewers.ops.js +109 -0
  768. package/dist/platform/ops/requests.ops.d.ts +14 -0
  769. package/dist/platform/ops/requests.ops.js +191 -0
  770. package/dist/platform/ops/role.d.ts +4 -0
  771. package/dist/platform/ops/role.js +10 -0
  772. package/dist/platform/ops/skills.ops.d.ts +17 -0
  773. package/dist/platform/ops/skills.ops.js +216 -0
  774. package/dist/platform/ops/summary.d.ts +10 -0
  775. package/dist/platform/ops/summary.js +18 -0
  776. package/dist/platform/ops/unavailable.d.ts +23 -0
  777. package/dist/platform/ops/unavailable.js +118 -0
  778. package/dist/platform/parity.d.ts +33 -0
  779. package/dist/platform/parity.js +272 -0
  780. package/dist/platform/platform-ops.module.d.ts +39 -0
  781. package/dist/platform/platform-ops.module.js +122 -0
  782. package/dist/platform/platform.module.d.ts +8 -0
  783. package/dist/platform/platform.module.js +25 -0
  784. package/dist/platform/registry.d.ts +30 -0
  785. package/dist/platform/registry.js +111 -0
  786. package/dist/platform/route-schemas.d.ts +18 -0
  787. package/dist/platform/route-schemas.js +63 -0
  788. package/dist/roles/gateway-role.d.ts +54 -0
  789. package/dist/roles/gateway-role.js +118 -0
  790. package/dist/roles/gateway.module.d.ts +9 -0
  791. package/dist/roles/gateway.module.js +31 -0
  792. package/dist/roles/worker-role.d.ts +65 -0
  793. package/dist/roles/worker-role.js +151 -0
  794. package/dist/roles/worker.module.d.ts +14 -0
  795. package/dist/roles/worker.module.js +106 -0
  796. package/dist/runtime/abort.js +19 -2
  797. package/dist/runtime/checkpointer.d.ts +8 -3
  798. package/dist/runtime/checkpointer.js +87 -55
  799. package/dist/runtime/context/build.d.ts +21 -13
  800. package/dist/runtime/context/build.js +106 -29
  801. package/dist/runtime/context/claude-tools.d.ts +4 -1
  802. package/dist/runtime/context/claude-tools.js +13 -12
  803. package/dist/runtime/context/compaction.js +24 -1
  804. package/dist/runtime/context/environment-paths.d.ts +40 -0
  805. package/dist/runtime/context/environment-paths.js +48 -0
  806. package/dist/runtime/context/legacy-text.d.ts +22 -0
  807. package/dist/runtime/context/legacy-text.js +37 -0
  808. package/dist/runtime/context/reminders.d.ts +2 -0
  809. package/dist/runtime/context/reminders.js +2 -0
  810. package/dist/runtime/context/run-context.d.ts +65 -0
  811. package/dist/runtime/context/run-context.js +215 -0
  812. package/dist/runtime/context/skills.d.ts +29 -11
  813. package/dist/runtime/context/skills.js +46 -32
  814. package/dist/runtime/context/tool-changes.d.ts +27 -0
  815. package/dist/runtime/context/tool-changes.js +60 -0
  816. package/dist/runtime/conversation-lock.d.ts +20 -11
  817. package/dist/runtime/conversation-lock.js +62 -72
  818. package/dist/runtime/hook-calls.d.ts +11 -4
  819. package/dist/runtime/hook-calls.js +41 -13
  820. package/dist/runtime/job-ids.d.ts +10 -0
  821. package/dist/runtime/job-ids.js +10 -0
  822. package/dist/runtime/langgraph-loop.d.ts +3 -1
  823. package/dist/runtime/langgraph-loop.js +37 -18
  824. package/dist/runtime/loop.d.ts +42 -6
  825. package/dist/runtime/loop.js +14 -0
  826. package/dist/runtime/maintenance-queue.d.ts +10 -0
  827. package/dist/runtime/maintenance-queue.js +10 -0
  828. package/dist/runtime/maintenance.d.ts +50 -74
  829. package/dist/runtime/maintenance.js +166 -136
  830. package/dist/runtime/model-call.d.ts +61 -15
  831. package/dist/runtime/model-call.js +128 -84
  832. package/dist/runtime/providers.d.ts +158 -27
  833. package/dist/runtime/providers.js +373 -63
  834. package/dist/runtime/quota.d.ts +17 -3
  835. package/dist/runtime/quota.js +27 -2
  836. package/dist/runtime/retired-schedulers.d.ts +7 -0
  837. package/dist/runtime/retired-schedulers.js +31 -0
  838. package/dist/runtime/run-context.service.d.ts +65 -0
  839. package/dist/runtime/run-context.service.js +236 -0
  840. package/dist/runtime/run-control.d.ts +43 -0
  841. package/dist/runtime/run-control.js +89 -0
  842. package/dist/runtime/run-drafts.d.ts +85 -0
  843. package/dist/runtime/run-drafts.js +230 -0
  844. package/dist/runtime/run-finish.d.ts +27 -18
  845. package/dist/runtime/run-finish.js +98 -51
  846. package/dist/runtime/run-jobs.d.ts +46 -0
  847. package/dist/runtime/run-jobs.js +91 -0
  848. package/dist/runtime/run-processors.d.ts +60 -0
  849. package/dist/runtime/run-processors.js +185 -0
  850. package/dist/runtime/run-queue.d.ts +90 -58
  851. package/dist/runtime/run-queue.js +566 -297
  852. package/dist/runtime/run-steps.d.ts +39 -0
  853. package/dist/runtime/run-steps.js +96 -0
  854. package/dist/runtime/run-worker.d.ts +134 -77
  855. package/dist/runtime/run-worker.js +412 -236
  856. package/dist/runtime/runtime.module.d.ts +10 -0
  857. package/dist/runtime/runtime.module.js +122 -0
  858. package/dist/runtime/step-log.d.ts +51 -0
  859. package/dist/runtime/step-log.js +111 -0
  860. package/dist/runtime/stream.controller.d.ts +28 -9
  861. package/dist/runtime/stream.controller.js +72 -13
  862. package/dist/runtime/stream.d.ts +27 -6
  863. package/dist/runtime/stream.js +102 -7
  864. package/dist/runtime/subagents/child.d.ts +58 -51
  865. package/dist/runtime/subagents/child.js +105 -86
  866. package/dist/runtime/subagents/definition.d.ts +32 -28
  867. package/dist/runtime/subagents/definition.js +89 -143
  868. package/dist/runtime/subagents/deliveries.d.ts +71 -0
  869. package/dist/runtime/subagents/deliveries.js +228 -0
  870. package/dist/runtime/subagents/dispatch.d.ts +197 -27
  871. package/dist/runtime/subagents/dispatch.js +336 -270
  872. package/dist/runtime/subagents/limits.d.ts +32 -8
  873. package/dist/runtime/subagents/limits.js +44 -8
  874. package/dist/runtime/subagents/messages.d.ts +95 -0
  875. package/dist/runtime/subagents/messages.js +328 -0
  876. package/dist/runtime/subagents/org-agents.d.ts +4 -4
  877. package/dist/runtime/subagents/org-agents.js +3 -2
  878. package/dist/runtime/subagents/preamble.d.ts +4 -4
  879. package/dist/runtime/subagents/preamble.js +9 -7
  880. package/dist/runtime/subagents/progress.d.ts +10 -8
  881. package/dist/runtime/subagents/progress.js +11 -6
  882. package/dist/runtime/subagents/render.d.ts +30 -0
  883. package/dist/runtime/subagents/render.js +53 -0
  884. package/dist/runtime/subagents/roster.d.ts +27 -10
  885. package/dist/runtime/subagents/roster.js +49 -13
  886. package/dist/runtime/subagents/skill-fork.d.ts +10 -10
  887. package/dist/runtime/subagents/skill-fork.js +23 -8
  888. package/dist/runtime/subagents/status.d.ts +14 -0
  889. package/dist/runtime/subagents/status.js +23 -0
  890. package/dist/runtime/subagents/subagents.service.d.ts +43 -0
  891. package/dist/runtime/subagents/subagents.service.js +106 -0
  892. package/dist/runtime/usage-report-jobs.d.ts +88 -0
  893. package/dist/runtime/usage-report-jobs.js +158 -0
  894. package/dist/runtime/usage-report.d.ts +121 -83
  895. package/dist/runtime/usage-report.js +355 -180
  896. package/dist/runtime/waits.d.ts +258 -81
  897. package/dist/runtime/waits.js +800 -263
  898. package/dist/sandbox/job-ids.d.ts +10 -0
  899. package/dist/sandbox/job-ids.js +10 -0
  900. package/dist/sandbox/jobs.d.ts +68 -0
  901. package/dist/sandbox/jobs.js +150 -0
  902. package/dist/sandbox/leases.d.ts +73 -82
  903. package/dist/sandbox/leases.js +162 -346
  904. package/dist/sandbox/providers.d.ts +46 -0
  905. package/dist/sandbox/providers.js +83 -0
  906. package/dist/sandbox/sandbox.module.d.ts +9 -0
  907. package/dist/sandbox/sandbox.module.js +36 -0
  908. package/dist/sandbox/sandbox.service.d.ts +359 -151
  909. package/dist/sandbox/sandbox.service.js +950 -435
  910. package/dist/sandbox/unreachable.d.ts +30 -0
  911. package/dist/sandbox/unreachable.js +108 -0
  912. package/dist/skills/catalog.d.ts +40 -26
  913. package/dist/skills/catalog.js +120 -99
  914. package/dist/skills/changes.controller.d.ts +11 -4
  915. package/dist/skills/changes.controller.js +34 -9
  916. package/dist/skills/changes.service.d.ts +31 -21
  917. package/dist/skills/changes.service.js +426 -368
  918. package/dist/skills/invocable.controller.d.ts +2 -2
  919. package/dist/skills/invocable.controller.js +10 -7
  920. package/dist/skills/invocation-keys.d.ts +1 -1
  921. package/dist/skills/invocation-keys.js +1 -1
  922. package/dist/skills/invoke.d.ts +19 -18
  923. package/dist/skills/invoke.js +68 -24
  924. package/dist/skills/package.d.ts +20 -1
  925. package/dist/skills/package.js +28 -1
  926. package/dist/skills/skills.controller.d.ts +33 -7
  927. package/dist/skills/skills.controller.js +79 -12
  928. package/dist/skills/skills.module.d.ts +6 -0
  929. package/dist/skills/skills.module.js +39 -0
  930. package/dist/skills/skills.schemas.d.ts +48 -0
  931. package/dist/skills/skills.schemas.js +61 -0
  932. package/dist/skills/skills.service.d.ts +151 -44
  933. package/dist/skills/skills.service.js +636 -204
  934. package/dist/skills/usable.d.ts +81 -0
  935. package/dist/skills/usable.js +379 -0
  936. package/dist/storage/job-ids.d.ts +6 -0
  937. package/dist/storage/job-ids.js +6 -0
  938. package/dist/storage/purge.d.ts +22 -7
  939. package/dist/storage/purge.js +55 -3
  940. package/dist/storage/storage.module.d.ts +6 -0
  941. package/dist/storage/storage.module.js +23 -0
  942. package/dist/storage/storage.service.d.ts +18 -4
  943. package/dist/storage/storage.service.js +44 -3
  944. package/dist/time-zone.d.ts +5 -0
  945. package/dist/time-zone.js +19 -0
  946. package/dist/tools/approvals.controller.d.ts +1 -1
  947. package/dist/tools/approvals.controller.js +14 -11
  948. package/dist/tools/approvals.schemas.d.ts +21 -0
  949. package/dist/tools/approvals.schemas.js +15 -0
  950. package/dist/tools/approvals.service.d.ts +53 -27
  951. package/dist/tools/approvals.service.js +365 -260
  952. package/dist/tools/breaker.d.ts +2 -2
  953. package/dist/tools/breaker.js +21 -3
  954. package/dist/tools/builtin-names.d.ts +109 -0
  955. package/dist/tools/builtin-names.js +173 -0
  956. package/dist/tools/builtins/agent.d.ts +27 -25
  957. package/dist/tools/builtins/agent.js +66 -63
  958. package/dist/tools/builtins/ask-user.d.ts +3 -3
  959. package/dist/tools/builtins/ask-user.js +3 -3
  960. package/dist/tools/builtins/builtin-tools.d.ts +41 -0
  961. package/dist/tools/builtins/builtin-tools.js +151 -0
  962. package/dist/tools/builtins/current-time.d.ts +26 -0
  963. package/dist/tools/builtins/current-time.js +99 -0
  964. package/dist/tools/builtins/handback.d.ts +28 -0
  965. package/dist/tools/builtins/handback.js +53 -0
  966. package/dist/tools/builtins/platform.d.ts +51 -0
  967. package/dist/tools/builtins/platform.js +451 -0
  968. package/dist/tools/builtins/read-tool-output.d.ts +3 -3
  969. package/dist/tools/builtins/read-tool-output.js +3 -3
  970. package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
  971. package/dist/tools/builtins/sandbox/bash.js +293 -41
  972. package/dist/tools/builtins/sandbox/common.d.ts +142 -40
  973. package/dist/tools/builtins/sandbox/common.js +227 -65
  974. package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
  975. package/dist/tools/builtins/sandbox/deliver.js +21 -18
  976. package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
  977. package/dist/tools/builtins/sandbox/edit.js +65 -51
  978. package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
  979. package/dist/tools/builtins/sandbox/file-state.js +34 -0
  980. package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
  981. package/dist/tools/builtins/sandbox/glob-match.js +1 -1
  982. package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
  983. package/dist/tools/builtins/sandbox/glob.js +19 -14
  984. package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
  985. package/dist/tools/builtins/sandbox/grep.js +155 -36
  986. package/dist/tools/builtins/sandbox/index.d.ts +9 -5
  987. package/dist/tools/builtins/sandbox/index.js +13 -5
  988. package/dist/tools/builtins/sandbox/read.d.ts +2 -2
  989. package/dist/tools/builtins/sandbox/read.js +30 -20
  990. package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
  991. package/dist/tools/builtins/sandbox/task-output.js +334 -0
  992. package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
  993. package/dist/tools/builtins/sandbox/task-stop.js +113 -0
  994. package/dist/tools/builtins/sandbox/write.d.ts +1 -1
  995. package/dist/tools/builtins/sandbox/write.js +52 -45
  996. package/dist/tools/builtins/send-message.d.ts +56 -0
  997. package/dist/tools/builtins/send-message.js +100 -0
  998. package/dist/tools/builtins/skill-load.d.ts +32 -21
  999. package/dist/tools/builtins/skill-load.js +125 -74
  1000. package/dist/tools/builtins/skill-write.d.ts +4 -4
  1001. package/dist/tools/builtins/skill-write.js +12 -12
  1002. package/dist/tools/builtins/tool-search.d.ts +13 -9
  1003. package/dist/tools/builtins/tool-search.js +25 -14
  1004. package/dist/tools/builtins/web/errors.d.ts +8 -0
  1005. package/dist/tools/builtins/web/errors.js +53 -0
  1006. package/dist/tools/builtins/web/extract.d.ts +62 -0
  1007. package/dist/tools/builtins/web/extract.js +271 -0
  1008. package/dist/tools/builtins/web/fetch.d.ts +55 -0
  1009. package/dist/tools/builtins/web/fetch.js +175 -0
  1010. package/dist/tools/builtins/web/index.d.ts +13 -0
  1011. package/dist/tools/builtins/web/index.js +12 -0
  1012. package/dist/tools/builtins/web/page-cache.d.ts +25 -0
  1013. package/dist/tools/builtins/web/page-cache.js +77 -0
  1014. package/dist/tools/builtins/web/search.d.ts +25 -0
  1015. package/dist/tools/builtins/web/search.js +210 -0
  1016. package/dist/tools/builtins/web/url.d.ts +17 -0
  1017. package/dist/tools/builtins/web/url.js +43 -0
  1018. package/dist/tools/canonical-json.d.ts +6 -0
  1019. package/dist/tools/canonical-json.js +16 -0
  1020. package/dist/tools/connector-content.controller.d.ts +1 -1
  1021. package/dist/tools/connector-content.controller.js +11 -6
  1022. package/dist/tools/connector-content.d.ts +12 -15
  1023. package/dist/tools/connector-content.js +53 -18
  1024. package/dist/tools/connectors.controller.d.ts +16 -3
  1025. package/dist/tools/connectors.controller.js +34 -14
  1026. package/dist/tools/connectors.schemas.d.ts +12 -0
  1027. package/dist/tools/connectors.schemas.js +19 -0
  1028. package/dist/tools/connectors.service.d.ts +80 -18
  1029. package/dist/tools/connectors.service.js +529 -358
  1030. package/dist/tools/credentials.d.ts +20 -20
  1031. package/dist/tools/credentials.js +55 -34
  1032. package/dist/tools/display-names.d.ts +9 -0
  1033. package/dist/tools/display-names.js +24 -0
  1034. package/dist/tools/drift.d.ts +29 -41
  1035. package/dist/tools/drift.js +116 -84
  1036. package/dist/tools/elicitation.js +1 -1
  1037. package/dist/tools/extension-tools.controller.d.ts +14 -0
  1038. package/dist/tools/extension-tools.controller.js +37 -0
  1039. package/dist/tools/info.d.ts +73 -13
  1040. package/dist/tools/info.js +151 -39
  1041. package/dist/tools/job-ids.d.ts +13 -0
  1042. package/dist/tools/job-ids.js +15 -0
  1043. package/dist/tools/jobs.d.ts +24 -0
  1044. package/dist/tools/jobs.js +69 -0
  1045. package/dist/tools/legacy-data.d.ts +34 -0
  1046. package/dist/tools/legacy-data.js +76 -0
  1047. package/dist/tools/legacy-keys.d.ts +51 -0
  1048. package/dist/tools/legacy-keys.js +115 -0
  1049. package/dist/tools/naming.d.ts +1 -5
  1050. package/dist/tools/naming.js +1 -7
  1051. package/dist/tools/oauth/flow-paths.d.ts +16 -0
  1052. package/dist/tools/oauth/flow-paths.js +38 -0
  1053. package/dist/tools/oauth/flow.d.ts +30 -30
  1054. package/dist/tools/oauth/flow.js +109 -81
  1055. package/dist/tools/oauth/oauth.controller.d.ts +3 -3
  1056. package/dist/tools/oauth/oauth.controller.js +12 -9
  1057. package/dist/tools/oauth/tokens.d.ts +45 -10
  1058. package/dist/tools/oauth/tokens.js +70 -24
  1059. package/dist/tools/org-tool-switches.d.ts +88 -0
  1060. package/dist/tools/org-tool-switches.js +201 -0
  1061. package/dist/tools/outputs.d.ts +13 -4
  1062. package/dist/tools/outputs.js +48 -4
  1063. package/dist/tools/pipeline.d.ts +108 -80
  1064. package/dist/tools/pipeline.js +396 -409
  1065. package/dist/tools/policy.d.ts +4 -17
  1066. package/dist/tools/policy.js +49 -35
  1067. package/dist/tools/questions.controller.d.ts +2 -2
  1068. package/dist/tools/questions.controller.js +9 -6
  1069. package/dist/tools/questions.service.d.ts +26 -25
  1070. package/dist/tools/questions.service.js +201 -142
  1071. package/dist/tools/registry.d.ts +215 -84
  1072. package/dist/tools/registry.js +382 -264
  1073. package/dist/tools/resources.d.ts +1 -1
  1074. package/dist/tools/resources.js +1 -1
  1075. package/dist/tools/specs.d.ts +5 -4
  1076. package/dist/tools/specs.js +3 -1
  1077. package/dist/tools/tools.module.d.ts +10 -0
  1078. package/dist/tools/tools.module.js +113 -0
  1079. package/dist/tools/validate.js +1 -1
  1080. package/dist/ui/call-extension.d.ts +16 -0
  1081. package/dist/ui/call-extension.js +38 -0
  1082. package/dist/ui/embed-token.d.ts +9 -5
  1083. package/dist/ui/embed-token.js +34 -6
  1084. package/dist/ui/ui-stream.d.ts +22 -17
  1085. package/dist/ui/ui-stream.js +72 -12
  1086. package/dist/ui/ui.module.d.ts +7 -0
  1087. package/dist/ui/ui.module.js +28 -0
  1088. package/dist/ui/views.controller.d.ts +14 -12
  1089. package/dist/ui/views.controller.js +32 -25
  1090. package/dist/ui/views.d.ts +10 -57
  1091. package/dist/ui/views.js +58 -46
  1092. package/package.json +15 -3
  1093. package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
  1094. package/src/migrations/0064_account_last_org.sql +7 -0
  1095. package/src/migrations/0065_conversation_archive.sql +8 -0
  1096. package/src/migrations/0066_extension_display_name.sql +4 -0
  1097. package/src/migrations/0067_agent_profiles.sql +20 -0
  1098. package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
  1099. package/src/migrations/0069_attachments_agent_idx.sql +3 -0
  1100. package/src/migrations/0070_background_tasks.sql +37 -0
  1101. package/src/migrations/0071_background_tasks_reserve.sql +6 -0
  1102. package/src/migrations/0072_background_tasks_stopping.sql +5 -0
  1103. package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
  1104. package/src/migrations/0074_subagent_tree.sql +50 -0
  1105. package/src/migrations/0075_plugin_scope.sql +61 -0
  1106. package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
  1107. package/src/migrations/0077_scope_requests.sql +52 -0
  1108. package/src/migrations/0078_scope_grant_switches.sql +18 -0
  1109. package/src/migrations/0079_scope_live_install_switches.sql +19 -0
  1110. package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
  1111. package/src/migrations/0081_platform_components.sql +129 -0
  1112. package/src/migrations/0082_platform_migration.sql +33 -0
  1113. package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
  1114. package/src/migrations/0084_org_owned_items.sql +85 -0
  1115. package/src/migrations/0085_agent_templates_phase4.sql +45 -0
  1116. package/src/migrations/0086_org_layering.sql +30 -0
  1117. package/src/migrations/0087_approval_summary.sql +6 -0
  1118. package/src/migrations/0088_environments.sql +80 -0
  1119. package/src/migrations/0089_model_kinds_usage.sql +38 -0
  1120. package/src/migrations/0090_initial_passwords.sql +27 -0
  1121. package/src/migrations/0091_account_time_zone.sql +4 -0
  1122. package/src/migrations/0092_tools_default_on.sql +27 -0
  1123. package/src/migrations/0093_connected_environments.sql +37 -0
  1124. package/src/migrations/0094_environment_paths_idx.sql +7 -0
  1125. package/src/migrations/0095_environment_files_resets.sql +5 -0
  1126. package/src/migrations/0096_environment_demoted_default.sql +18 -0
  1127. package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
  1128. package/src/migrations/0098_single_provider_running_first.sql +41 -0
  1129. package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
  1130. package/src/migrations/0100_catalog_files.sql +13 -0
  1131. package/src/migrations/0101_marketplace_icons.sql +32 -0
  1132. package/dist/catalog/upgrade-targets.d.ts +0 -59
  1133. package/dist/catalog/upgrade-targets.js +0 -90
  1134. package/dist/conversations/sandbox-status.d.ts +0 -21
  1135. package/dist/conversations/sandbox-status.js +0 -24
  1136. package/dist/extensions/org-config.controller.d.ts +0 -24
  1137. package/dist/extensions/org-config.controller.js +0 -59
  1138. package/dist/http/gateway.module.js +0 -13
  1139. package/dist/http/health.controller.d.ts +0 -26
  1140. package/dist/http/health.controller.js +0 -79
  1141. package/dist/http/tokens.d.ts +0 -131
  1142. package/dist/http/tokens.js +0 -131
  1143. package/dist/http/zod.pipe.d.ts +0 -8
  1144. package/dist/http/zod.pipe.js +0 -14
  1145. package/dist/identity/enterprise-admin.d.ts +0 -14
  1146. package/dist/identity/enterprise-admin.js +0 -27
  1147. package/dist/identity/rate-limit.d.ts +0 -55
  1148. package/dist/identity/rate-limit.js +0 -121
  1149. package/dist/sandbox/lifecycle.d.ts +0 -21
  1150. package/dist/sandbox/lifecycle.js +0 -68
  1151. package/dist/tools/builtins/sandbox/names.d.ts +0 -7
  1152. package/dist/tools/builtins/sandbox/names.js +0 -20
@@ -0,0 +1,22 @@
1
+ import type { LocalizedName } from "@capybara-hq/plugin-sdk";
2
+ import { KernelDb } from "../infra/database/kernel-db.js";
3
+ import { ExtensionHost } from "./host.js";
4
+ /**
5
+ * Extension display names (extension config forms spec §2.2), the one resolver every extension and
6
+ * model API uses: a config-declared extension's plugin.json (read by this replica's host at load,
7
+ * the same on every replica), else the installed package's `display_name`, else the live catalog
8
+ * item of the same name, else null. No backfill: a package stored before 0066 gets a name with its
9
+ * next version. Stateless; one query per call.
10
+ */
11
+ export declare class ExtensionDisplayNames {
12
+ private readonly db;
13
+ /** The config-declared extensions (they win over an install record of the same name, C15). */
14
+ private readonly host;
15
+ constructor(db: KernelDb,
16
+ /** The config-declared extensions (they win over an install record of the same name, C15). */
17
+ host: ExtensionHost);
18
+ /** One extension's display name. */
19
+ get(name: string): Promise<LocalizedName | null>;
20
+ /** The display names of `names` (each one a key, null when it has none), in one query. */
21
+ many(names: string[]): Promise<Map<string, LocalizedName | null>>;
22
+ }
@@ -0,0 +1,77 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
8
+ return function (target, key) { decorator(target, key, paramIndex); }
9
+ };
10
+ import { Inject, Injectable } from "@nestjs/common";
11
+ import { sql } from "kysely";
12
+ import { KernelDb } from "../infra/database/kernel-db.js";
13
+ import { ExtensionHost } from "./host.js";
14
+ /**
15
+ * Extension display names (extension config forms spec §2.2), the one resolver every extension and
16
+ * model API uses: a config-declared extension's plugin.json (read by this replica's host at load,
17
+ * the same on every replica), else the installed package's `display_name`, else the live catalog
18
+ * item of the same name, else null. No backfill: a package stored before 0066 gets a name with its
19
+ * next version. Stateless; one query per call.
20
+ */
21
+ let ExtensionDisplayNames = class ExtensionDisplayNames {
22
+ db;
23
+ host;
24
+ constructor(db,
25
+ /** The config-declared extensions (they win over an install record of the same name, C15). */
26
+ host) {
27
+ this.db = db;
28
+ this.host = host;
29
+ }
30
+ /** One extension's display name. */
31
+ async get(name) {
32
+ return (await this.many([name])).get(name) ?? null;
33
+ }
34
+ /** The display names of `names` (each one a key, null when it has none), in one query. */
35
+ async many(names) {
36
+ const out = new Map();
37
+ if (names.length === 0)
38
+ return out;
39
+ const declared = new Map(this.host.declaredPlugins().map((p) => [p.name, p]));
40
+ const rest = [];
41
+ for (const n of new Set(names)) {
42
+ const d = declared.get(n);
43
+ if (d)
44
+ out.set(n, d.displayName);
45
+ else
46
+ rest.push(n);
47
+ }
48
+ if (rest.length === 0)
49
+ return out;
50
+ const rows = await this.db
51
+ .selectFrom("extension_installs")
52
+ .innerJoin("extension_packages", "extension_packages.sha256", "extension_installs.sha256")
53
+ .select([
54
+ "extension_installs.name as name",
55
+ "extension_packages.display_name as display_name",
56
+ sql `0`.as("rank"),
57
+ ])
58
+ .where("extension_installs.name", "in", rest)
59
+ .unionAll((eb) => eb
60
+ .selectFrom("catalog_items")
61
+ .select(["name", "display_name", sql `1`.as("rank")])
62
+ .where("name", "in", rest)
63
+ .where("deleted_at", "is", null))
64
+ .execute();
65
+ rows.sort((a, b) => Number(a.rank) - Number(b.rank));
66
+ for (const n of rest) {
67
+ out.set(n, rows.find((r) => r.name === n && r.display_name !== null)?.display_name ?? null);
68
+ }
69
+ return out;
70
+ }
71
+ };
72
+ ExtensionDisplayNames = __decorate([
73
+ Injectable(),
74
+ __param(0, Inject(KernelDb)),
75
+ __param(1, Inject(ExtensionHost))
76
+ ], ExtensionDisplayNames);
77
+ export { ExtensionDisplayNames };
@@ -0,0 +1,127 @@
1
+ import type { z } from "zod";
2
+ import { type Keyring } from "../ctx/secrets.js";
3
+ import { CacheService } from "../infra/cache/cache.service.js";
4
+ import { KernelConfigService } from "../infra/config/kernel-config.service.js";
5
+ import { KernelDb } from "../infra/database/kernel-db.js";
6
+ import { TransactionHost } from "../infra/database/transaction-host.js";
7
+ import type { KernelLogger } from "../log.js";
8
+ import { type ConfigIssue } from "./config-issues.js";
9
+ import { ExtensionInstalls } from "./installs.js";
10
+ import { type FieldLevel } from "./org-levels.js";
11
+ import { ExtensionRegistry } from "./registry.js";
12
+ type Obj = Record<string, unknown>;
13
+ /**
14
+ * Why an org-bound call is not made (spec A §6): the extension's effective config for the org is
15
+ * not valid. Model-visible as a tool's unavailable reason (English).
16
+ */
17
+ export declare const NEEDS_CONFIG_REASON = "needs configuration in this organization";
18
+ /** The kernel's own secrets namespace (`kernel` is a reserved plugin name). */
19
+ export declare const OVERRIDE_SECRETS_NAMESPACE = "kernel";
20
+ /**
21
+ * Where a copy's secret field lives in `capybara.secrets` (under the org): a namespace of its own,
22
+ * distinct from the org-only `plugin-config:<plugin>:<path>` (spec A §5.8).
23
+ */
24
+ export declare const overrideSecretKey: (plugin: string, path: string) => string;
25
+ /**
26
+ * The effective deployment config of an extension for an org (spec A §6): `ok` with the config
27
+ * and where its overridable fields come from, or the validation issues (paths only, no values).
28
+ */
29
+ export type EffectiveConfig = {
30
+ ok: true;
31
+ config: unknown;
32
+ source: "platform" | "copy";
33
+ }
34
+ /** `notRunning`: the extension is not running on this replica (not a configuration problem). */
35
+ | {
36
+ ok: false;
37
+ issues: ConfigIssue[];
38
+ notRunning?: true;
39
+ };
40
+ /** An org's stored copy: its non-secret values and its secrets by field dot path. */
41
+ export interface StoredCopy {
42
+ config: Obj;
43
+ secrets: Record<string, unknown>;
44
+ }
45
+ /** The secret leaf paths of a deployment schema. */
46
+ export declare function secretLeafPaths(schema: z.ZodTypeAny): string[];
47
+ /** The secret leaf paths under the `override` top-level keys (the secrets a copy may hold). */
48
+ export declare function overrideSecretPaths(schema: z.ZodTypeAny, levels?: Map<string, FieldLevel>): string[];
49
+ /**
50
+ * The platform's non-secret values of the `override` keys: what a new copy starts from (spec A
51
+ * §5.4, platform secrets never enter a copy).
52
+ */
53
+ export declare function platformOverrideValues(schema: z.ZodTypeAny, platform: unknown): Obj;
54
+ /**
55
+ * The deployment config an org with a copy runs with, before validation (spec A §5.4): the
56
+ * platform's values of the hidden and read-only keys, and for each `override` key the copy's value
57
+ * (its non-secret part and its own secrets). An `override` key the copy does not hold (one that
58
+ * became overridable after the copy was made) takes the platform's value with every secret leaf
59
+ * removed: a copy never falls back to a platform secret, required or not. Copy values of keys that
60
+ * are no longer `override` are ignored.
61
+ */
62
+ export declare function mergeCopy(schema: z.ZodTypeAny, platform: unknown, copy: StoredCopy): Obj;
63
+ /**
64
+ * The effective extension config of an org (spec A §5.3, §5.4, §6): the platform's deployment
65
+ * config while the org follows it, or the platform's values with the org's copy applied to the
66
+ * overridable fields. Every org-bound call takes its config from here.
67
+ *
68
+ * Following orgs get this replica's running config (`ctx.config`), so a platform change reaches
69
+ * them as soon as the instance has it. For a copy, the platform's raw (unparsed) deployment config
70
+ * and the copy's raw values are merged and parsed once, so a schema transform runs exactly once.
71
+ * The org half (the copy row and its secrets) is cached in Redis through `@Cacheable`, sealed with
72
+ * a key derived from the master keyring so no secret sits in Redis in clear, under a per-(org,
73
+ * plugin) generation token that every copy write replaces after its commit: a read that started
74
+ * before the write can only cache under the old token, which nobody reads any more. No
75
+ * in-process state.
76
+ *
77
+ * It reads the running instances from the {@link ExtensionRegistry} and the raw platform config
78
+ * from the install records (not through the host), so the host can inject it for its hook
79
+ * dispatcher.
80
+ */
81
+ export declare class EffectiveConfigs {
82
+ private readonly kdb;
83
+ readonly txHost: TransactionHost;
84
+ readonly cacheService: CacheService;
85
+ private readonly keyring;
86
+ private readonly registry;
87
+ private readonly installs;
88
+ private readonly kernelConfig;
89
+ /** Secret values of a copy read here are masked in the logs. */
90
+ private readonly log;
91
+ constructor(kdb: KernelDb, txHost: TransactionHost, cacheService: CacheService, keyring: Keyring, registry: Pick<ExtensionRegistry, "current">, installs: Pick<ExtensionInstalls, "effectiveDeploymentConfig">, kernelConfig: Pick<KernelConfigService, "get">,
92
+ /** Secret values of a copy read here are masked in the logs. */
93
+ log: KernelLogger);
94
+ private get db();
95
+ /**
96
+ * The effective config of `plugin` for `orgId`. Following: the running platform config, `ok:
97
+ * false` when it leaves a required overridable field empty (the host loaded it with those
98
+ * fields optional, so that is the only way the full schema can refuse it). Copy: the platform's
99
+ * raw config with the copy applied ({@link mergeCopy}), parsed once with the full schema. An
100
+ * extension not running on this replica -> `ok: false`, `notRunning`, with a root issue.
101
+ */
102
+ get(orgId: string, plugin: string): Promise<EffectiveConfig>;
103
+ /** The org's copy (decrypted), or undefined while it follows the platform. */
104
+ copyOf(orgId: string, plugin: string): Promise<StoredCopy | undefined>;
105
+ /**
106
+ * Makes every cached copy of (org, plugin) unreachable: a new generation token, and the entry of
107
+ * the old one deleted. Call it after the write committed (`afterCommit`), never inside it.
108
+ */
109
+ invalidate(orgId: string, plugin: string): Promise<void>;
110
+ /** Keyed by the generation token read just before the PG read. */
111
+ private cachedCopy;
112
+ /**
113
+ * The copy row and its secrets from one snapshot (joins the caller's transaction, so a write
114
+ * sees what it just wrote).
115
+ */
116
+ private readCopy;
117
+ /**
118
+ * The number of orgs (not deleted) where the extension is on and has no valid effective config
119
+ * (spec A §5.4a). Following orgs share the platform's result; each copy is checked on its own.
120
+ * 0 when the extension is not running on this replica.
121
+ */
122
+ countNeedingConfig(plugin: string): Promise<number>;
123
+ private cacheKey;
124
+ private seal;
125
+ private open;
126
+ }
127
+ export {};
@@ -0,0 +1,368 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
8
+ return function (target, key) { decorator(target, key, paramIndex); }
9
+ };
10
+ import { createCipheriv, createDecipheriv, randomBytes, randomUUID } from "node:crypto";
11
+ import { Inject, Injectable } from "@nestjs/common";
12
+ import { configFields } from "../config/fields.js";
13
+ import { createSecrets } from "../ctx/secrets.js";
14
+ import { CacheService } from "../infra/cache/cache.service.js";
15
+ import { Cacheable } from "../infra/cache/cacheable.decorator.js";
16
+ import { KernelConfigService } from "../infra/config/kernel-config.service.js";
17
+ import { KernelDb } from "../infra/database/kernel-db.js";
18
+ import { currentStore, TransactionHost } from "../infra/database/transaction-host.js";
19
+ import { Transactional } from "../infra/database/transactional.decorator.js";
20
+ import { KERNEL_LOGGER, KEYRING } from "../infra/tokens.js";
21
+ import { toIssues } from "./config-issues.js";
22
+ import { deleteDeep, isObj, setDeep } from "./deployment-config-store.js";
23
+ import { enabledExtensionsByOrg } from "./enabled.js";
24
+ import { ExtensionInstalls } from "./installs.js";
25
+ import { fieldLevels, missingOverridable } from "./org-levels.js";
26
+ import { ExtensionRegistry } from "./registry.js";
27
+ /**
28
+ * Why an org-bound call is not made (spec A §6): the extension's effective config for the org is
29
+ * not valid. Model-visible as a tool's unavailable reason (English).
30
+ */
31
+ export const NEEDS_CONFIG_REASON = "needs configuration in this organization";
32
+ /** The kernel's own secrets namespace (`kernel` is a reserved plugin name). */
33
+ export const OVERRIDE_SECRETS_NAMESPACE = "kernel";
34
+ const OVERRIDE_KEY_PREFIX = "plugin-override:";
35
+ /**
36
+ * Where a copy's secret field lives in `capybara.secrets` (under the org): a namespace of its own,
37
+ * distinct from the org-only `plugin-config:<plugin>:<path>` (spec A §5.8).
38
+ */
39
+ export const overrideSecretKey = (plugin, path) => `${OVERRIDE_KEY_PREFIX}${plugin}:${path}`;
40
+ /** The secret leaf paths of a deployment schema. */
41
+ export function secretLeafPaths(schema) {
42
+ return configFields(schema)
43
+ .filter((f) => f.meta?.secret === true)
44
+ .map((f) => f.path);
45
+ }
46
+ const under = (path, key) => path === key || path.startsWith(`${key}.`);
47
+ /** The secret leaf paths under the `override` top-level keys (the secrets a copy may hold). */
48
+ export function overrideSecretPaths(schema, levels = fieldLevels(schema)) {
49
+ const keys = [...levels].filter(([, l]) => l === "override").map(([k]) => k);
50
+ return secretLeafPaths(schema).filter((p) => keys.some((k) => under(p, k)));
51
+ }
52
+ /**
53
+ * The platform's non-secret values of the `override` keys: what a new copy starts from (spec A
54
+ * §5.4, platform secrets never enter a copy).
55
+ */
56
+ export function platformOverrideValues(schema, platform) {
57
+ const levels = fieldLevels(schema);
58
+ const secrets = secretLeafPaths(schema);
59
+ const out = {};
60
+ for (const [key, level] of levels) {
61
+ if (level !== "override")
62
+ continue;
63
+ const v = isObj(platform) ? platform[key] : undefined;
64
+ if (v === undefined)
65
+ continue;
66
+ const tmp = { [key]: structuredClone(v) };
67
+ for (const p of secrets)
68
+ if (under(p, key))
69
+ deleteDeep(tmp, p);
70
+ if (tmp[key] !== undefined)
71
+ out[key] = tmp[key];
72
+ }
73
+ return out;
74
+ }
75
+ /**
76
+ * The deployment config an org with a copy runs with, before validation (spec A §5.4): the
77
+ * platform's values of the hidden and read-only keys, and for each `override` key the copy's value
78
+ * (its non-secret part and its own secrets). An `override` key the copy does not hold (one that
79
+ * became overridable after the copy was made) takes the platform's value with every secret leaf
80
+ * removed: a copy never falls back to a platform secret, required or not. Copy values of keys that
81
+ * are no longer `override` are ignored.
82
+ */
83
+ export function mergeCopy(schema, platform, copy) {
84
+ const levels = fieldLevels(schema);
85
+ const secrets = secretLeafPaths(schema);
86
+ const plat = isObj(platform) ? platform : {};
87
+ const out = {};
88
+ for (const [key, level] of levels) {
89
+ if (level !== "override") {
90
+ if (plat[key] !== undefined)
91
+ out[key] = structuredClone(plat[key]);
92
+ continue;
93
+ }
94
+ const own = {};
95
+ if (copy.config[key] !== undefined)
96
+ own[key] = structuredClone(copy.config[key]);
97
+ const keySecrets = secrets.filter((p) => under(p, key));
98
+ // a secret never comes from the non-secret part, even a hand-edited one
99
+ for (const p of keySecrets)
100
+ deleteDeep(own, p);
101
+ for (const p of keySecrets) {
102
+ const v = copy.secrets[p];
103
+ if (v !== undefined)
104
+ setDeep(own, p, structuredClone(v));
105
+ }
106
+ if (own[key] !== undefined) {
107
+ out[key] = own[key];
108
+ continue;
109
+ }
110
+ if (plat[key] === undefined)
111
+ continue;
112
+ const fallback = { [key]: structuredClone(plat[key]) };
113
+ for (const p of keySecrets)
114
+ deleteDeep(fallback, p);
115
+ if (fallback[key] !== undefined)
116
+ out[key] = fallback[key];
117
+ }
118
+ return out;
119
+ }
120
+ const CACHE_KEY_INFO = "org-override-cache";
121
+ /** Lifetime of a cached copy (seconds). */
122
+ const COPY_TTL = 300;
123
+ /**
124
+ * Lifetime of a generation token (seconds): far longer than {@link COPY_TTL}, so a copy cached
125
+ * under the token-less generation `"0"` has expired long before a token lapses back to `"0"`.
126
+ */
127
+ const GENERATION_TTL = 86_400;
128
+ /** The Redis key of the cache generation of (org, plugin); a copy write replaces it. */
129
+ const generationKey = (orgId, plugin) => `effective-config-gen:${orgId}:${plugin}`;
130
+ const IV_LEN = 12;
131
+ const TAG_LEN = 16;
132
+ /**
133
+ * The effective extension config of an org (spec A §5.3, §5.4, §6): the platform's deployment
134
+ * config while the org follows it, or the platform's values with the org's copy applied to the
135
+ * overridable fields. Every org-bound call takes its config from here.
136
+ *
137
+ * Following orgs get this replica's running config (`ctx.config`), so a platform change reaches
138
+ * them as soon as the instance has it. For a copy, the platform's raw (unparsed) deployment config
139
+ * and the copy's raw values are merged and parsed once, so a schema transform runs exactly once.
140
+ * The org half (the copy row and its secrets) is cached in Redis through `@Cacheable`, sealed with
141
+ * a key derived from the master keyring so no secret sits in Redis in clear, under a per-(org,
142
+ * plugin) generation token that every copy write replaces after its commit: a read that started
143
+ * before the write can only cache under the old token, which nobody reads any more. No
144
+ * in-process state.
145
+ *
146
+ * It reads the running instances from the {@link ExtensionRegistry} and the raw platform config
147
+ * from the install records (not through the host), so the host can inject it for its hook
148
+ * dispatcher.
149
+ */
150
+ let EffectiveConfigs = class EffectiveConfigs {
151
+ kdb;
152
+ txHost;
153
+ cacheService;
154
+ keyring;
155
+ registry;
156
+ installs;
157
+ kernelConfig;
158
+ log;
159
+ constructor(kdb, txHost, cacheService, keyring, registry, installs, kernelConfig,
160
+ /** Secret values of a copy read here are masked in the logs. */
161
+ log) {
162
+ this.kdb = kdb;
163
+ this.txHost = txHost;
164
+ this.cacheService = cacheService;
165
+ this.keyring = keyring;
166
+ this.registry = registry;
167
+ this.installs = installs;
168
+ this.kernelConfig = kernelConfig;
169
+ this.log = log;
170
+ }
171
+ get db() {
172
+ return this.kdb.db;
173
+ }
174
+ /**
175
+ * The effective config of `plugin` for `orgId`. Following: the running platform config, `ok:
176
+ * false` when it leaves a required overridable field empty (the host loaded it with those
177
+ * fields optional, so that is the only way the full schema can refuse it). Copy: the platform's
178
+ * raw config with the copy applied ({@link mergeCopy}), parsed once with the full schema. An
179
+ * extension not running on this replica -> `ok: false`, `notRunning`, with a root issue.
180
+ */
181
+ async get(orgId, plugin) {
182
+ const inst = this.registry.current(plugin);
183
+ if (!inst) {
184
+ return {
185
+ ok: false,
186
+ notRunning: true,
187
+ issues: [{ path: "", segments: [], message: "the extension is not running" }],
188
+ };
189
+ }
190
+ const schema = inst.manifest.config?.deployment;
191
+ if (!schema)
192
+ return { ok: true, config: inst.config, source: "platform" };
193
+ const levels = fieldLevels(schema);
194
+ // without an overridable field there is no copy to apply, and the loaded config is complete
195
+ if (![...levels.values()].includes("override")) {
196
+ return { ok: true, config: inst.config, source: "platform" };
197
+ }
198
+ const copy = await this.copyOf(orgId, plugin);
199
+ if (!copy) {
200
+ const missing = missingOverridable(schema, inst.config);
201
+ if (missing.length === 0)
202
+ return { ok: true, config: inst.config, source: "platform" };
203
+ return {
204
+ ok: false,
205
+ issues: missing.map((path) => ({
206
+ path,
207
+ segments: [path],
208
+ message: "required: the platform leaves it empty",
209
+ })),
210
+ };
211
+ }
212
+ const values = Object.values(copy.secrets);
213
+ if (values.length > 0)
214
+ this.log.addOrgSecrets(values);
215
+ // the host's raw read (ExtensionHost.rawDeploymentConfig): startup config plus the PG values
216
+ const raw = await this.installs.effectiveDeploymentConfig(plugin, this.kernelConfig.get().extensionConfig[plugin], schema);
217
+ // the full schema, object-level refinements included: zod runs them only once every field
218
+ // parsed, so a refinement never sees an absent required field
219
+ const r = schema.safeParse(mergeCopy(schema, raw, copy));
220
+ return r.success
221
+ ? { ok: true, config: r.data, source: "copy" }
222
+ : { ok: false, issues: toIssues(r.error) };
223
+ }
224
+ /** The org's copy (decrypted), or undefined while it follows the platform. */
225
+ async copyOf(orgId, plugin) {
226
+ // inside a transaction: no Redis, read what the transaction sees
227
+ if (currentStore())
228
+ return (await this.readCopy(orgId, plugin)) ?? undefined;
229
+ const gen = (await this.cacheService.get(generationKey(orgId, plugin))) ?? "0";
230
+ const cached = await this.cachedCopy(orgId, plugin, gen);
231
+ if (!cached.copy)
232
+ return undefined;
233
+ const opened = this.open(orgId, plugin, cached.sealed);
234
+ // sealed with a key no longer in the keyring: read through
235
+ if (opened)
236
+ return opened;
237
+ const fresh = await this.readCopy(orgId, plugin);
238
+ return fresh ?? undefined;
239
+ }
240
+ /**
241
+ * Makes every cached copy of (org, plugin) unreachable: a new generation token, and the entry of
242
+ * the old one deleted. Call it after the write committed (`afterCommit`), never inside it.
243
+ */
244
+ async invalidate(orgId, plugin) {
245
+ const key = generationKey(orgId, plugin);
246
+ const old = (await this.cacheService.get(key)) ?? "0";
247
+ await this.cacheService.set(key, randomUUID(), GENERATION_TTL);
248
+ await this.cacheService.del(copyCacheKey(orgId, plugin, old));
249
+ }
250
+ /** Keyed by the generation token read just before the PG read. */
251
+ async cachedCopy(orgId, plugin, _gen) {
252
+ const copy = await this.readCopy(orgId, plugin);
253
+ return copy ? { copy: true, sealed: this.seal(orgId, plugin, copy) } : { copy: false };
254
+ }
255
+ /**
256
+ * The copy row and its secrets from one snapshot (joins the caller's transaction, so a write
257
+ * sees what it just wrote).
258
+ */
259
+ async readCopy(orgId, plugin) {
260
+ const t = this.db;
261
+ const row = await t
262
+ .selectFrom("extension_org_overrides")
263
+ .select("config")
264
+ .where("plugin", "=", plugin)
265
+ .where("org_id", "=", orgId)
266
+ .executeTakeFirst();
267
+ if (!row)
268
+ return null;
269
+ const prefix = overrideSecretKey(plugin, "");
270
+ const keys = await t
271
+ .selectFrom("secrets")
272
+ .select("key")
273
+ .where("namespace", "=", OVERRIDE_SECRETS_NAMESPACE)
274
+ .where("org_id", "=", orgId)
275
+ .where("key", "like", `${prefix}%`)
276
+ .execute();
277
+ const store = createSecrets(t, this.keyring, OVERRIDE_SECRETS_NAMESPACE);
278
+ const secrets = {};
279
+ for (const { key } of keys) {
280
+ if (!key.startsWith(prefix))
281
+ continue;
282
+ const v = await store.get(orgId, key);
283
+ if (v !== null)
284
+ secrets[key.slice(prefix.length)] = JSON.parse(v);
285
+ }
286
+ return { config: row.config ?? {}, secrets };
287
+ }
288
+ /**
289
+ * The number of orgs (not deleted) where the extension is on and has no valid effective config
290
+ * (spec A §5.4a). Following orgs share the platform's result; each copy is checked on its own.
291
+ * 0 when the extension is not running on this replica.
292
+ */
293
+ async countNeedingConfig(plugin) {
294
+ if (!this.registry.current(plugin))
295
+ return 0;
296
+ const rows = await this.db
297
+ .selectFrom(enabledExtensionsByOrg(this.db).as("en"))
298
+ .innerJoin("orgs", "orgs.id", "en.org_id")
299
+ .leftJoin("extension_org_overrides as ov", (j) => j.onRef("ov.org_id", "=", "en.org_id").onRef("ov.plugin", "=", "en.plugin"))
300
+ .select(["en.org_id as orgId", "ov.org_id as copyOrg"])
301
+ .where("orgs.deleted_at", "is", null)
302
+ .where("en.plugin", "=", plugin)
303
+ .execute();
304
+ let n = 0;
305
+ let following;
306
+ for (const r of rows) {
307
+ if (r.copyOrg === null) {
308
+ following ??= (await this.get(r.orgId, plugin)).ok;
309
+ if (!following)
310
+ n++;
311
+ }
312
+ else if (!(await this.get(r.orgId, plugin)).ok)
313
+ n++;
314
+ }
315
+ return n;
316
+ }
317
+ cacheKey() {
318
+ return this.keyring.deriveKey(CACHE_KEY_INFO);
319
+ }
320
+ seal(orgId, plugin, copy) {
321
+ const keys = this.cacheKey();
322
+ const iv = randomBytes(IV_LEN);
323
+ const cipher = createCipheriv("aes-256-gcm", keys.current, iv);
324
+ cipher.setAAD(Buffer.from(`${orgId}\0${plugin}`, "utf8"));
325
+ const data = Buffer.concat([cipher.update(JSON.stringify(copy), "utf8"), cipher.final()]);
326
+ return `${keys.currentId}:${Buffer.concat([iv, cipher.getAuthTag(), data]).toString("base64")}`;
327
+ }
328
+ open(orgId, plugin, sealed) {
329
+ const at = sealed.indexOf(":");
330
+ const key = at > 0 ? this.cacheKey().byId(sealed.slice(0, at)) : undefined;
331
+ if (!key)
332
+ return undefined;
333
+ try {
334
+ const blob = Buffer.from(sealed.slice(at + 1), "base64");
335
+ const decipher = createDecipheriv("aes-256-gcm", key, blob.subarray(0, IV_LEN));
336
+ decipher.setAAD(Buffer.from(`${orgId}\0${plugin}`, "utf8"));
337
+ decipher.setAuthTag(blob.subarray(IV_LEN, IV_LEN + TAG_LEN));
338
+ const plain = Buffer.concat([
339
+ decipher.update(blob.subarray(IV_LEN + TAG_LEN)),
340
+ decipher.final(),
341
+ ]).toString("utf8");
342
+ return JSON.parse(plain);
343
+ }
344
+ catch {
345
+ return undefined;
346
+ }
347
+ }
348
+ };
349
+ __decorate([
350
+ Cacheable({ key: "effective-config:#{0}:#{1}:#{2}", ttl: COPY_TTL })
351
+ ], EffectiveConfigs.prototype, "cachedCopy", null);
352
+ __decorate([
353
+ Transactional({ isolationLevel: "repeatable read" })
354
+ ], EffectiveConfigs.prototype, "readCopy", null);
355
+ EffectiveConfigs = __decorate([
356
+ Injectable(),
357
+ __param(0, Inject(KernelDb)),
358
+ __param(1, Inject(TransactionHost)),
359
+ __param(2, Inject(CacheService)),
360
+ __param(3, Inject(KEYRING)),
361
+ __param(4, Inject(ExtensionRegistry)),
362
+ __param(5, Inject(ExtensionInstalls)),
363
+ __param(6, Inject(KernelConfigService)),
364
+ __param(7, Inject(KERNEL_LOGGER))
365
+ ], EffectiveConfigs);
366
+ export { EffectiveConfigs };
367
+ /** The cache key of a copy under a generation (the `@Cacheable` key of `cachedCopy`). */
368
+ const copyCacheKey = (orgId, plugin, gen) => `effective-config:${orgId}:${plugin}:${gen}`;
@@ -1,4 +1,4 @@
1
- import type { KernelDb } from "../db/kernel-schema.js";
1
+ import type { KernelSchemaDb } from "../db/kernel-schema.js";
2
2
  /**
3
3
  * Which extensions an organization has enabled. Two sources, and every reader goes through these
4
4
  * helpers so none of them misses one:
@@ -9,7 +9,7 @@ import type { KernelDb } from "../db/kernel-schema.js";
9
9
  * that need that check it themselves, as before. `db` may be a transaction.
10
10
  */
11
11
  /** The names of the extensions enabled in `orgId` (a subquery with one column, `plugin`). */
12
- export declare function enabledExtensionsQuery(db: KernelDb, orgId: string): import("kysely").SelectQueryBuilder<import("../db/kernel-schema.js").KernelDatabase & {
12
+ export declare function enabledExtensionsQuery(db: KernelSchemaDb, orgId: string): import("kysely").SelectQueryBuilder<import("../db/kernel-schema.js").KernelDatabase & {
13
13
  eoc: import("../db/kernel-schema.js").ExtensionOrgConfigsTable;
14
14
  }, "eoc", {
15
15
  plugin: string;
@@ -19,13 +19,13 @@ export declare function enabledExtensionsQuery(db: KernelDb, orgId: string): imp
19
19
  * `plugin`): `.innerJoin(enabledExtensionsByOrg(db).as("en"), (j) => j.onRef("en.org_id", …)…)`.
20
20
  * Soft-deleted orgs are included, as their org config rows are; callers filter `orgs.deleted_at`.
21
21
  */
22
- export declare function enabledExtensionsByOrg(db: KernelDb): import("kysely").SelectQueryBuilder<import("../db/kernel-schema.js").KernelDatabase & {
22
+ export declare function enabledExtensionsByOrg(db: KernelSchemaDb): import("kysely").SelectQueryBuilder<import("../db/kernel-schema.js").KernelDatabase & {
23
23
  eoc: import("../db/kernel-schema.js").ExtensionOrgConfigsTable;
24
24
  }, "eoc", {
25
25
  org_id: string;
26
26
  plugin: string;
27
27
  }>;
28
28
  /** Whether `plugin` is enabled in `orgId` (see the file header). */
29
- export declare function isExtensionEnabled(db: KernelDb, orgId: string, plugin: string): Promise<boolean>;
29
+ export declare function isExtensionEnabled(db: KernelSchemaDb, orgId: string, plugin: string): Promise<boolean>;
30
30
  /** The names of the required bootstrap plugins (installed with `required`). */
31
- export declare function requiredExtensions(db: KernelDb): Promise<Set<string>>;
31
+ export declare function requiredExtensions(db: KernelSchemaDb): Promise<Set<string>>;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * The extensions domain: the extension host (it builds each `ctx` from the injected kernel
3
+ * services), the package store and install records (the desired state the host converges to, one
4
+ * way: spec §3), the per-replica lifecycle and its periodic reconcile, the admin operations,
5
+ * deployment and org configs, the bootstrap step, and the shared {@link ExtensionRegistry}.
6
+ */
7
+ export declare class ExtensionsModule {
8
+ }