@capybara-hq/kernel 0.1.0-rc.1 → 0.1.0-rc.3

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 (670) hide show
  1. package/dist/admin/admin.controller.d.ts +17 -17
  2. package/dist/admin/admin.controller.js +43 -26
  3. package/dist/admin/admin.module.d.ts +3 -0
  4. package/dist/admin/admin.module.js +22 -0
  5. package/dist/admin/extensions.controller.d.ts +14 -14
  6. package/dist/admin/extensions.controller.js +30 -17
  7. package/dist/admin/setup-lock.d.ts +16 -0
  8. package/dist/admin/setup-lock.js +47 -0
  9. package/dist/admin/setup.controller.d.ts +8 -8
  10. package/dist/admin/setup.controller.js +27 -25
  11. package/dist/admin/setup.service.d.ts +19 -27
  12. package/dist/admin/setup.service.js +61 -61
  13. package/dist/agents/agent-lookup.d.ts +53 -0
  14. package/dist/agents/agent-lookup.js +187 -0
  15. package/dist/agents/agents.controller.d.ts +1 -1
  16. package/dist/agents/agents.controller.js +14 -8
  17. package/dist/agents/agents.module.d.ts +7 -0
  18. package/dist/agents/agents.module.js +41 -0
  19. package/dist/agents/agents.service.d.ts +39 -58
  20. package/dist/agents/agents.service.js +280 -335
  21. package/dist/agents/definition.d.ts +39 -8
  22. package/dist/agents/definition.js +201 -17
  23. package/dist/agents/models.controller.d.ts +1 -1
  24. package/dist/agents/models.controller.js +2 -2
  25. package/dist/agents/templates.controller.d.ts +1 -1
  26. package/dist/agents/templates.controller.js +2 -2
  27. package/dist/agents/templates.d.ts +6 -8
  28. package/dist/agents/templates.js +39 -8
  29. package/dist/app.d.ts +93 -0
  30. package/dist/app.js +150 -0
  31. package/dist/catalog/admin-catalog.controller.d.ts +3 -3
  32. package/dist/catalog/admin-catalog.controller.js +27 -13
  33. package/dist/catalog/catalog-content.d.ts +185 -0
  34. package/dist/catalog/catalog-content.js +326 -0
  35. package/dist/catalog/catalog-items.d.ts +186 -0
  36. package/dist/catalog/catalog-items.js +410 -0
  37. package/dist/catalog/catalog.module.d.ts +14 -0
  38. package/dist/catalog/catalog.module.js +71 -0
  39. package/dist/catalog/catalog.service.d.ts +34 -188
  40. package/dist/catalog/catalog.service.js +155 -489
  41. package/dist/catalog/claude/agents.js +13 -10
  42. package/dist/catalog/cli.d.ts +3 -2
  43. package/dist/catalog/cli.js +13 -31
  44. package/dist/catalog/job-ids.d.ts +15 -0
  45. package/dist/catalog/job-ids.js +15 -0
  46. package/dist/catalog/jobs.d.ts +27 -0
  47. package/dist/catalog/jobs.js +70 -0
  48. package/dist/catalog/locks.d.ts +24 -0
  49. package/dist/catalog/locks.js +63 -0
  50. package/dist/catalog/marketplaces.controller.d.ts +4 -4
  51. package/dist/catalog/marketplaces.controller.js +22 -11
  52. package/dist/catalog/marketplaces.service.d.ts +31 -14
  53. package/dist/catalog/marketplaces.service.js +330 -256
  54. package/dist/catalog/org-catalog.controller.d.ts +4 -3
  55. package/dist/catalog/org-catalog.controller.js +29 -14
  56. package/dist/catalog/org-catalog.service.d.ts +32 -198
  57. package/dist/catalog/org-catalog.service.js +159 -400
  58. package/dist/catalog/plugin-import.d.ts +73 -34
  59. package/dist/catalog/plugin-import.js +356 -217
  60. package/dist/catalog/plugin-install.d.ts +83 -41
  61. package/dist/catalog/plugin-install.js +421 -269
  62. package/dist/catalog/plugin-upgrade.d.ts +59 -4
  63. package/dist/catalog/plugin-upgrade.js +407 -282
  64. package/dist/catalog/requests.service.d.ts +27 -15
  65. package/dist/catalog/requests.service.js +201 -145
  66. package/dist/catalog/upgrade-targets.d.ts +4 -7
  67. package/dist/channels/actions.d.ts +6 -4
  68. package/dist/channels/actions.js +1 -1
  69. package/dist/channels/cards.d.ts +10 -4
  70. package/dist/channels/cards.js +16 -8
  71. package/dist/channels/channels.module.d.ts +40 -0
  72. package/dist/channels/channels.module.js +128 -0
  73. package/dist/channels/connections.controller.d.ts +1 -1
  74. package/dist/channels/connections.controller.js +11 -6
  75. package/dist/channels/connections.service.d.ts +43 -21
  76. package/dist/channels/connections.service.js +236 -131
  77. package/dist/channels/inbound.d.ts +34 -38
  78. package/dist/channels/inbound.js +107 -41
  79. package/dist/channels/job-ids.d.ts +10 -0
  80. package/dist/channels/job-ids.js +10 -0
  81. package/dist/channels/jobs.d.ts +85 -0
  82. package/dist/channels/jobs.js +157 -0
  83. package/dist/channels/outbound.d.ts +60 -82
  84. package/dist/channels/outbound.js +165 -194
  85. package/dist/channels/supervisor.d.ts +88 -46
  86. package/dist/channels/supervisor.js +230 -132
  87. package/dist/channels/threads.d.ts +29 -8
  88. package/dist/channels/threads.js +71 -13
  89. package/dist/channels/webhook.d.ts +20 -14
  90. package/dist/channels/webhook.js +51 -20
  91. package/dist/config/load.d.ts +3 -2
  92. package/dist/config/load.js +3 -2
  93. package/dist/config/nacos-source.js +11 -2
  94. package/dist/config/schema.d.ts +1 -0
  95. package/dist/config/schema.js +12 -6
  96. package/dist/conversations/access.d.ts +29 -0
  97. package/dist/conversations/access.js +86 -0
  98. package/dist/conversations/artifacts.d.ts +11 -11
  99. package/dist/conversations/artifacts.js +36 -10
  100. package/dist/conversations/attachments.controller.d.ts +1 -1
  101. package/dist/conversations/attachments.controller.js +8 -6
  102. package/dist/conversations/attachments.module.d.ts +7 -0
  103. package/dist/conversations/attachments.module.js +25 -0
  104. package/dist/conversations/attachments.service.d.ts +30 -22
  105. package/dist/conversations/attachments.service.js +119 -46
  106. package/dist/conversations/conversations.controller.d.ts +8 -7
  107. package/dist/conversations/conversations.controller.js +59 -29
  108. package/dist/conversations/conversations.module.d.ts +8 -0
  109. package/dist/conversations/conversations.module.js +69 -0
  110. package/dist/conversations/conversations.service.d.ts +40 -38
  111. package/dist/conversations/conversations.service.js +130 -140
  112. package/dist/conversations/event-log.d.ts +39 -18
  113. package/dist/conversations/event-log.js +93 -27
  114. package/dist/conversations/events.d.ts +23 -3
  115. package/dist/conversations/events.js +26 -14
  116. package/dist/conversations/files.d.ts +10 -10
  117. package/dist/conversations/files.js +37 -11
  118. package/dist/conversations/idem-keys.d.ts +5 -0
  119. package/dist/conversations/idem-keys.js +5 -0
  120. package/dist/conversations/job-ids.d.ts +6 -0
  121. package/dist/conversations/job-ids.js +6 -0
  122. package/dist/conversations/outputs-read.d.ts +11 -11
  123. package/dist/conversations/outputs-read.js +31 -7
  124. package/dist/conversations/queue.d.ts +48 -56
  125. package/dist/conversations/queue.js +13 -289
  126. package/dist/conversations/queue.service.d.ts +60 -0
  127. package/dist/conversations/queue.service.js +343 -0
  128. package/dist/conversations/sandbox-status.d.ts +13 -10
  129. package/dist/conversations/sandbox-status.js +36 -8
  130. package/dist/conversations/titles.d.ts +71 -24
  131. package/dist/conversations/titles.js +159 -63
  132. package/dist/ctx/bus.js +9 -3
  133. package/dist/ctx/create-ctx.d.ts +6 -0
  134. package/dist/ctx/create-ctx.js +7 -9
  135. package/dist/ctx/lock.d.ts +7 -3
  136. package/dist/ctx/lock.js +9 -20
  137. package/dist/ctx/secrets.d.ts +10 -2
  138. package/dist/ctx/secrets.js +7 -3
  139. package/dist/db/kernel-schema.d.ts +4 -4
  140. package/dist/db/pool.d.ts +5 -0
  141. package/dist/db/pool.js +1 -0
  142. package/dist/errors.d.ts +1 -0
  143. package/dist/errors.js +1 -0
  144. package/dist/evals/budget.d.ts +42 -21
  145. package/dist/evals/budget.js +114 -62
  146. package/dist/evals/evals.module.d.ts +31 -0
  147. package/dist/evals/evals.module.js +114 -0
  148. package/dist/evals/jobs.d.ts +20 -0
  149. package/dist/evals/jobs.js +45 -0
  150. package/dist/evals/recorded-tools.d.ts +27 -1
  151. package/dist/evals/recorded-tools.js +85 -10
  152. package/dist/evals/run-replay.d.ts +61 -8
  153. package/dist/evals/run-replay.js +159 -85
  154. package/dist/evals/runs.controller.d.ts +1 -1
  155. package/dist/evals/runs.controller.js +17 -8
  156. package/dist/evals/runs.service.d.ts +23 -45
  157. package/dist/evals/runs.service.js +245 -234
  158. package/dist/evals/sets.controller.d.ts +1 -1
  159. package/dist/evals/sets.controller.js +17 -8
  160. package/dist/evals/sets.service.d.ts +22 -6
  161. package/dist/evals/sets.service.js +248 -194
  162. package/dist/evals/snapshot.d.ts +2 -2
  163. package/dist/evals/step-replay.d.ts +2 -2
  164. package/dist/evals/step-replay.js +1 -1
  165. package/dist/evals/trajectory.controller.d.ts +1 -1
  166. package/dist/evals/trajectory.controller.js +11 -7
  167. package/dist/evals/trajectory.d.ts +2 -2
  168. package/dist/evals/trajectory.service.d.ts +5 -4
  169. package/dist/evals/trajectory.service.js +30 -7
  170. package/dist/evals/worker.d.ts +44 -27
  171. package/dist/evals/worker.js +220 -121
  172. package/dist/extensions/admin-ops.d.ts +61 -33
  173. package/dist/extensions/admin-ops.js +248 -154
  174. package/dist/extensions/admin-view.d.ts +38 -27
  175. package/dist/extensions/admin-view.js +126 -55
  176. package/dist/extensions/approvals.d.ts +12 -8
  177. package/dist/extensions/approvals.js +73 -46
  178. package/dist/extensions/blobs.d.ts +27 -10
  179. package/dist/extensions/blobs.js +111 -45
  180. package/dist/extensions/bootstrap.d.ts +58 -31
  181. package/dist/extensions/bootstrap.js +175 -121
  182. package/dist/extensions/cli.d.ts +20 -10
  183. package/dist/extensions/cli.js +41 -96
  184. package/dist/extensions/config-issues.d.ts +7 -0
  185. package/dist/extensions/config-issues.js +31 -0
  186. package/dist/extensions/deployment-config-store.d.ts +49 -0
  187. package/dist/extensions/deployment-config-store.js +133 -0
  188. package/dist/extensions/deployment-config.d.ts +58 -67
  189. package/dist/extensions/deployment-config.js +202 -230
  190. package/dist/extensions/enabled.d.ts +5 -5
  191. package/dist/extensions/extensions.module.d.ts +8 -0
  192. package/dist/extensions/extensions.module.js +77 -0
  193. package/dist/extensions/hooks.d.ts +3 -2
  194. package/dist/extensions/hooks.js +1 -1
  195. package/dist/extensions/host.d.ts +72 -68
  196. package/dist/extensions/host.js +191 -152
  197. package/dist/extensions/installs.d.ts +49 -16
  198. package/dist/extensions/installs.js +128 -32
  199. package/dist/extensions/job-ids.d.ts +6 -0
  200. package/dist/extensions/job-ids.js +6 -0
  201. package/dist/extensions/lifecycle-topics.d.ts +18 -0
  202. package/dist/extensions/lifecycle-topics.js +18 -0
  203. package/dist/extensions/lifecycle.d.ts +35 -47
  204. package/dist/extensions/lifecycle.js +103 -39
  205. package/dist/extensions/locks.d.ts +33 -0
  206. package/dist/extensions/locks.js +86 -0
  207. package/dist/extensions/migrate-lock.d.ts +3 -4
  208. package/dist/extensions/org-config.controller.d.ts +1 -1
  209. package/dist/extensions/org-config.controller.js +8 -5
  210. package/dist/extensions/org-config.d.ts +48 -46
  211. package/dist/extensions/org-config.js +284 -226
  212. package/dist/extensions/registry.d.ts +50 -2
  213. package/dist/extensions/registry.js +89 -4
  214. package/dist/extensions/sources.d.ts +12 -8
  215. package/dist/extensions/sources.js +34 -13
  216. package/dist/files/files.module.d.ts +3 -0
  217. package/dist/files/files.module.js +22 -0
  218. package/dist/files/previewers.controller.d.ts +7 -2
  219. package/dist/files/previewers.controller.js +17 -9
  220. package/dist/files/previewers.d.ts +13 -18
  221. package/dist/files/previewers.js +83 -36
  222. package/dist/http/adapter.d.ts +3 -0
  223. package/dist/http/adapter.js +25 -0
  224. package/dist/http/api.module.d.ts +3 -110
  225. package/dist/http/api.module.js +47 -355
  226. package/dist/http/app.d.ts +11 -15
  227. package/dist/http/app.js +17 -62
  228. package/dist/http/error-filter.module.d.ts +5 -0
  229. package/dist/http/error-filter.module.js +18 -0
  230. package/dist/http/error.filter.js +2 -2
  231. package/dist/identity/accounts.d.ts +82 -29
  232. package/dist/identity/accounts.js +294 -175
  233. package/dist/identity/api-tokens.d.ts +11 -7
  234. package/dist/identity/api-tokens.js +71 -44
  235. package/dist/identity/audit.d.ts +7 -4
  236. package/dist/identity/audit.js +5 -1
  237. package/dist/identity/auth.controller.d.ts +11 -10
  238. package/dist/identity/auth.controller.js +31 -25
  239. package/dist/identity/auth.guard.d.ts +3 -3
  240. package/dist/identity/auth.guard.js +6 -4
  241. package/dist/identity/binding.d.ts +9 -11
  242. package/dist/identity/binding.js +41 -13
  243. package/dist/identity/enterprise-admin.d.ts +18 -12
  244. package/dist/identity/enterprise-admin.js +67 -13
  245. package/dist/identity/external-identity-lock.d.ts +17 -0
  246. package/dist/identity/external-identity-lock.js +39 -0
  247. package/dist/identity/external.d.ts +19 -15
  248. package/dist/identity/external.js +163 -125
  249. package/dist/identity/identity.module.d.ts +6 -0
  250. package/dist/identity/identity.module.js +56 -0
  251. package/dist/identity/me.controller.d.ts +16 -15
  252. package/dist/identity/me.controller.js +37 -31
  253. package/dist/identity/sessions.d.ts +12 -10
  254. package/dist/identity/sessions.js +74 -42
  255. package/dist/identity/settings.d.ts +20 -14
  256. package/dist/identity/settings.js +86 -58
  257. package/dist/identity/sso.controller.d.ts +7 -7
  258. package/dist/identity/sso.controller.js +13 -9
  259. package/dist/identity/sso.d.ts +9 -12
  260. package/dist/identity/sso.js +54 -24
  261. package/dist/inbox/inbox.module.d.ts +3 -0
  262. package/dist/inbox/inbox.module.js +22 -0
  263. package/dist/inbox/inbox.service.d.ts +7 -9
  264. package/dist/inbox/inbox.service.js +32 -11
  265. package/dist/index.d.ts +16 -11
  266. package/dist/index.js +9 -6
  267. package/dist/infra/cache/cache.module.d.ts +3 -0
  268. package/dist/infra/cache/cache.module.js +16 -0
  269. package/dist/infra/cache/cache.service.d.ts +21 -0
  270. package/dist/infra/cache/cache.service.js +80 -0
  271. package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
  272. package/dist/infra/cache/cacheable.decorator.js +83 -0
  273. package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
  274. package/dist/infra/cli/kernel-cli.module.js +165 -0
  275. package/dist/infra/close-within.d.ts +15 -0
  276. package/dist/infra/close-within.js +36 -0
  277. package/dist/infra/config/config.module.d.ts +13 -0
  278. package/dist/infra/config/config.module.js +39 -0
  279. package/dist/infra/config/kernel-config.service.d.ts +25 -0
  280. package/dist/infra/config/kernel-config.service.js +126 -0
  281. package/dist/infra/database/after-commit.d.ts +6 -0
  282. package/dist/infra/database/after-commit.js +9 -0
  283. package/dist/infra/database/database.module.d.ts +25 -0
  284. package/dist/infra/database/database.module.js +90 -0
  285. package/dist/infra/database/kernel-db.d.ts +22 -0
  286. package/dist/infra/database/kernel-db.js +65 -0
  287. package/dist/infra/database/transaction-host.d.ts +50 -0
  288. package/dist/infra/database/transaction-host.js +125 -0
  289. package/dist/infra/database/transactional.decorator.d.ts +15 -0
  290. package/dist/infra/database/transactional.decorator.js +27 -0
  291. package/dist/infra/database/xact-lock.d.ts +17 -0
  292. package/dist/infra/database/xact-lock.js +43 -0
  293. package/dist/infra/events/kernel-events.d.ts +96 -0
  294. package/dist/infra/events/kernel-events.js +65 -0
  295. package/dist/infra/health/health.controller.d.ts +26 -0
  296. package/dist/infra/health/health.controller.js +104 -0
  297. package/dist/infra/health/health.module.d.ts +9 -0
  298. package/dist/infra/health/health.module.js +24 -0
  299. package/dist/infra/health/health.options.d.ts +10 -0
  300. package/dist/infra/health/health.options.js +15 -0
  301. package/dist/infra/health/shutdown-state.d.ts +6 -0
  302. package/dist/infra/health/shutdown-state.js +2 -0
  303. package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
  304. package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
  305. package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
  306. package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
  307. package/dist/infra/lifecycle/process-guards.d.ts +52 -0
  308. package/dist/infra/lifecycle/process-guards.js +86 -0
  309. package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
  310. package/dist/infra/lifecycle/shutdown-signals.js +48 -0
  311. package/dist/infra/lock/key-template.d.ts +13 -0
  312. package/dist/infra/lock/key-template.js +46 -0
  313. package/dist/infra/lock/lock.module.d.ts +3 -0
  314. package/dist/infra/lock/lock.module.js +16 -0
  315. package/dist/infra/lock/lock.service.d.ts +120 -0
  316. package/dist/infra/lock/lock.service.js +343 -0
  317. package/dist/infra/lock/shared-lease.d.ts +44 -0
  318. package/dist/infra/lock/shared-lease.js +121 -0
  319. package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
  320. package/dist/infra/lock/with-lock.decorator.js +49 -0
  321. package/dist/infra/logging/logging.module.d.ts +16 -0
  322. package/dist/infra/logging/logging.module.js +34 -0
  323. package/dist/infra/queue/configured-processor.d.ts +18 -0
  324. package/dist/infra/queue/configured-processor.js +23 -0
  325. package/dist/infra/queue/job-failure.d.ts +18 -0
  326. package/dist/infra/queue/job-failure.js +26 -0
  327. package/dist/infra/queue/queue-shutdown.d.ts +27 -0
  328. package/dist/infra/queue/queue-shutdown.js +81 -0
  329. package/dist/infra/queue/queue.module.d.ts +16 -0
  330. package/dist/infra/queue/queue.module.js +61 -0
  331. package/dist/infra/queue/redis-connection.d.ts +7 -0
  332. package/dist/infra/queue/redis-connection.js +18 -0
  333. package/dist/infra/queue/retired-schedulers.d.ts +7 -0
  334. package/dist/infra/queue/retired-schedulers.js +9 -0
  335. package/dist/infra/queue/run-job.d.ts +16 -0
  336. package/dist/infra/queue/run-job.js +19 -0
  337. package/dist/infra/redis/redis.module.d.ts +24 -0
  338. package/dist/infra/redis/redis.module.js +87 -0
  339. package/dist/infra/schedule/cron-tick.d.ts +12 -0
  340. package/dist/infra/schedule/cron-tick.js +25 -0
  341. package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
  342. package/dist/infra/schedule/locked-cron.decorator.js +53 -0
  343. package/dist/infra/schedule/locked-interval.d.ts +69 -0
  344. package/dist/infra/schedule/locked-interval.js +190 -0
  345. package/dist/infra/schedule/locked-tick.d.ts +90 -0
  346. package/dist/infra/schedule/locked-tick.js +137 -0
  347. package/dist/infra/schedule/schedule.module.d.ts +8 -0
  348. package/dist/infra/schedule/schedule.module.js +27 -0
  349. package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
  350. package/dist/infra/schedule/scheduled-runs.js +163 -0
  351. package/dist/infra/swagger/swagger.d.ts +16 -0
  352. package/dist/infra/swagger/swagger.js +31 -0
  353. package/dist/infra/throttler/credential-throttler.d.ts +35 -0
  354. package/dist/infra/throttler/credential-throttler.js +77 -0
  355. package/dist/infra/throttler/named-throttlers.d.ts +31 -0
  356. package/dist/infra/throttler/named-throttlers.js +119 -0
  357. package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
  358. package/dist/infra/throttler/redis-throttler-storage.js +130 -0
  359. package/dist/infra/throttler/throttler.guard.d.ts +23 -0
  360. package/dist/infra/throttler/throttler.guard.js +68 -0
  361. package/dist/infra/throttler/throttler.module.d.ts +15 -0
  362. package/dist/infra/throttler/throttler.module.js +53 -0
  363. package/dist/infra/tokens.d.ts +15 -0
  364. package/dist/infra/tokens.js +15 -0
  365. package/dist/infra/validation/create-zod-dto.d.ts +23 -0
  366. package/dist/infra/validation/create-zod-dto.js +35 -0
  367. package/dist/infra/validation/parse-with-zod.d.ts +7 -0
  368. package/dist/infra/validation/parse-with-zod.js +12 -0
  369. package/dist/infra/validation/validation.module.d.ts +3 -0
  370. package/dist/infra/validation/validation.module.js +16 -0
  371. package/dist/infra/validation/zod-params.d.ts +7 -0
  372. package/dist/infra/validation/zod-params.js +42 -0
  373. package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
  374. package/dist/infra/validation/zod-validation.pipe.js +31 -0
  375. package/dist/kernel.d.ts +9 -244
  376. package/dist/kernel.js +8 -1305
  377. package/dist/kernel.module.d.ts +17 -0
  378. package/dist/kernel.module.js +136 -0
  379. package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
  380. package/dist/lifecycle/kernel-lifecycle.js +456 -0
  381. package/dist/lifecycle/tokens.d.ts +3 -0
  382. package/dist/lifecycle/tokens.js +3 -0
  383. package/dist/log-context.d.ts +2 -0
  384. package/dist/log-context.js +4 -0
  385. package/dist/models/models.module.d.ts +3 -0
  386. package/dist/models/models.module.js +24 -0
  387. package/dist/models/prices.d.ts +8 -2
  388. package/dist/models/prices.js +65 -37
  389. package/dist/models/purposes.controller.d.ts +1 -1
  390. package/dist/models/purposes.controller.js +5 -6
  391. package/dist/models/purposes.d.ts +35 -13
  392. package/dist/models/purposes.js +101 -51
  393. package/dist/orgs/directory-sync.controller.d.ts +1 -1
  394. package/dist/orgs/directory-sync.controller.js +2 -2
  395. package/dist/orgs/directory-sync.d.ts +61 -31
  396. package/dist/orgs/directory-sync.js +212 -125
  397. package/dist/orgs/invitations.controller.d.ts +8 -8
  398. package/dist/orgs/invitations.controller.js +27 -26
  399. package/dist/orgs/invitations.service.d.ts +12 -9
  400. package/dist/orgs/invitations.service.js +130 -92
  401. package/dist/orgs/job-ids.d.ts +8 -0
  402. package/dist/orgs/job-ids.js +8 -0
  403. package/dist/orgs/members.service.d.ts +19 -12
  404. package/dist/orgs/members.service.js +161 -117
  405. package/dist/orgs/offboarding.d.ts +54 -57
  406. package/dist/orgs/offboarding.js +161 -71
  407. package/dist/orgs/org-lock.d.ts +28 -19
  408. package/dist/orgs/org-lock.js +81 -35
  409. package/dist/orgs/org.guard.d.ts +1 -1
  410. package/dist/orgs/org.guard.js +2 -2
  411. package/dist/orgs/orgs.controller.d.ts +13 -13
  412. package/dist/orgs/orgs.controller.js +29 -17
  413. package/dist/orgs/orgs.module.d.ts +6 -0
  414. package/dist/orgs/orgs.module.js +68 -0
  415. package/dist/orgs/orgs.service.d.ts +30 -19
  416. package/dist/orgs/orgs.service.js +139 -86
  417. package/dist/orgs/settings.controller.d.ts +1 -1
  418. package/dist/orgs/settings.controller.js +8 -6
  419. package/dist/orgs/settings.service.d.ts +16 -10
  420. package/dist/orgs/settings.service.js +77 -48
  421. package/dist/overrides.d.ts +56 -0
  422. package/dist/overrides.js +30 -0
  423. package/dist/roles/gateway-role.d.ts +43 -0
  424. package/dist/roles/gateway-role.js +98 -0
  425. package/dist/roles/gateway.module.d.ts +8 -0
  426. package/dist/roles/gateway.module.js +28 -0
  427. package/dist/roles/worker-role.d.ts +63 -0
  428. package/dist/roles/worker-role.js +144 -0
  429. package/dist/roles/worker.module.d.ts +14 -0
  430. package/dist/roles/worker.module.js +90 -0
  431. package/dist/runtime/abort.js +19 -2
  432. package/dist/runtime/checkpointer.d.ts +8 -3
  433. package/dist/runtime/checkpointer.js +87 -55
  434. package/dist/runtime/context/build.d.ts +6 -6
  435. package/dist/runtime/context/build.js +18 -8
  436. package/dist/runtime/context/claude-tools.d.ts +2 -1
  437. package/dist/runtime/context/claude-tools.js +9 -10
  438. package/dist/runtime/context/legacy-text.d.ts +22 -0
  439. package/dist/runtime/context/legacy-text.js +37 -0
  440. package/dist/runtime/context/skills.d.ts +29 -11
  441. package/dist/runtime/context/skills.js +37 -30
  442. package/dist/runtime/conversation-lock.d.ts +20 -11
  443. package/dist/runtime/conversation-lock.js +62 -72
  444. package/dist/runtime/hook-calls.d.ts +3 -3
  445. package/dist/runtime/hook-calls.js +1 -6
  446. package/dist/runtime/job-ids.d.ts +10 -0
  447. package/dist/runtime/job-ids.js +10 -0
  448. package/dist/runtime/langgraph-loop.js +1 -1
  449. package/dist/runtime/loop.d.ts +8 -1
  450. package/dist/runtime/loop.js +14 -0
  451. package/dist/runtime/maintenance-queue.d.ts +10 -0
  452. package/dist/runtime/maintenance-queue.js +10 -0
  453. package/dist/runtime/maintenance.d.ts +45 -74
  454. package/dist/runtime/maintenance.js +139 -137
  455. package/dist/runtime/model-call.d.ts +7 -4
  456. package/dist/runtime/model-call.js +25 -58
  457. package/dist/runtime/providers.d.ts +17 -6
  458. package/dist/runtime/providers.js +66 -25
  459. package/dist/runtime/quota.d.ts +17 -3
  460. package/dist/runtime/quota.js +27 -2
  461. package/dist/runtime/retired-schedulers.d.ts +7 -0
  462. package/dist/runtime/retired-schedulers.js +31 -0
  463. package/dist/runtime/run-control.d.ts +33 -0
  464. package/dist/runtime/run-control.js +77 -0
  465. package/dist/runtime/run-finish.d.ts +27 -18
  466. package/dist/runtime/run-finish.js +98 -51
  467. package/dist/runtime/run-jobs.d.ts +48 -0
  468. package/dist/runtime/run-jobs.js +95 -0
  469. package/dist/runtime/run-processors.d.ts +60 -0
  470. package/dist/runtime/run-processors.js +185 -0
  471. package/dist/runtime/run-queue.d.ts +32 -57
  472. package/dist/runtime/run-queue.js +291 -295
  473. package/dist/runtime/run-steps.d.ts +39 -0
  474. package/dist/runtime/run-steps.js +96 -0
  475. package/dist/runtime/run-worker.d.ts +122 -76
  476. package/dist/runtime/run-worker.js +343 -229
  477. package/dist/runtime/runtime.module.d.ts +10 -0
  478. package/dist/runtime/runtime.module.js +112 -0
  479. package/dist/runtime/step-log.d.ts +40 -0
  480. package/dist/runtime/step-log.js +94 -0
  481. package/dist/runtime/stream.controller.d.ts +5 -8
  482. package/dist/runtime/stream.controller.js +14 -12
  483. package/dist/runtime/stream.d.ts +24 -6
  484. package/dist/runtime/stream.js +78 -7
  485. package/dist/runtime/subagents/child.d.ts +3 -44
  486. package/dist/runtime/subagents/child.js +0 -79
  487. package/dist/runtime/subagents/definition.d.ts +5 -10
  488. package/dist/runtime/subagents/definition.js +13 -14
  489. package/dist/runtime/subagents/dispatch.d.ts +89 -8
  490. package/dist/runtime/subagents/dispatch.js +137 -142
  491. package/dist/runtime/subagents/limits.d.ts +9 -4
  492. package/dist/runtime/subagents/limits.js +4 -2
  493. package/dist/runtime/subagents/org-agents.d.ts +4 -4
  494. package/dist/runtime/subagents/org-agents.js +3 -2
  495. package/dist/runtime/subagents/progress.d.ts +2 -2
  496. package/dist/runtime/subagents/roster.d.ts +4 -4
  497. package/dist/runtime/subagents/roster.js +2 -2
  498. package/dist/runtime/subagents/skill-fork.d.ts +8 -9
  499. package/dist/runtime/subagents/skill-fork.js +17 -6
  500. package/dist/runtime/subagents/subagents.service.d.ts +40 -0
  501. package/dist/runtime/subagents/subagents.service.js +101 -0
  502. package/dist/runtime/usage-report.d.ts +94 -52
  503. package/dist/runtime/usage-report.js +200 -100
  504. package/dist/runtime/waits.d.ts +127 -59
  505. package/dist/runtime/waits.js +433 -210
  506. package/dist/sandbox/job-ids.d.ts +10 -0
  507. package/dist/sandbox/job-ids.js +10 -0
  508. package/dist/sandbox/jobs.d.ts +41 -0
  509. package/dist/sandbox/jobs.js +113 -0
  510. package/dist/sandbox/leases.d.ts +39 -31
  511. package/dist/sandbox/leases.js +117 -257
  512. package/dist/sandbox/providers.d.ts +19 -0
  513. package/dist/sandbox/providers.js +38 -0
  514. package/dist/sandbox/sandbox.module.d.ts +8 -0
  515. package/dist/sandbox/sandbox.module.js +30 -0
  516. package/dist/sandbox/sandbox.service.d.ts +24 -29
  517. package/dist/sandbox/sandbox.service.js +106 -75
  518. package/dist/skills/catalog.d.ts +37 -24
  519. package/dist/skills/catalog.js +100 -57
  520. package/dist/skills/changes.controller.d.ts +4 -4
  521. package/dist/skills/changes.controller.js +15 -9
  522. package/dist/skills/changes.service.d.ts +30 -20
  523. package/dist/skills/changes.service.js +425 -367
  524. package/dist/skills/invocable.controller.d.ts +1 -1
  525. package/dist/skills/invocable.controller.js +8 -5
  526. package/dist/skills/invocation-keys.d.ts +1 -1
  527. package/dist/skills/invocation-keys.js +1 -1
  528. package/dist/skills/invoke.d.ts +17 -16
  529. package/dist/skills/invoke.js +53 -21
  530. package/dist/skills/skills.controller.d.ts +1 -1
  531. package/dist/skills/skills.controller.js +11 -6
  532. package/dist/skills/skills.module.d.ts +6 -0
  533. package/dist/skills/skills.module.js +30 -0
  534. package/dist/skills/skills.service.d.ts +47 -30
  535. package/dist/skills/skills.service.js +221 -158
  536. package/dist/storage/job-ids.d.ts +6 -0
  537. package/dist/storage/job-ids.js +6 -0
  538. package/dist/storage/purge.d.ts +22 -7
  539. package/dist/storage/purge.js +55 -3
  540. package/dist/storage/storage.module.d.ts +6 -0
  541. package/dist/storage/storage.module.js +23 -0
  542. package/dist/storage/storage.service.d.ts +18 -4
  543. package/dist/storage/storage.service.js +44 -3
  544. package/dist/tools/approvals.controller.d.ts +1 -1
  545. package/dist/tools/approvals.controller.js +12 -8
  546. package/dist/tools/approvals.service.d.ts +33 -25
  547. package/dist/tools/approvals.service.js +343 -259
  548. package/dist/tools/breaker.d.ts +2 -2
  549. package/dist/tools/breaker.js +21 -3
  550. package/dist/tools/builtin-names.d.ts +73 -0
  551. package/dist/tools/builtin-names.js +116 -0
  552. package/dist/tools/builtins/agent.d.ts +7 -7
  553. package/dist/tools/builtins/agent.js +7 -11
  554. package/dist/tools/builtins/ask-user.d.ts +3 -3
  555. package/dist/tools/builtins/ask-user.js +3 -3
  556. package/dist/tools/builtins/builtin-tools.d.ts +21 -0
  557. package/dist/tools/builtins/builtin-tools.js +80 -0
  558. package/dist/tools/builtins/read-tool-output.d.ts +3 -3
  559. package/dist/tools/builtins/read-tool-output.js +3 -3
  560. package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
  561. package/dist/tools/builtins/sandbox/bash.js +33 -30
  562. package/dist/tools/builtins/sandbox/common.d.ts +5 -4
  563. package/dist/tools/builtins/sandbox/common.js +2 -2
  564. package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
  565. package/dist/tools/builtins/sandbox/deliver.js +13 -13
  566. package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
  567. package/dist/tools/builtins/sandbox/edit.js +42 -31
  568. package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
  569. package/dist/tools/builtins/sandbox/file-state.js +34 -0
  570. package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
  571. package/dist/tools/builtins/sandbox/glob-match.js +1 -1
  572. package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
  573. package/dist/tools/builtins/sandbox/glob.js +6 -6
  574. package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
  575. package/dist/tools/builtins/sandbox/grep.js +149 -32
  576. package/dist/tools/builtins/sandbox/index.d.ts +1 -1
  577. package/dist/tools/builtins/sandbox/index.js +1 -1
  578. package/dist/tools/builtins/sandbox/read.d.ts +2 -2
  579. package/dist/tools/builtins/sandbox/read.js +22 -15
  580. package/dist/tools/builtins/sandbox/write.d.ts +1 -1
  581. package/dist/tools/builtins/sandbox/write.js +38 -34
  582. package/dist/tools/builtins/skill-load.d.ts +6 -6
  583. package/dist/tools/builtins/skill-load.js +33 -17
  584. package/dist/tools/builtins/skill-write.d.ts +4 -4
  585. package/dist/tools/builtins/skill-write.js +10 -10
  586. package/dist/tools/builtins/tool-search.d.ts +13 -9
  587. package/dist/tools/builtins/tool-search.js +25 -14
  588. package/dist/tools/canonical-json.d.ts +6 -0
  589. package/dist/tools/canonical-json.js +16 -0
  590. package/dist/tools/connector-content.controller.d.ts +1 -1
  591. package/dist/tools/connector-content.controller.js +11 -6
  592. package/dist/tools/connector-content.d.ts +12 -15
  593. package/dist/tools/connector-content.js +53 -18
  594. package/dist/tools/connectors.controller.d.ts +1 -1
  595. package/dist/tools/connectors.controller.js +21 -10
  596. package/dist/tools/connectors.service.d.ts +31 -13
  597. package/dist/tools/connectors.service.js +438 -348
  598. package/dist/tools/credentials.d.ts +17 -20
  599. package/dist/tools/credentials.js +55 -34
  600. package/dist/tools/display-names.d.ts +9 -0
  601. package/dist/tools/display-names.js +24 -0
  602. package/dist/tools/drift.d.ts +29 -41
  603. package/dist/tools/drift.js +116 -84
  604. package/dist/tools/elicitation.js +1 -1
  605. package/dist/tools/info.d.ts +32 -13
  606. package/dist/tools/info.js +88 -39
  607. package/dist/tools/job-ids.d.ts +13 -0
  608. package/dist/tools/job-ids.js +15 -0
  609. package/dist/tools/jobs.d.ts +24 -0
  610. package/dist/tools/jobs.js +69 -0
  611. package/dist/tools/legacy-data.d.ts +34 -0
  612. package/dist/tools/legacy-data.js +76 -0
  613. package/dist/tools/legacy-keys.d.ts +51 -0
  614. package/dist/tools/legacy-keys.js +115 -0
  615. package/dist/tools/naming.d.ts +1 -5
  616. package/dist/tools/naming.js +1 -7
  617. package/dist/tools/oauth/flow-paths.d.ts +16 -0
  618. package/dist/tools/oauth/flow-paths.js +38 -0
  619. package/dist/tools/oauth/flow.d.ts +30 -30
  620. package/dist/tools/oauth/flow.js +109 -81
  621. package/dist/tools/oauth/oauth.controller.d.ts +3 -3
  622. package/dist/tools/oauth/oauth.controller.js +12 -9
  623. package/dist/tools/oauth/tokens.d.ts +11 -3
  624. package/dist/tools/oauth/tokens.js +15 -14
  625. package/dist/tools/outputs.d.ts +13 -4
  626. package/dist/tools/outputs.js +48 -4
  627. package/dist/tools/pipeline.d.ts +72 -50
  628. package/dist/tools/pipeline.js +239 -100
  629. package/dist/tools/policy.d.ts +3 -16
  630. package/dist/tools/policy.js +13 -19
  631. package/dist/tools/questions.controller.d.ts +2 -2
  632. package/dist/tools/questions.controller.js +9 -6
  633. package/dist/tools/questions.service.d.ts +26 -25
  634. package/dist/tools/questions.service.js +201 -142
  635. package/dist/tools/registry.d.ts +43 -38
  636. package/dist/tools/registry.js +100 -72
  637. package/dist/tools/resources.d.ts +1 -1
  638. package/dist/tools/resources.js +1 -1
  639. package/dist/tools/specs.d.ts +5 -4
  640. package/dist/tools/specs.js +3 -1
  641. package/dist/tools/tools.module.d.ts +10 -0
  642. package/dist/tools/tools.module.js +91 -0
  643. package/dist/ui/call-extension.d.ts +16 -0
  644. package/dist/ui/call-extension.js +38 -0
  645. package/dist/ui/embed-token.d.ts +9 -5
  646. package/dist/ui/embed-token.js +34 -6
  647. package/dist/ui/ui-stream.d.ts +22 -17
  648. package/dist/ui/ui-stream.js +72 -12
  649. package/dist/ui/ui.module.d.ts +7 -0
  650. package/dist/ui/ui.module.js +28 -0
  651. package/dist/ui/views.controller.d.ts +14 -12
  652. package/dist/ui/views.controller.js +32 -25
  653. package/dist/ui/views.d.ts +9 -57
  654. package/dist/ui/views.js +43 -45
  655. package/package.json +10 -3
  656. package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
  657. package/dist/http/health.controller.d.ts +0 -26
  658. package/dist/http/health.controller.js +0 -79
  659. package/dist/http/tokens.d.ts +0 -131
  660. package/dist/http/tokens.js +0 -131
  661. package/dist/http/zod.pipe.d.ts +0 -8
  662. package/dist/http/zod.pipe.js +0 -14
  663. package/dist/identity/rate-limit.d.ts +0 -55
  664. package/dist/identity/rate-limit.js +0 -121
  665. package/dist/sandbox/lifecycle.d.ts +0 -21
  666. package/dist/sandbox/lifecycle.js +0 -68
  667. package/dist/tools/builtins/sandbox/names.d.ts +0 -7
  668. package/dist/tools/builtins/sandbox/names.js +0 -20
  669. /package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +0 -0
  670. /package/dist/http/{gateway.module.js → gateway-routes.js} +0 -0
