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

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