package/dist/app.js ADDED
@@ -0,0 +1,150 @@
1
+ import "reflect-metadata";
2
+ import { NestFactory } from "@nestjs/core";
3
+ import { createKernelAdapter } from "./http/adapter.js";
4
+ import { createHttpApp } from "./http/app.js";
5
+ import { NestLogAdapter } from "./http/nest-logger.js";
6
+ import { GracefulShutdown } from "./infra/lifecycle/graceful-shutdown.service.js";
7
+ import { handleShutdownSignals, } from "./infra/lifecycle/shutdown-signals.js";
8
+ import { setupSwagger } from "./infra/swagger/swagger.js";
9
+ import { KernelModule } from "./kernel.module.js";
10
+ import { KernelLifecycle } from "./lifecycle/kernel-lifecycle.js";
11
+ import { createConfiguredLogger } from "./log-config.js";
12
+ /**
13
+ * Builds the kernel application (one Nest application, root module {@link KernelModule}) and sets
14
+ * up its HTTP side, without initializing it: nothing connects and nothing starts. A failure
15
+ * releases what was created (Redis connections, the pool) before it is thrown. Internal (not
16
+ * exported from the package): {@link startKernelApp} and the kernel's own tests that need the
17
+ * application before its start; everything else uses {@link createKernelApp}.
18
+ */
19
+ export async function buildKernelApp(config, options = {}) {
20
+ const logger = options.logger ?? createConfiguredLogger(config);
21
+ const app = await NestFactory.create(KernelModule.forRoot(config, { ...options, logger }), createKernelAdapter(config.http.trustProxy), { logger: new NestLogAdapter(logger), abortOnError: false });
22
+ const lifecycle = app.get(KernelLifecycle);
23
+ const gateway = lifecycle.gatewayRoutes();
24
+ try {
25
+ lifecycle.attachHttp(await createHttpApp({
26
+ log: logger,
27
+ servePlugins: config.roles.includes("api") || config.roles.includes("gateway"),
28
+ ...(gateway !== undefined && { gateway }),
29
+ replicaId: config.http.replicaId === undefined ? undefined : String(config.http.replicaId),
30
+ packageMaxBytes: config.packages.maxBytes,
31
+ }, app));
32
+ setupSwagger(app, config.http.swagger);
33
+ }
34
+ catch (e) {
35
+ // Nothing started: only release the connections (the stop phases are skipped)
36
+ lifecycle.releaseOnly();
37
+ await app.close();
38
+ throw e;
39
+ }
40
+ return app;
41
+ }
42
+ const closing = new WeakMap();
43
+ /**
44
+ * Closes a kernel application once (later calls get the same promise): the stop phases begin at
45
+ * once (`KernelLifecycle.stop`: readiness 503, the start aborted at its next checkpoint), next to
46
+ * `app.close()`, which runs the shutdown hooks (the stop phases are the same promise, then Redis
47
+ * and the pool). Use it to stop an application from {@link createKernelApp} /
48
+ * {@link startKernelApp} (tests, `@capybara-hq/testing`), so the stop begins before Nest's
49
+ * `onModuleDestroy` hooks run.
50
+ */
51
+ export function closeKernelApp(app) {
52
+ let p = closing.get(app);
53
+ if (p === undefined) {
54
+ p = Promise.all([app.get(KernelLifecycle).stop(), app.close()]).then(() => { });
55
+ closing.set(app, p);
56
+ }
57
+ return p;
58
+ }
59
+ /**
60
+ * Initializes a built kernel application: `init()` runs the start sequence
61
+ * (`KernelLifecycle.onApplicationBootstrap`). A failure (unless the shutdown began meanwhile) is
62
+ * logged; either way the application is closed (the stop phases, then Redis and the pool) before
63
+ * the error is thrown.
64
+ */
65
+ async function initKernelApp(app) {
66
+ try {
67
+ await app.init();
68
+ }
69
+ catch (e) {
70
+ if (!app.get(GracefulShutdown).isShuttingDown()) {
71
+ app.get(KernelLifecycle).log.error("kernel start failed", { err: e });
72
+ }
73
+ await closeKernelApp(app);
74
+ throw e;
75
+ }
76
+ }
77
+ /**
78
+ * Creates the kernel application and runs its start sequence (nest kernel spec §4): Redis,
79
+ * migrations, the official marketplace, the bootstrap step, the extension load, the role parts,
80
+ * extension routes, the lifecycle reconcile and the config watch. Does not listen and installs no
81
+ * process-wide handler.
82
+ */
83
+ export async function createKernelApp(config, options = {}) {
84
+ const app = await buildKernelApp(config, options);
85
+ await initKernelApp(app);
86
+ return app;
87
+ }
88
+ /**
89
+ * Builds the kernel application, installs the SIGTERM / SIGINT handlers
90
+ * ({@link handleShutdownSignals}), runs the start sequence and listens on `config.http.port`:
91
+ * nothing is served before the start sequence finished. The handlers are installed before the
92
+ * start, so a signal during it aborts the start at its next checkpoint and closes the application
93
+ * cleanly; this function then rejects once the signal path has exited (with 0). A second signal
94
+ * exits with 1 at once. A failed build or start is logged (`kernel start failed`) before it is
95
+ * thrown.
96
+ */
97
+ export async function startKernelApp(config, options = {}, signalOptions = {}) {
98
+ const logger = options.logger ?? createConfiguredLogger(config);
99
+ let app;
100
+ try {
101
+ app = await buildKernelApp(config, { ...options, logger });
102
+ }
103
+ catch (e) {
104
+ // Nothing to stop (the build released what it created); the process entry only sees the error
105
+ logger.error("kernel start failed", { err: e });
106
+ throw e;
107
+ }
108
+ await startBuiltKernelApp(app, config, signalOptions);
109
+ return app;
110
+ }
111
+ /**
112
+ * The start half of {@link startKernelApp} for an application from {@link buildKernelApp}: installs
113
+ * the signal handlers, runs the start sequence and listens on `config.http.port`. Internal (not
114
+ * exported from the package): {@link startKernelApp} and the kernel's own tests that need the
115
+ * application before its start.
116
+ */
117
+ export async function startBuiltKernelApp(app, config, signalOptions = {}) {
118
+ const lifecycle = app.get(KernelLifecycle);
119
+ const signals = handleShutdownSignals(() => closeKernelApp(app), lifecycle.log, signalOptions);
120
+ try {
121
+ await initKernelApp(app);
122
+ try {
123
+ await lifecycle.listen(config.http.port);
124
+ }
125
+ catch (e) {
126
+ if (!app.get(GracefulShutdown).isShuttingDown()) {
127
+ lifecycle.log.error("kernel start failed", { err: e });
128
+ }
129
+ await closeKernelApp(app);
130
+ throw e;
131
+ }
132
+ }
133
+ catch (e) {
134
+ // Stopped by a signal: the signal path closes and exits; otherwise nothing is left to stop
135
+ const exiting = signals.exiting();
136
+ if (exiting)
137
+ await exiting;
138
+ else
139
+ signals.dispose();
140
+ throw e;
141
+ }
142
+ }
143
+ /** The in-process HTTP of a kernel application (`inject`, the route list). */
144
+ export function kernelAppHttp(app) {
145
+ return app.get(KernelLifecycle).http;
146
+ }
147
+ /** The port a kernel application listens on; undefined before it listens and after the stop. */
148
+ export function kernelAppPort(app) {
149
+ return app.get(KernelLifecycle).port;
150
+ }
@@ -2,9 +2,9 @@ import type { FastifyReply } from "fastify";
2
2
  import { z } from "zod";
3
3
  import type { AdminExtensionView } from "../extensions/permission-view.js";
4
4
  import { type Principal } from "../identity/principal.js";
5
- import { type CatalogItemDetail, type CatalogItemView, type CatalogService, type PermissionsMismatch } from "./catalog.service.js";
6
- import type { OrgCatalogService } from "./org-catalog.service.js";
7
- import type { PluginConfirmResult, PluginImport, PluginReview } from "./plugin-import.js";
5
+ import { type CatalogItemDetail, type CatalogItemView, CatalogService, type PermissionsMismatch } from "./catalog.service.js";
6
+ import { OrgCatalogService } from "./org-catalog.service.js";
7
+ import { type PluginConfirmResult, PluginImport, type PluginReview } from "./plugin-import.js";
8
8
  declare const NpmBody: z.ZodObject<{
9
9
  package: z.ZodString;
10
10
  version: z.ZodOptional<z.ZodString>;
@@ -7,14 +7,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __param = (this && this.__param) || function (paramIndex, decorator) {
8
8
  return function (target, key) { decorator(target, key, paramIndex); }
9
9
  };
10
- import { Body, Controller, Delete, Get, HttpCode, Inject, Param, Post, Put, Query, Req, Res, } from "@nestjs/common";
10
+ import { Controller, Delete, Get, HttpCode, Inject, Param, Post, Put, Req, Res, } from "@nestjs/common";
11
11
  import { z } from "zod";
12
12
  import { ApiError } from "../errors.js";
13
- import { CATALOG, ORG_CATALOG, PLUGIN_IMPORT } from "../http/tokens.js";
14
- import { ZodPipe } from "../http/zod.pipe.js";
15
13
  import { CurrentPrincipal, EnterpriseAdmin, patTokenId, requireUser, } from "../identity/principal.js";
16
- import { CATALOG_LIST_MAX_LIMIT, } from "./catalog.service.js";
14
+ import { createZodDto } from "../infra/validation/create-zod-dto.js";
15
+ import { ZBody, ZQuery } from "../infra/validation/zod-params.js";
16
+ import { CATALOG_LIST_MAX_LIMIT, CatalogService, } from "./catalog.service.js";
17
17
  import { sendCatalogIcon } from "./org-catalog.controller.js";
18
+ import { OrgCatalogService } from "./org-catalog.service.js";
19
+ import { PluginImport } from "./plugin-import.js";
18
20
  const NpmBody = z.object({
19
21
  package: z.string().min(1).max(214),
20
22
  version: z.string().min(1).max(256).optional(),
@@ -43,6 +45,18 @@ const actorOpts = (actor) => {
43
45
  const tokenId = patTokenId(actor);
44
46
  return tokenId !== undefined ? { actorTokenId: tokenId } : {};
45
47
  };
48
+ class CatalogImportConfirmBody extends createZodDto(ConfirmBody, "CatalogImportConfirmBody") {
49
+ }
50
+ class CatalogGitImportBody extends createZodDto(GitBody, "CatalogGitImportBody") {
51
+ }
52
+ class CatalogDeploymentInstallBody extends createZodDto(InstallBody, "CatalogDeploymentInstallBody") {
53
+ }
54
+ class CatalogItemsQuery extends createZodDto(ListQuery, "CatalogItemsQuery") {
55
+ }
56
+ class CatalogNpmImportBody extends createZodDto(NpmBody, "CatalogNpmImportBody") {
57
+ }
58
+ class CatalogPolicyBody extends createZodDto(PolicyBody, "CatalogPolicyBody") {
59
+ }
46
60
  /**
47
61
  * The enterprise catalog (`/api/v1/admin/catalog/*`, enterprise admins): plugin import (upload / npm
48
62
  * prepare, then confirm), the item list and detail, policy, delete, and installing an item's
@@ -184,13 +198,13 @@ __decorate([
184
198
  Post("import/npm"),
185
199
  HttpCode(200),
186
200
  __param(0, CurrentPrincipal()),
187
- __param(1, Body(new ZodPipe(NpmBody)))
201
+ __param(1, ZBody(CatalogNpmImportBody))
188
202
  ], AdminCatalogController.prototype, "importNpm", null);
189
203
  __decorate([
190
204
  Post("import/git"),
191
205
  HttpCode(200),
192
206
  __param(0, CurrentPrincipal()),
193
- __param(1, Body(new ZodPipe(GitBody)))
207
+ __param(1, ZBody(CatalogGitImportBody))
194
208
  ], AdminCatalogController.prototype, "importGit", null);
195
209
  __decorate([
196
210
  Get("imports/:stagingId"),
@@ -201,11 +215,11 @@ __decorate([
201
215
  HttpCode(201),
202
216
  __param(0, CurrentPrincipal()),
203
217
  __param(1, Param("stagingId")),
204
- __param(2, Body(new ZodPipe(ConfirmBody)))
218
+ __param(2, ZBody(CatalogImportConfirmBody))
205
219
  ], AdminCatalogController.prototype, "confirm", null);
206
220
  __decorate([
207
221
  Get("items"),
208
- __param(0, Query(new ZodPipe(ListQuery)))
222
+ __param(0, ZQuery(CatalogItemsQuery))
209
223
  ], AdminCatalogController.prototype, "list", null);
210
224
  __decorate([
211
225
  Get("items/:id"),
@@ -220,7 +234,7 @@ __decorate([
220
234
  Put("items/:id/policy"),
221
235
  __param(0, CurrentPrincipal()),
222
236
  __param(1, Param("id")),
223
- __param(2, Body(new ZodPipe(PolicyBody)))
237
+ __param(2, ZBody(CatalogPolicyBody))
224
238
  ], AdminCatalogController.prototype, "setPolicy", null);
225
239
  __decorate([
226
240
  Delete("items/:id"),
@@ -233,13 +247,13 @@ __decorate([
233
247
  HttpCode(200),
234
248
  __param(0, CurrentPrincipal()),
235
249
  __param(1, Param("id")),
236
- __param(2, Body(new ZodPipe(InstallBody)))
250
+ __param(2, ZBody(CatalogDeploymentInstallBody))
237
251
  ], AdminCatalogController.prototype, "installToDeployment", null);
238
252
  AdminCatalogController = __decorate([
239
253
  Controller("api/v1/admin/catalog"),
240
254
  EnterpriseAdmin(),
241
- __param(0, Inject(CATALOG)),
242
- __param(1, Inject(PLUGIN_IMPORT)),
243
- __param(2, Inject(ORG_CATALOG))
255
+ __param(0, Inject(CatalogService)),
256
+ __param(1, Inject(PluginImport)),
257
+ __param(2, Inject(OrgCatalogService))
244
258
  ], AdminCatalogController);
245
259
  export { AdminCatalogController };
@@ -0,0 +1,185 @@
1
+ import { type AgentTemplate, type Connector, type ConnectorTemplateFile, type ConnectorTemplateSpec, type LocalizedName, type PluginManifest } from "@capybara-hq/plugin-sdk";
2
+ import type { KernelSchemaDb } from "../db/kernel-schema.js";
3
+ import type { ExtensionRegistry } from "../extensions/registry.js";
4
+ import type { OrgLock } from "../orgs/org-lock.js";
5
+ import { type OrgAction } from "../orgs/roles.js";
6
+ import { checkSkillFiles, type SkillPackageFile } from "../skills/package.js";
7
+ import type { StorageService } from "../storage/storage.service.js";
8
+ import type { ConnectorTemplateRef, CreateConnectorInput } from "../tools/connectors.service.js";
9
+ import type { CatalogItemView } from "./catalog.service.js";
10
+ import type { ConnectorInstallInput, PluginInstallInput, PluginInstallView } from "./plugin-install.js";
11
+ import type { CatalogRequestView } from "./requests.service.js";
12
+ /** A catalog item from an organization's view (`GET /orgs/:orgId/catalog`). */
13
+ export interface OrgCatalogItem extends Omit<CatalogItemView, "installs" | "marketplaceId" | "latestMarketplaceVersion" | "newerInMarketplace"> {
14
+ /**
15
+ * `yes` installable now; `needs_approval` needs enterprise admin approval (install returns 202 and
16
+ * creates a request); `granted` approved for this org; `disabled` disabled by the enterprise admin
17
+ * (members don't see it); `not_deployed` the plugin's extension is not on the deployment.
18
+ */
19
+ installable: "yes" | "needs_approval" | "granted" | "disabled" | "not_deployed";
20
+ /**
21
+ * This org's live plugin install of the item (installing, installed or upgrading);
22
+ * `upgradeAvailable` is the version it can be upgraded to now (spec §10), null when none.
23
+ */
24
+ installed: {
25
+ pluginInstallId: string;
26
+ version: string;
27
+ upgradeAvailable: string | null;
28
+ } | null;
29
+ /** This org's latest request for the item. */
30
+ request: {
31
+ id: string;
32
+ stage: "org" | "deployment";
33
+ status: string;
34
+ } | null;
35
+ }
36
+ /**
37
+ * One connector template in an item's detail (for the install wizard): the endpoint preset, the
38
+ * paths an org may edit and the auth preset (no credentials). `id` is the template file's base name,
39
+ * sent as `connectors[id]` in the install body.
40
+ */
41
+ export interface OrgCatalogTemplate {
42
+ id: string;
43
+ displayName: LocalizedName | null;
44
+ description: string;
45
+ plugin: string;
46
+ connector: string;
47
+ endpoint: Record<string, unknown>;
48
+ editableEndpoint: string[];
49
+ auth: Record<string, unknown>;
50
+ ownership: "org" | "personal" | null;
51
+ }
52
+ /** `GET /orgs/:orgId/catalog/:itemId`: the item and what the install wizard needs (latest version). */
53
+ export interface OrgCatalogDetail {
54
+ item: OrgCatalogItem;
55
+ /** The latest version has an icon (`GET .../icon`). */
56
+ hasIcon: boolean;
57
+ /** The plugin's extension (its name), null without one. */
58
+ extension: string | null;
59
+ templates: OrgCatalogTemplate[];
60
+ /** The plugin's dependencies (name and range). */
61
+ dependencies: {
62
+ name: string;
63
+ range: string;
64
+ }[];
65
+ /** The skill directories. */
66
+ skills: string[];
67
+ /** The agent template files (`agents/<name>.md`, sub-agents spec §16). */
68
+ agents: string[];
69
+ }
70
+ /**
71
+ * A connector template as an org sees it (the install wizard and the upgrade preview's inputs):
72
+ * presets and editable paths, no credentials.
73
+ */
74
+ export declare function orgTemplateView(id: string, file: ConnectorTemplateFile): OrgCatalogTemplate;
75
+ /** An item's icon (the latest version's plugin icon). */
76
+ export interface CatalogIcon {
77
+ data: Uint8Array;
78
+ contentType: "image/svg+xml" | "image/png";
79
+ policy: "allow" | "needs_approval" | "disabled";
80
+ }
81
+ /** The parts of a catalog version row an org install reads. */
82
+ export interface CatalogVersionFiles {
83
+ manifest: unknown;
84
+ object_prefix: string | null;
85
+ files: {
86
+ path: string;
87
+ size: number;
88
+ sha256: string;
89
+ }[];
90
+ }
91
+ /** Whether the item's latest version has an icon; unreadable counts as none. */
92
+ export declare function catalogHasIcon(db: KernelSchemaDb, itemId: string): Promise<boolean>;
93
+ /**
94
+ * Reads the icon of the item's latest version (served only through kernel routes, with nosniff and
95
+ * a CSP sandbox in the response headers; the web only shows it with `<img>`). Item missing, deleted
96
+ * or (when `includeDisabled` is false) disabled -> `catalog.item_not_found` (decided before reading
97
+ * storage); no icon -> `catalog.icon_not_found`; stored content that is not a valid svg / png
98
+ * (checked at import, this guards against tampered storage) -> `internal`.
99
+ */
100
+ export declare function readCatalogIcon(db: KernelSchemaDb, storage: StorageService, itemId: string, includeDisabled: boolean): Promise<CatalogIcon>;
101
+ export type { ConnectorInstallInput };
102
+ /** The input of `POST /orgs/:orgId/catalog/:itemId/install` (default version: the latest). */
103
+ export interface OrgInstallInput extends PluginInstallInput {
104
+ version?: string;
105
+ }
106
+ /** Install result: 201 installed; 202 needs enterprise admin approval, a request was created (or escalated). */
107
+ export type OrgInstallResult = {
108
+ status: 201;
109
+ installed: {
110
+ itemId: string;
111
+ version: string;
112
+ pluginInstallId: string;
113
+ };
114
+ /** The install view (its components, dependency installs included). */
115
+ install: PluginInstallView;
116
+ } | {
117
+ status: 202;
118
+ request: CatalogRequestView;
119
+ };
120
+ /** Upgrade result: 200 upgraded (the install view); 202 needs enterprise admin approval, a request was created. */
121
+ export type OrgUpgradeResult = {
122
+ status: 200;
123
+ install: PluginInstallView;
124
+ } | {
125
+ status: 202;
126
+ request: CatalogRequestView;
127
+ };
128
+ /**
129
+ * The org actions installing / uninstalling a plugin needs: the union over its components (an
130
+ * extension -> `org.extensions.manage`, skills -> `skills.manage`, connector templates ->
131
+ * `connectors.manage`, agent templates -> `agents.manage`), re-checked inside the org row lock.
132
+ */
133
+ export declare function requiredActions(m: PluginManifest): OrgAction[];
134
+ /** Locks the org row in the caller's transaction (`orgLock` joins it) and re-checks the actor can do every action (else `forbidden`). */
135
+ export declare function lockOrgForActions(orgLock: Pick<OrgLock, "lockAndAuthorize">, orgId: string, actor: string, actions: OrgAction[]): Promise<void>;
136
+ /** The value at a dot path of `v` (own keys only), undefined when absent. */
137
+ export declare function getPath(v: unknown, path: string): unknown;
138
+ /** Sets the value at a dot path of `obj`, creating the objects on the way. */
139
+ export declare function setPath(obj: Record<string, unknown>, path: string, value: unknown): void;
140
+ /** The connector `kind` provided by extension `plugin` loaded on this replica (from the registry). */
141
+ export declare function findConnectorIn(registry: Pick<ExtensionRegistry, "list">, plugin: string, kind: string): Connector | undefined;
142
+ /** What checking a template's connector extension needs. */
143
+ export interface TemplateDeps {
144
+ /** The connector `kind` provided by extension `plugin` loaded on this replica. */
145
+ findConnector: (plugin: string, kind: string) => Connector | undefined;
146
+ /** The version of an extension loaded on this replica (undefined when not loaded). */
147
+ pluginVersion: (plugin: string) => string | undefined;
148
+ }
149
+ /**
150
+ * 模板的连接器插件此刻是否可用:插件加载且提供该 kind,并满足 `pluginVersion`(若写了);不可用返回原因
151
+ * (模型不可见,给管理员看的英文)。
152
+ */
153
+ export declare function templatePluginProblem(d: TemplateDeps, template: ConnectorTemplateSpec): string | undefined;
154
+ /**
155
+ * Builds the connector install input from a connector template plus what the org filled in (C30):
156
+ * the endpoint comes from the template, only paths listed in `editableEndpoint` (or fields under
157
+ * them) may be changed by the org, changing another path -> `validation_failed`; the auth method
158
+ * comes from the template, the org only gives credentials (static credentials via `credential`,
159
+ * OAuth via `client`). Re-checks the template's plugin, kind and `pluginVersion` against the
160
+ * connectors loaded on this replica right now (unmet -> `catalog.not_deployed`); the endpoint
161
+ * (merged as a whole) schema check, credential pattern check and OAuth URL policy are re-checked by
162
+ * `ConnectorsService.create`.
163
+ */
164
+ export declare function templateConnectorInput(deps: TemplateDeps, template: ConnectorTemplateSpec, ref: ConnectorTemplateRef, input: ConnectorInstallInput | undefined, defaultName: string, at?: string): CreateConnectorInput;
165
+ /** 从部署存储读目录版本里的文件(按版本行的 sha256 校验);`under` 给出时只读该目录下的文件,路径去掉该前缀。 */
166
+ export declare function readCatalogFiles(storage: StorageService, objectPrefix: string | null, files: {
167
+ path: string;
168
+ size: number;
169
+ sha256: string;
170
+ }[], under?: string): Promise<SkillPackageFile[]>;
171
+ /** 校验技能文件并取名字与描述(导入时已校验过;这里防存储被改)。 */
172
+ export declare function skillOf(files: SkillPackageFile[]): ReturnType<typeof checkSkillFiles>;
173
+ /** The connector templates of a catalog version, read from storage (id = the file's base name). */
174
+ export declare function readCatalogTemplates(storage: StorageService, v: CatalogVersionFiles): Promise<{
175
+ id: string;
176
+ file: ConnectorTemplateFile;
177
+ }[]>;
178
+ /**
179
+ * The agent templates of a catalog version (`manifest.agents`, listed explicitly since import),
180
+ * parsed from storage (checked at import; parsed again in case storage was changed).
181
+ */
182
+ export declare function readCatalogAgentTemplates(storage: StorageService, v: CatalogVersionFiles): Promise<{
183
+ path: string;
184
+ template: AgentTemplate;
185
+ }[]>;