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

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 (616) 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 +179 -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 +261 -329
  21. package/dist/agents/definition.d.ts +8 -0
  22. package/dist/agents/definition.js +8 -0
  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 +20 -4
  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 +323 -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/cli.d.ts +3 -2
  42. package/dist/catalog/cli.js +13 -31
  43. package/dist/catalog/job-ids.d.ts +15 -0
  44. package/dist/catalog/job-ids.js +15 -0
  45. package/dist/catalog/jobs.d.ts +27 -0
  46. package/dist/catalog/jobs.js +70 -0
  47. package/dist/catalog/locks.d.ts +24 -0
  48. package/dist/catalog/locks.js +63 -0
  49. package/dist/catalog/marketplaces.controller.d.ts +4 -4
  50. package/dist/catalog/marketplaces.controller.js +22 -11
  51. package/dist/catalog/marketplaces.service.d.ts +30 -13
  52. package/dist/catalog/marketplaces.service.js +330 -256
  53. package/dist/catalog/org-catalog.controller.d.ts +4 -3
  54. package/dist/catalog/org-catalog.controller.js +29 -14
  55. package/dist/catalog/org-catalog.service.d.ts +32 -198
  56. package/dist/catalog/org-catalog.service.js +159 -400
  57. package/dist/catalog/plugin-import.d.ts +73 -34
  58. package/dist/catalog/plugin-import.js +356 -217
  59. package/dist/catalog/plugin-install.d.ts +83 -41
  60. package/dist/catalog/plugin-install.js +421 -269
  61. package/dist/catalog/plugin-upgrade.d.ts +59 -4
  62. package/dist/catalog/plugin-upgrade.js +407 -282
  63. package/dist/catalog/requests.service.d.ts +27 -15
  64. package/dist/catalog/requests.service.js +201 -145
  65. package/dist/catalog/upgrade-targets.d.ts +4 -7
  66. package/dist/channels/actions.d.ts +6 -4
  67. package/dist/channels/actions.js +1 -1
  68. package/dist/channels/cards.d.ts +2 -2
  69. package/dist/channels/channels.module.d.ts +40 -0
  70. package/dist/channels/channels.module.js +128 -0
  71. package/dist/channels/connections.controller.d.ts +1 -1
  72. package/dist/channels/connections.controller.js +11 -6
  73. package/dist/channels/connections.service.d.ts +43 -21
  74. package/dist/channels/connections.service.js +236 -131
  75. package/dist/channels/inbound.d.ts +34 -38
  76. package/dist/channels/inbound.js +107 -41
  77. package/dist/channels/job-ids.d.ts +10 -0
  78. package/dist/channels/job-ids.js +10 -0
  79. package/dist/channels/jobs.d.ts +85 -0
  80. package/dist/channels/jobs.js +157 -0
  81. package/dist/channels/outbound.d.ts +60 -82
  82. package/dist/channels/outbound.js +165 -194
  83. package/dist/channels/supervisor.d.ts +88 -46
  84. package/dist/channels/supervisor.js +230 -132
  85. package/dist/channels/threads.d.ts +29 -8
  86. package/dist/channels/threads.js +71 -13
  87. package/dist/channels/webhook.d.ts +20 -14
  88. package/dist/channels/webhook.js +51 -20
  89. package/dist/config/load.d.ts +3 -2
  90. package/dist/config/load.js +3 -2
  91. package/dist/config/nacos-source.js +11 -2
  92. package/dist/config/schema.d.ts +1 -0
  93. package/dist/config/schema.js +10 -4
  94. package/dist/conversations/access.d.ts +29 -0
  95. package/dist/conversations/access.js +86 -0
  96. package/dist/conversations/artifacts.d.ts +10 -10
  97. package/dist/conversations/artifacts.js +35 -9
  98. package/dist/conversations/attachments.controller.d.ts +1 -1
  99. package/dist/conversations/attachments.controller.js +8 -6
  100. package/dist/conversations/attachments.module.d.ts +7 -0
  101. package/dist/conversations/attachments.module.js +25 -0
  102. package/dist/conversations/attachments.service.d.ts +30 -22
  103. package/dist/conversations/attachments.service.js +119 -46
  104. package/dist/conversations/conversations.controller.d.ts +8 -7
  105. package/dist/conversations/conversations.controller.js +59 -29
  106. package/dist/conversations/conversations.module.d.ts +8 -0
  107. package/dist/conversations/conversations.module.js +69 -0
  108. package/dist/conversations/conversations.service.d.ts +40 -38
  109. package/dist/conversations/conversations.service.js +130 -140
  110. package/dist/conversations/event-log.d.ts +28 -18
  111. package/dist/conversations/event-log.js +74 -27
  112. package/dist/conversations/files.d.ts +10 -10
  113. package/dist/conversations/files.js +37 -11
  114. package/dist/conversations/idem-keys.d.ts +5 -0
  115. package/dist/conversations/idem-keys.js +5 -0
  116. package/dist/conversations/job-ids.d.ts +6 -0
  117. package/dist/conversations/job-ids.js +6 -0
  118. package/dist/conversations/outputs-read.d.ts +11 -11
  119. package/dist/conversations/outputs-read.js +31 -7
  120. package/dist/conversations/queue.d.ts +48 -56
  121. package/dist/conversations/queue.js +13 -289
  122. package/dist/conversations/queue.service.d.ts +60 -0
  123. package/dist/conversations/queue.service.js +343 -0
  124. package/dist/conversations/sandbox-status.d.ts +13 -10
  125. package/dist/conversations/sandbox-status.js +36 -8
  126. package/dist/conversations/titles.d.ts +71 -24
  127. package/dist/conversations/titles.js +159 -63
  128. package/dist/ctx/bus.js +9 -3
  129. package/dist/ctx/create-ctx.d.ts +6 -0
  130. package/dist/ctx/create-ctx.js +7 -9
  131. package/dist/ctx/lock.d.ts +7 -3
  132. package/dist/ctx/lock.js +9 -20
  133. package/dist/ctx/secrets.d.ts +10 -2
  134. package/dist/ctx/secrets.js +7 -3
  135. package/dist/db/kernel-schema.d.ts +2 -2
  136. package/dist/db/pool.d.ts +5 -0
  137. package/dist/db/pool.js +1 -0
  138. package/dist/errors.d.ts +1 -0
  139. package/dist/errors.js +1 -0
  140. package/dist/evals/budget.d.ts +42 -21
  141. package/dist/evals/budget.js +114 -62
  142. package/dist/evals/evals.module.d.ts +31 -0
  143. package/dist/evals/evals.module.js +114 -0
  144. package/dist/evals/jobs.d.ts +20 -0
  145. package/dist/evals/jobs.js +45 -0
  146. package/dist/evals/run-replay.d.ts +56 -8
  147. package/dist/evals/run-replay.js +140 -80
  148. package/dist/evals/runs.controller.d.ts +1 -1
  149. package/dist/evals/runs.controller.js +17 -8
  150. package/dist/evals/runs.service.d.ts +23 -45
  151. package/dist/evals/runs.service.js +245 -234
  152. package/dist/evals/sets.controller.d.ts +1 -1
  153. package/dist/evals/sets.controller.js +17 -8
  154. package/dist/evals/sets.service.d.ts +22 -6
  155. package/dist/evals/sets.service.js +248 -194
  156. package/dist/evals/snapshot.d.ts +2 -2
  157. package/dist/evals/step-replay.d.ts +2 -2
  158. package/dist/evals/step-replay.js +1 -1
  159. package/dist/evals/trajectory.controller.d.ts +1 -1
  160. package/dist/evals/trajectory.controller.js +11 -7
  161. package/dist/evals/trajectory.service.d.ts +5 -4
  162. package/dist/evals/trajectory.service.js +30 -7
  163. package/dist/evals/worker.d.ts +44 -27
  164. package/dist/evals/worker.js +220 -121
  165. package/dist/extensions/admin-ops.d.ts +61 -33
  166. package/dist/extensions/admin-ops.js +248 -154
  167. package/dist/extensions/admin-view.d.ts +38 -27
  168. package/dist/extensions/admin-view.js +126 -55
  169. package/dist/extensions/approvals.d.ts +12 -8
  170. package/dist/extensions/approvals.js +73 -46
  171. package/dist/extensions/blobs.d.ts +27 -10
  172. package/dist/extensions/blobs.js +111 -45
  173. package/dist/extensions/bootstrap.d.ts +58 -31
  174. package/dist/extensions/bootstrap.js +175 -121
  175. package/dist/extensions/cli.d.ts +20 -10
  176. package/dist/extensions/cli.js +41 -96
  177. package/dist/extensions/config-issues.d.ts +7 -0
  178. package/dist/extensions/config-issues.js +31 -0
  179. package/dist/extensions/deployment-config-store.d.ts +49 -0
  180. package/dist/extensions/deployment-config-store.js +133 -0
  181. package/dist/extensions/deployment-config.d.ts +58 -67
  182. package/dist/extensions/deployment-config.js +202 -230
  183. package/dist/extensions/enabled.d.ts +5 -5
  184. package/dist/extensions/extensions.module.d.ts +8 -0
  185. package/dist/extensions/extensions.module.js +77 -0
  186. package/dist/extensions/hooks.d.ts +3 -2
  187. package/dist/extensions/hooks.js +1 -1
  188. package/dist/extensions/host.d.ts +72 -68
  189. package/dist/extensions/host.js +191 -152
  190. package/dist/extensions/installs.d.ts +49 -16
  191. package/dist/extensions/installs.js +128 -32
  192. package/dist/extensions/job-ids.d.ts +6 -0
  193. package/dist/extensions/job-ids.js +6 -0
  194. package/dist/extensions/lifecycle-topics.d.ts +18 -0
  195. package/dist/extensions/lifecycle-topics.js +18 -0
  196. package/dist/extensions/lifecycle.d.ts +35 -47
  197. package/dist/extensions/lifecycle.js +103 -39
  198. package/dist/extensions/locks.d.ts +33 -0
  199. package/dist/extensions/locks.js +86 -0
  200. package/dist/extensions/migrate-lock.d.ts +3 -4
  201. package/dist/extensions/org-config.controller.d.ts +1 -1
  202. package/dist/extensions/org-config.controller.js +8 -5
  203. package/dist/extensions/org-config.d.ts +48 -46
  204. package/dist/extensions/org-config.js +284 -226
  205. package/dist/extensions/registry.d.ts +50 -2
  206. package/dist/extensions/registry.js +89 -4
  207. package/dist/extensions/sources.d.ts +12 -8
  208. package/dist/extensions/sources.js +34 -13
  209. package/dist/files/files.module.d.ts +3 -0
  210. package/dist/files/files.module.js +22 -0
  211. package/dist/files/previewers.controller.d.ts +7 -2
  212. package/dist/files/previewers.controller.js +17 -9
  213. package/dist/files/previewers.d.ts +13 -18
  214. package/dist/files/previewers.js +83 -36
  215. package/dist/http/adapter.d.ts +3 -0
  216. package/dist/http/adapter.js +25 -0
  217. package/dist/http/api.module.d.ts +3 -110
  218. package/dist/http/api.module.js +47 -355
  219. package/dist/http/app.d.ts +11 -15
  220. package/dist/http/app.js +17 -62
  221. package/dist/http/error-filter.module.d.ts +5 -0
  222. package/dist/http/error-filter.module.js +18 -0
  223. package/dist/http/error.filter.js +2 -2
  224. package/dist/identity/accounts.d.ts +82 -29
  225. package/dist/identity/accounts.js +294 -175
  226. package/dist/identity/api-tokens.d.ts +11 -7
  227. package/dist/identity/api-tokens.js +71 -44
  228. package/dist/identity/audit.d.ts +7 -4
  229. package/dist/identity/audit.js +5 -1
  230. package/dist/identity/auth.controller.d.ts +11 -10
  231. package/dist/identity/auth.controller.js +31 -25
  232. package/dist/identity/auth.guard.d.ts +3 -3
  233. package/dist/identity/auth.guard.js +6 -4
  234. package/dist/identity/binding.d.ts +9 -11
  235. package/dist/identity/binding.js +41 -13
  236. package/dist/identity/enterprise-admin.d.ts +18 -12
  237. package/dist/identity/enterprise-admin.js +67 -13
  238. package/dist/identity/external-identity-lock.d.ts +17 -0
  239. package/dist/identity/external-identity-lock.js +39 -0
  240. package/dist/identity/external.d.ts +19 -15
  241. package/dist/identity/external.js +163 -125
  242. package/dist/identity/identity.module.d.ts +6 -0
  243. package/dist/identity/identity.module.js +56 -0
  244. package/dist/identity/me.controller.d.ts +16 -15
  245. package/dist/identity/me.controller.js +37 -31
  246. package/dist/identity/sessions.d.ts +12 -10
  247. package/dist/identity/sessions.js +74 -42
  248. package/dist/identity/settings.d.ts +20 -14
  249. package/dist/identity/settings.js +85 -57
  250. package/dist/identity/sso.controller.d.ts +7 -7
  251. package/dist/identity/sso.controller.js +13 -9
  252. package/dist/identity/sso.d.ts +9 -12
  253. package/dist/identity/sso.js +54 -24
  254. package/dist/inbox/inbox.module.d.ts +3 -0
  255. package/dist/inbox/inbox.module.js +22 -0
  256. package/dist/inbox/inbox.service.d.ts +7 -9
  257. package/dist/inbox/inbox.service.js +32 -11
  258. package/dist/index.d.ts +16 -11
  259. package/dist/index.js +9 -6
  260. package/dist/infra/cache/cache.module.d.ts +3 -0
  261. package/dist/infra/cache/cache.module.js +16 -0
  262. package/dist/infra/cache/cache.service.d.ts +21 -0
  263. package/dist/infra/cache/cache.service.js +80 -0
  264. package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
  265. package/dist/infra/cache/cacheable.decorator.js +83 -0
  266. package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
  267. package/dist/infra/cli/kernel-cli.module.js +165 -0
  268. package/dist/infra/close-within.d.ts +15 -0
  269. package/dist/infra/close-within.js +36 -0
  270. package/dist/infra/config/config.module.d.ts +13 -0
  271. package/dist/infra/config/config.module.js +39 -0
  272. package/dist/infra/config/kernel-config.service.d.ts +25 -0
  273. package/dist/infra/config/kernel-config.service.js +126 -0
  274. package/dist/infra/database/after-commit.d.ts +6 -0
  275. package/dist/infra/database/after-commit.js +9 -0
  276. package/dist/infra/database/database.module.d.ts +25 -0
  277. package/dist/infra/database/database.module.js +90 -0
  278. package/dist/infra/database/kernel-db.d.ts +22 -0
  279. package/dist/infra/database/kernel-db.js +65 -0
  280. package/dist/infra/database/transaction-host.d.ts +50 -0
  281. package/dist/infra/database/transaction-host.js +125 -0
  282. package/dist/infra/database/transactional.decorator.d.ts +15 -0
  283. package/dist/infra/database/transactional.decorator.js +27 -0
  284. package/dist/infra/database/xact-lock.d.ts +17 -0
  285. package/dist/infra/database/xact-lock.js +43 -0
  286. package/dist/infra/events/kernel-events.d.ts +96 -0
  287. package/dist/infra/events/kernel-events.js +65 -0
  288. package/dist/infra/health/health.controller.d.ts +26 -0
  289. package/dist/infra/health/health.controller.js +104 -0
  290. package/dist/infra/health/health.module.d.ts +9 -0
  291. package/dist/infra/health/health.module.js +24 -0
  292. package/dist/infra/health/health.options.d.ts +10 -0
  293. package/dist/infra/health/health.options.js +15 -0
  294. package/dist/infra/health/shutdown-state.d.ts +6 -0
  295. package/dist/infra/health/shutdown-state.js +2 -0
  296. package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
  297. package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
  298. package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
  299. package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
  300. package/dist/infra/lifecycle/process-guards.d.ts +52 -0
  301. package/dist/infra/lifecycle/process-guards.js +86 -0
  302. package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
  303. package/dist/infra/lifecycle/shutdown-signals.js +48 -0
  304. package/dist/infra/lock/key-template.d.ts +13 -0
  305. package/dist/infra/lock/key-template.js +46 -0
  306. package/dist/infra/lock/lock.module.d.ts +3 -0
  307. package/dist/infra/lock/lock.module.js +16 -0
  308. package/dist/infra/lock/lock.service.d.ts +120 -0
  309. package/dist/infra/lock/lock.service.js +343 -0
  310. package/dist/infra/lock/shared-lease.d.ts +44 -0
  311. package/dist/infra/lock/shared-lease.js +121 -0
  312. package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
  313. package/dist/infra/lock/with-lock.decorator.js +49 -0
  314. package/dist/infra/logging/logging.module.d.ts +16 -0
  315. package/dist/infra/logging/logging.module.js +34 -0
  316. package/dist/infra/queue/configured-processor.d.ts +18 -0
  317. package/dist/infra/queue/configured-processor.js +23 -0
  318. package/dist/infra/queue/job-failure.d.ts +18 -0
  319. package/dist/infra/queue/job-failure.js +26 -0
  320. package/dist/infra/queue/queue-shutdown.d.ts +27 -0
  321. package/dist/infra/queue/queue-shutdown.js +81 -0
  322. package/dist/infra/queue/queue.module.d.ts +16 -0
  323. package/dist/infra/queue/queue.module.js +61 -0
  324. package/dist/infra/queue/redis-connection.d.ts +7 -0
  325. package/dist/infra/queue/redis-connection.js +18 -0
  326. package/dist/infra/queue/retired-schedulers.d.ts +7 -0
  327. package/dist/infra/queue/retired-schedulers.js +9 -0
  328. package/dist/infra/queue/run-job.d.ts +16 -0
  329. package/dist/infra/queue/run-job.js +19 -0
  330. package/dist/infra/redis/redis.module.d.ts +24 -0
  331. package/dist/infra/redis/redis.module.js +87 -0
  332. package/dist/infra/schedule/cron-tick.d.ts +12 -0
  333. package/dist/infra/schedule/cron-tick.js +25 -0
  334. package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
  335. package/dist/infra/schedule/locked-cron.decorator.js +53 -0
  336. package/dist/infra/schedule/locked-interval.d.ts +69 -0
  337. package/dist/infra/schedule/locked-interval.js +190 -0
  338. package/dist/infra/schedule/locked-tick.d.ts +90 -0
  339. package/dist/infra/schedule/locked-tick.js +137 -0
  340. package/dist/infra/schedule/schedule.module.d.ts +8 -0
  341. package/dist/infra/schedule/schedule.module.js +27 -0
  342. package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
  343. package/dist/infra/schedule/scheduled-runs.js +163 -0
  344. package/dist/infra/swagger/swagger.d.ts +16 -0
  345. package/dist/infra/swagger/swagger.js +31 -0
  346. package/dist/infra/throttler/credential-throttler.d.ts +35 -0
  347. package/dist/infra/throttler/credential-throttler.js +77 -0
  348. package/dist/infra/throttler/named-throttlers.d.ts +31 -0
  349. package/dist/infra/throttler/named-throttlers.js +119 -0
  350. package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
  351. package/dist/infra/throttler/redis-throttler-storage.js +130 -0
  352. package/dist/infra/throttler/throttler.guard.d.ts +23 -0
  353. package/dist/infra/throttler/throttler.guard.js +68 -0
  354. package/dist/infra/throttler/throttler.module.d.ts +15 -0
  355. package/dist/infra/throttler/throttler.module.js +53 -0
  356. package/dist/infra/tokens.d.ts +15 -0
  357. package/dist/infra/tokens.js +15 -0
  358. package/dist/infra/validation/create-zod-dto.d.ts +23 -0
  359. package/dist/infra/validation/create-zod-dto.js +35 -0
  360. package/dist/infra/validation/parse-with-zod.d.ts +7 -0
  361. package/dist/infra/validation/parse-with-zod.js +12 -0
  362. package/dist/infra/validation/validation.module.d.ts +3 -0
  363. package/dist/infra/validation/validation.module.js +16 -0
  364. package/dist/infra/validation/zod-params.d.ts +7 -0
  365. package/dist/infra/validation/zod-params.js +42 -0
  366. package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
  367. package/dist/infra/validation/zod-validation.pipe.js +31 -0
  368. package/dist/kernel.d.ts +9 -244
  369. package/dist/kernel.js +8 -1305
  370. package/dist/kernel.module.d.ts +17 -0
  371. package/dist/kernel.module.js +136 -0
  372. package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
  373. package/dist/lifecycle/kernel-lifecycle.js +451 -0
  374. package/dist/lifecycle/tokens.d.ts +3 -0
  375. package/dist/lifecycle/tokens.js +3 -0
  376. package/dist/log-context.d.ts +2 -0
  377. package/dist/log-context.js +4 -0
  378. package/dist/models/models.module.d.ts +3 -0
  379. package/dist/models/models.module.js +24 -0
  380. package/dist/models/prices.d.ts +8 -2
  381. package/dist/models/prices.js +65 -37
  382. package/dist/models/purposes.controller.d.ts +1 -1
  383. package/dist/models/purposes.controller.js +5 -6
  384. package/dist/models/purposes.d.ts +35 -13
  385. package/dist/models/purposes.js +101 -51
  386. package/dist/orgs/directory-sync.controller.d.ts +1 -1
  387. package/dist/orgs/directory-sync.controller.js +2 -2
  388. package/dist/orgs/directory-sync.d.ts +61 -31
  389. package/dist/orgs/directory-sync.js +212 -125
  390. package/dist/orgs/invitations.controller.d.ts +8 -8
  391. package/dist/orgs/invitations.controller.js +27 -26
  392. package/dist/orgs/invitations.service.d.ts +12 -9
  393. package/dist/orgs/invitations.service.js +130 -92
  394. package/dist/orgs/job-ids.d.ts +8 -0
  395. package/dist/orgs/job-ids.js +8 -0
  396. package/dist/orgs/members.service.d.ts +19 -12
  397. package/dist/orgs/members.service.js +161 -117
  398. package/dist/orgs/offboarding.d.ts +54 -57
  399. package/dist/orgs/offboarding.js +161 -71
  400. package/dist/orgs/org-lock.d.ts +28 -19
  401. package/dist/orgs/org-lock.js +81 -35
  402. package/dist/orgs/org.guard.d.ts +1 -1
  403. package/dist/orgs/org.guard.js +2 -2
  404. package/dist/orgs/orgs.controller.d.ts +13 -13
  405. package/dist/orgs/orgs.controller.js +29 -17
  406. package/dist/orgs/orgs.module.d.ts +6 -0
  407. package/dist/orgs/orgs.module.js +68 -0
  408. package/dist/orgs/orgs.service.d.ts +30 -19
  409. package/dist/orgs/orgs.service.js +139 -86
  410. package/dist/orgs/settings.controller.d.ts +1 -1
  411. package/dist/orgs/settings.controller.js +8 -6
  412. package/dist/orgs/settings.service.d.ts +14 -8
  413. package/dist/orgs/settings.service.js +75 -46
  414. package/dist/overrides.d.ts +56 -0
  415. package/dist/overrides.js +30 -0
  416. package/dist/roles/gateway-role.d.ts +43 -0
  417. package/dist/roles/gateway-role.js +98 -0
  418. package/dist/roles/gateway.module.d.ts +8 -0
  419. package/dist/roles/gateway.module.js +28 -0
  420. package/dist/roles/worker-role.d.ts +63 -0
  421. package/dist/roles/worker-role.js +144 -0
  422. package/dist/roles/worker.module.d.ts +14 -0
  423. package/dist/roles/worker.module.js +90 -0
  424. package/dist/runtime/abort.js +19 -2
  425. package/dist/runtime/checkpointer.d.ts +8 -3
  426. package/dist/runtime/checkpointer.js +87 -55
  427. package/dist/runtime/conversation-lock.d.ts +20 -11
  428. package/dist/runtime/conversation-lock.js +62 -72
  429. package/dist/runtime/hook-calls.d.ts +3 -3
  430. package/dist/runtime/hook-calls.js +1 -6
  431. package/dist/runtime/job-ids.d.ts +10 -0
  432. package/dist/runtime/job-ids.js +10 -0
  433. package/dist/runtime/langgraph-loop.js +1 -1
  434. package/dist/runtime/loop.d.ts +7 -0
  435. package/dist/runtime/loop.js +14 -0
  436. package/dist/runtime/maintenance-queue.d.ts +10 -0
  437. package/dist/runtime/maintenance-queue.js +10 -0
  438. package/dist/runtime/maintenance.d.ts +45 -74
  439. package/dist/runtime/maintenance.js +139 -137
  440. package/dist/runtime/model-call.d.ts +7 -4
  441. package/dist/runtime/model-call.js +24 -57
  442. package/dist/runtime/providers.d.ts +17 -6
  443. package/dist/runtime/providers.js +66 -25
  444. package/dist/runtime/quota.d.ts +17 -3
  445. package/dist/runtime/quota.js +27 -2
  446. package/dist/runtime/retired-schedulers.d.ts +7 -0
  447. package/dist/runtime/retired-schedulers.js +31 -0
  448. package/dist/runtime/run-control.d.ts +33 -0
  449. package/dist/runtime/run-control.js +77 -0
  450. package/dist/runtime/run-finish.d.ts +26 -17
  451. package/dist/runtime/run-finish.js +98 -51
  452. package/dist/runtime/run-jobs.d.ts +48 -0
  453. package/dist/runtime/run-jobs.js +95 -0
  454. package/dist/runtime/run-processors.d.ts +60 -0
  455. package/dist/runtime/run-processors.js +185 -0
  456. package/dist/runtime/run-queue.d.ts +32 -57
  457. package/dist/runtime/run-queue.js +291 -295
  458. package/dist/runtime/run-steps.d.ts +39 -0
  459. package/dist/runtime/run-steps.js +96 -0
  460. package/dist/runtime/run-worker.d.ts +121 -75
  461. package/dist/runtime/run-worker.js +340 -226
  462. package/dist/runtime/runtime.module.d.ts +10 -0
  463. package/dist/runtime/runtime.module.js +112 -0
  464. package/dist/runtime/step-log.d.ts +40 -0
  465. package/dist/runtime/step-log.js +94 -0
  466. package/dist/runtime/stream.controller.d.ts +5 -8
  467. package/dist/runtime/stream.controller.js +14 -12
  468. package/dist/runtime/stream.d.ts +24 -6
  469. package/dist/runtime/stream.js +78 -7
  470. package/dist/runtime/subagents/child.d.ts +3 -44
  471. package/dist/runtime/subagents/child.js +0 -79
  472. package/dist/runtime/subagents/definition.d.ts +4 -4
  473. package/dist/runtime/subagents/definition.js +2 -2
  474. package/dist/runtime/subagents/dispatch.d.ts +87 -6
  475. package/dist/runtime/subagents/dispatch.js +135 -140
  476. package/dist/runtime/subagents/limits.d.ts +9 -4
  477. package/dist/runtime/subagents/limits.js +4 -2
  478. package/dist/runtime/subagents/org-agents.d.ts +4 -4
  479. package/dist/runtime/subagents/org-agents.js +1 -1
  480. package/dist/runtime/subagents/progress.d.ts +2 -2
  481. package/dist/runtime/subagents/roster.d.ts +3 -3
  482. package/dist/runtime/subagents/roster.js +1 -1
  483. package/dist/runtime/subagents/skill-fork.d.ts +6 -7
  484. package/dist/runtime/subagents/skill-fork.js +16 -5
  485. package/dist/runtime/subagents/subagents.service.d.ts +40 -0
  486. package/dist/runtime/subagents/subagents.service.js +101 -0
  487. package/dist/runtime/usage-report.d.ts +94 -52
  488. package/dist/runtime/usage-report.js +200 -100
  489. package/dist/runtime/waits.d.ts +125 -57
  490. package/dist/runtime/waits.js +431 -208
  491. package/dist/sandbox/job-ids.d.ts +10 -0
  492. package/dist/sandbox/job-ids.js +10 -0
  493. package/dist/sandbox/jobs.d.ts +41 -0
  494. package/dist/sandbox/jobs.js +113 -0
  495. package/dist/sandbox/leases.d.ts +39 -31
  496. package/dist/sandbox/leases.js +117 -257
  497. package/dist/sandbox/providers.d.ts +19 -0
  498. package/dist/sandbox/providers.js +38 -0
  499. package/dist/sandbox/sandbox.module.d.ts +8 -0
  500. package/dist/sandbox/sandbox.module.js +30 -0
  501. package/dist/sandbox/sandbox.service.d.ts +24 -29
  502. package/dist/sandbox/sandbox.service.js +106 -75
  503. package/dist/skills/catalog.d.ts +33 -20
  504. package/dist/skills/catalog.js +96 -53
  505. package/dist/skills/changes.controller.d.ts +4 -4
  506. package/dist/skills/changes.controller.js +15 -9
  507. package/dist/skills/changes.service.d.ts +28 -18
  508. package/dist/skills/changes.service.js +421 -364
  509. package/dist/skills/invocable.controller.d.ts +1 -1
  510. package/dist/skills/invocable.controller.js +8 -5
  511. package/dist/skills/invoke.d.ts +16 -15
  512. package/dist/skills/invoke.js +48 -17
  513. package/dist/skills/skills.controller.d.ts +1 -1
  514. package/dist/skills/skills.controller.js +11 -6
  515. package/dist/skills/skills.module.d.ts +6 -0
  516. package/dist/skills/skills.module.js +30 -0
  517. package/dist/skills/skills.service.d.ts +47 -30
  518. package/dist/skills/skills.service.js +221 -158
  519. package/dist/storage/job-ids.d.ts +6 -0
  520. package/dist/storage/job-ids.js +6 -0
  521. package/dist/storage/purge.d.ts +22 -7
  522. package/dist/storage/purge.js +55 -3
  523. package/dist/storage/storage.module.d.ts +6 -0
  524. package/dist/storage/storage.module.js +23 -0
  525. package/dist/storage/storage.service.d.ts +18 -4
  526. package/dist/storage/storage.service.js +44 -3
  527. package/dist/tools/approvals.controller.d.ts +1 -1
  528. package/dist/tools/approvals.controller.js +12 -8
  529. package/dist/tools/approvals.service.d.ts +27 -25
  530. package/dist/tools/approvals.service.js +324 -258
  531. package/dist/tools/breaker.d.ts +2 -2
  532. package/dist/tools/breaker.js +21 -3
  533. package/dist/tools/builtins/ask-user.d.ts +2 -2
  534. package/dist/tools/builtins/ask-user.js +1 -1
  535. package/dist/tools/builtins/builtin-tools.d.ts +21 -0
  536. package/dist/tools/builtins/builtin-tools.js +80 -0
  537. package/dist/tools/builtins/read-tool-output.d.ts +2 -2
  538. package/dist/tools/builtins/read-tool-output.js +1 -1
  539. package/dist/tools/builtins/sandbox/bash.js +2 -2
  540. package/dist/tools/builtins/sandbox/common.d.ts +2 -1
  541. package/dist/tools/builtins/sandbox/deliver.js +2 -2
  542. package/dist/tools/builtins/sandbox/edit.js +1 -1
  543. package/dist/tools/builtins/sandbox/glob.js +2 -2
  544. package/dist/tools/builtins/sandbox/grep.js +2 -2
  545. package/dist/tools/builtins/sandbox/read.js +1 -1
  546. package/dist/tools/builtins/sandbox/write.js +1 -1
  547. package/dist/tools/builtins/skill-load.d.ts +3 -3
  548. package/dist/tools/builtins/skill-load.js +1 -1
  549. package/dist/tools/canonical-json.d.ts +6 -0
  550. package/dist/tools/canonical-json.js +16 -0
  551. package/dist/tools/connector-content.controller.d.ts +1 -1
  552. package/dist/tools/connector-content.controller.js +11 -6
  553. package/dist/tools/connector-content.d.ts +12 -15
  554. package/dist/tools/connector-content.js +53 -18
  555. package/dist/tools/connectors.controller.d.ts +1 -1
  556. package/dist/tools/connectors.controller.js +21 -10
  557. package/dist/tools/connectors.service.d.ts +31 -13
  558. package/dist/tools/connectors.service.js +434 -344
  559. package/dist/tools/credentials.d.ts +17 -20
  560. package/dist/tools/credentials.js +55 -34
  561. package/dist/tools/drift.d.ts +29 -41
  562. package/dist/tools/drift.js +111 -79
  563. package/dist/tools/info.d.ts +12 -9
  564. package/dist/tools/info.js +33 -7
  565. package/dist/tools/job-ids.d.ts +13 -0
  566. package/dist/tools/job-ids.js +15 -0
  567. package/dist/tools/jobs.d.ts +24 -0
  568. package/dist/tools/jobs.js +69 -0
  569. package/dist/tools/oauth/flow-paths.d.ts +16 -0
  570. package/dist/tools/oauth/flow-paths.js +38 -0
  571. package/dist/tools/oauth/flow.d.ts +30 -30
  572. package/dist/tools/oauth/flow.js +109 -81
  573. package/dist/tools/oauth/oauth.controller.d.ts +3 -3
  574. package/dist/tools/oauth/oauth.controller.js +12 -9
  575. package/dist/tools/oauth/tokens.d.ts +11 -3
  576. package/dist/tools/oauth/tokens.js +15 -14
  577. package/dist/tools/outputs.d.ts +13 -4
  578. package/dist/tools/outputs.js +47 -3
  579. package/dist/tools/pipeline.d.ts +62 -46
  580. package/dist/tools/pipeline.js +145 -64
  581. package/dist/tools/policy.d.ts +2 -2
  582. package/dist/tools/questions.controller.d.ts +1 -1
  583. package/dist/tools/questions.controller.js +8 -5
  584. package/dist/tools/questions.service.d.ts +25 -24
  585. package/dist/tools/questions.service.js +201 -142
  586. package/dist/tools/registry.d.ts +30 -20
  587. package/dist/tools/registry.js +73 -37
  588. package/dist/tools/specs.d.ts +5 -4
  589. package/dist/tools/specs.js +3 -1
  590. package/dist/tools/tools.module.d.ts +10 -0
  591. package/dist/tools/tools.module.js +91 -0
  592. package/dist/ui/call-extension.d.ts +16 -0
  593. package/dist/ui/call-extension.js +38 -0
  594. package/dist/ui/embed-token.d.ts +9 -5
  595. package/dist/ui/embed-token.js +34 -6
  596. package/dist/ui/ui-stream.d.ts +22 -17
  597. package/dist/ui/ui-stream.js +72 -12
  598. package/dist/ui/ui.module.d.ts +7 -0
  599. package/dist/ui/ui.module.js +28 -0
  600. package/dist/ui/views.controller.d.ts +14 -12
  601. package/dist/ui/views.controller.js +32 -25
  602. package/dist/ui/views.d.ts +9 -57
  603. package/dist/ui/views.js +43 -45
  604. package/package.json +9 -2
  605. package/dist/http/health.controller.d.ts +0 -26
  606. package/dist/http/health.controller.js +0 -79
  607. package/dist/http/tokens.d.ts +0 -131
  608. package/dist/http/tokens.js +0 -131
  609. package/dist/http/zod.pipe.d.ts +0 -8
  610. package/dist/http/zod.pipe.js +0 -14
  611. package/dist/identity/rate-limit.d.ts +0 -55
  612. package/dist/identity/rate-limit.js +0 -121
  613. package/dist/sandbox/lifecycle.d.ts +0 -21
  614. package/dist/sandbox/lifecycle.js +0 -68
  615. /package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +0 -0
  616. /package/dist/http/{gateway.module.js → gateway-routes.js} +0 -0
@@ -1,3 +1,4 @@
1
+ import { type ModelParameter } from "@capybara-hq/plugin-sdk";
1
2
  import { z } from "zod";
2
3
  /** 模型引用:供应商插件名 + 模型 id。 */
3
4
  export declare const ModelRef: z.ZodObject<{
@@ -196,3 +197,10 @@ export type AgentDefinition = z.infer<typeof AgentDefinitionSchema>;
196
197
  * connector 形(C27)。其余字段原样保留;没有旧形引用时返回原对象。
197
198
  */
198
199
  export declare function normalizeStoredDefinition(def: unknown): AgentDefinition;
200
+ /** 按模型声明严格校验一组参数,返回 `{ path: "<field>.<key>", message }[]`(评测候选也用它)。 */
201
+ export declare function paramIssues(field: string, decl: ModelParameter[], params: Record<string, unknown>): {
202
+ path: string;
203
+ message: string;
204
+ }[];
205
+ /** Roster entries an agent may list (spec §4.3), general-purpose included. */
206
+ export declare const SUBAGENT_ROSTER_MAX = 20;
@@ -1,3 +1,4 @@
1
+ import { validateParams } from "@capybara-hq/plugin-sdk";
1
2
  import { z } from "zod";
2
3
  /** 模型引用:供应商插件名 + 模型 id。 */
3
4
  export const ModelRef = z.object({ provider: z.string(), model: z.string() });
@@ -150,3 +151,10 @@ export function normalizeStoredDefinition(def) {
150
151
  }
151
152
  return { ...d, tools: tools.map(normalizeToolRef) };
152
153
  }
154
+ /** 按模型声明严格校验一组参数,返回 `{ path: "<field>.<key>", message }[]`(评测候选也用它)。 */
155
+ export function paramIssues(field, decl, params) {
156
+ const r = validateParams(decl, params);
157
+ return r.ok ? [] : r.issues.map((i) => ({ path: `${field}.${i.key}`, message: i.message }));
158
+ }
159
+ /** Roster entries an agent may list (spec §4.3), general-purpose included. */
160
+ export const SUBAGENT_ROSTER_MAX = 20;
@@ -1,5 +1,5 @@
1
1
  import type { ModelInfo } from "@capybara-hq/plugin-sdk";
2
- import type { ProviderRegistry } from "../runtime/providers.js";
2
+ import { ProviderRegistry } from "../runtime/providers.js";
3
3
  /** 可选模型(`/api/v1/orgs/:orgId/models`):已安装的模型供应商及其模型,列表缓存在 Redis。 */
4
4
  export declare class ModelsController {
5
5
  private readonly registry;
@@ -8,8 +8,8 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
8
8
  return function (target, key) { decorator(target, key, paramIndex); }
9
9
  };
10
10
  import { Controller, Get, Inject } from "@nestjs/common";
11
- import { PROVIDER_REGISTRY } from "../http/tokens.js";
12
11
  import { OrgAction } from "../orgs/org.guard.js";
12
+ import { ProviderRegistry } from "../runtime/providers.js";
13
13
  /** 可选模型(`/api/v1/orgs/:orgId/models`):已安装的模型供应商及其模型,列表缓存在 Redis。 */
14
14
  let ModelsController = class ModelsController {
15
15
  registry;
@@ -26,6 +26,6 @@ __decorate([
26
26
  ], ModelsController.prototype, "list", null);
27
27
  ModelsController = __decorate([
28
28
  Controller("api/v1/orgs/:orgId/models"),
29
- __param(0, Inject(PROVIDER_REGISTRY))
29
+ __param(0, Inject(ProviderRegistry))
30
30
  ], ModelsController);
31
31
  export { ModelsController };
@@ -1,5 +1,5 @@
1
1
  import { type OrgContext } from "../orgs/org.guard.js";
2
- import type { AgentTemplatesService, AgentTemplateView } from "./templates.js";
2
+ import { AgentTemplatesService, type AgentTemplateView } from "./templates.js";
3
3
  /**
4
4
  * The org's agent templates installed from plugins (`/api/v1/orgs/:orgId/agent-templates`, phase C
5
5
  * spec §17): the agent page lists them to select as sub-agents. Read with `agents.create`, the
@@ -8,8 +8,8 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
8
8
  return function (target, key) { decorator(target, key, paramIndex); }
9
9
  };
10
10
  import { Controller, Get, Inject } from "@nestjs/common";
11
- import { AGENT_TEMPLATES } from "../http/tokens.js";
12
11
  import { CurrentOrg, OrgAction } from "../orgs/org.guard.js";
12
+ import { AgentTemplatesService } from "./templates.js";
13
13
  /**
14
14
  * The org's agent templates installed from plugins (`/api/v1/orgs/:orgId/agent-templates`, phase C
15
15
  * spec §17): the agent page lists them to select as sub-agents. Read with `agents.create`, the
@@ -32,6 +32,6 @@ __decorate([
32
32
  ], AgentTemplatesController.prototype, "list", null);
33
33
  AgentTemplatesController = __decorate([
34
34
  Controller("api/v1/orgs/:orgId/agent-templates"),
35
- __param(0, Inject(AGENT_TEMPLATES))
35
+ __param(0, Inject(AgentTemplatesService))
36
36
  ], AgentTemplatesController);
37
37
  export { AgentTemplatesController };
@@ -1,7 +1,6 @@
1
1
  import type { AgentTemplate, AgentTemplateTier } from "@capybara-hq/plugin-sdk";
2
- import type { Transaction } from "kysely";
3
- import type { KernelDatabase, KernelDb, SourceFormat } from "../db/kernel-schema.js";
4
- type Trx = Transaction<KernelDatabase>;
2
+ import type { KernelSchemaDb, SourceFormat } from "../db/kernel-schema.js";
3
+ import { KernelDb } from "../infra/database/kernel-db.js";
5
4
  /**
6
5
  * Agent templates installed in an org from plugins (sub-agents spec §16): `agent_templates` (one
7
6
  * live row per org, plugin and name) and `agent_template_versions` (the parsed template). Plugin
@@ -35,7 +34,7 @@ export interface TemplateRow {
35
34
  catalogVersion: string | null;
36
35
  }
37
36
  /** The live templates of `ids` in the org (deleted and foreign ids are left out), by id. */
38
- export declare function loadTemplates(db: KernelDb | Trx, orgId: string, ids: readonly string[]): Promise<Map<string, TemplateRow>>;
37
+ export declare function loadTemplates(db: KernelSchemaDb, orgId: string, ids: readonly string[]): Promise<Map<string, TemplateRow>>;
39
38
  /** Reads the org's agent templates (consumed by the roster, the agent page and Task 19's API). */
40
39
  export declare class AgentTemplatesService {
41
40
  private readonly db;
@@ -63,7 +62,7 @@ export interface TemplateSource {
63
62
  * caller holds the org row lock): a new template (version 1, `created`), a new version of the live
64
63
  * one when its definition differs (`changed`, the version added), or nothing when it is equal.
65
64
  */
66
- export declare function putTemplateVersionIn(t: Trx, s: TemplateSource, template: AgentTemplate): Promise<{
65
+ export declare function putTemplateVersionIn(t: KernelSchemaDb, s: TemplateSource, template: AgentTemplate): Promise<{
67
66
  id: string;
68
67
  version: number;
69
68
  created: boolean;
@@ -74,10 +73,9 @@ export declare function putTemplateVersionIn(t: Trx, s: TemplateSource, template
74
73
  * rolled back): the version row goes and the template is back at the version before. Returns
75
74
  * whether anything changed.
76
75
  */
77
- export declare function revertTemplateVersionIn(t: Trx, orgId: string, id: string, version: number): Promise<boolean>;
76
+ export declare function revertTemplateVersionIn(t: KernelSchemaDb, orgId: string, id: string, version: number): Promise<boolean>;
78
77
  /**
79
78
  * Removes a template (soft delete: sub-agents already started keep their frozen definition, and
80
79
  * the roster skips it). Returns whether it was live.
81
80
  */
82
- export declare function softDeleteTemplateIn(t: Trx, orgId: string, id: string): Promise<boolean>;
83
- export {};
81
+ export declare function softDeleteTemplateIn(t: KernelSchemaDb, orgId: string, id: string): Promise<boolean>;
@@ -1,4 +1,15 @@
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
+ };
1
10
  import { randomUUID } from "node:crypto";
11
+ import { Inject, Injectable } from "@nestjs/common";
12
+ import { KernelDb } from "../infra/database/kernel-db.js";
2
13
  import { canonicalJson } from "../tools/registry.js";
3
14
  const baseQuery = (db, orgId) => db
4
15
  .selectFrom("agent_templates as t")
@@ -35,14 +46,14 @@ export async function loadTemplates(db, orgId, ids) {
35
46
  return new Map(rows.map((r) => [r.id, rowOf(r)]));
36
47
  }
37
48
  /** Reads the org's agent templates (consumed by the roster, the agent page and Task 19's API). */
38
- export class AgentTemplatesService {
49
+ let AgentTemplatesService = class AgentTemplatesService {
39
50
  db;
40
51
  constructor(db) {
41
52
  this.db = db;
42
53
  }
43
54
  /** Every live template of the org, by plugin then name. */
44
55
  async listForOrg(orgId) {
45
- const rows = await baseQuery(this.db, orgId)
56
+ const rows = await baseQuery(this.db.db, orgId)
46
57
  .orderBy("t.plugin_name")
47
58
  .orderBy("t.name")
48
59
  .execute();
@@ -65,7 +76,7 @@ export class AgentTemplatesService {
65
76
  /** A live template by id or by `<plugin>:<name>`; null when there is none. */
66
77
  async resolve(orgId, ref) {
67
78
  const i = ref.indexOf(":");
68
- let q = baseQuery(this.db, orgId);
79
+ let q = baseQuery(this.db.db, orgId);
69
80
  q =
70
81
  i < 0
71
82
  ? q.where("t.id", "=", ref)
@@ -76,7 +87,12 @@ export class AgentTemplatesService {
76
87
  const t = rowOf(r);
77
88
  return { id: t.id, version: t.version, plugin: t.plugin, template: t.template };
78
89
  }
79
- }
90
+ };
91
+ AgentTemplatesService = __decorate([
92
+ Injectable(),
93
+ __param(0, Inject(KernelDb))
94
+ ], AgentTemplatesService);
95
+ export { AgentTemplatesService };
80
96
  /**
81
97
  * Writes `template` as the org's live template `<plugin>:<name>` in the caller's transaction (the
82
98
  * caller holds the org row lock): a new template (version 1, `created`), a new version of the live
package/dist/app.d.ts ADDED
@@ -0,0 +1,93 @@
1
+ import "reflect-metadata";
2
+ import type { BootstrapManifest } from "@capybara-hq/plugin-sdk";
3
+ import type { INestApplicationContext } from "@nestjs/common";
4
+ import type { NestFastifyApplication } from "@nestjs/platform-fastify";
5
+ import type { ConfigSource } from "./config/load.js";
6
+ import type { KernelConfig } from "./config/schema.js";
7
+ import type { ConfigSourceKind } from "./config/sources.js";
8
+ import { type KernelHttp } from "./http/app.js";
9
+ import { type ShutdownSignalOptions } from "./infra/lifecycle/shutdown-signals.js";
10
+ import type { KernelLogger } from "./log.js";
11
+ import type { KernelOverride } from "./overrides.js";
12
+ /** What {@link createKernelApp} takes besides the config. */
13
+ export interface KernelAppOptions {
14
+ /** 配置来源;提供 `watch` 时启用热更新。 */
15
+ source?: ConfigSource;
16
+ /** 解析插件裸包名的目录,默认 `process.cwd()`;相对路径按当前 cwd 解析。 */
17
+ resolveFrom?: string;
18
+ /** Defaults to a logger built from `config.log` and `config.roles` (createConfiguredLogger). */
19
+ logger?: KernelLogger;
20
+ /** 热更新时与来源原始值合并的环境变量,默认 `process.env`。 */
21
+ env?: NodeJS.ProcessEnv;
22
+ /**
23
+ * The bootstrap step (package ecosystem spec §7, startup bootstrap spec). When given, the start
24
+ * runs it (see `extensions/bootstrap.ts`) before loading extensions unless it is already done for
25
+ * the manifest, and refuses to start when it cannot complete a required entry. `dir`: the
26
+ * optional offline directory whose `*.tgz` files are matched to the entries by sha512 (a missing
27
+ * directory is an empty one); entries without a matching file are downloaded from
28
+ * `packages.npmRegistry`. Omitted: no bootstrap step (tests, unless they ask for it).
29
+ */
30
+ bootstrap?: {
31
+ dir?: string;
32
+ };
33
+ /** The bootstrap manifest; default the `bootstrap.json` shipped with the kernel package. */
34
+ bootstrapManifest?: BootstrapManifest;
35
+ /**
36
+ * Where each extension deployment config field of the startup config comes from (the
37
+ * `extensionConfigSources` returned by `loadConfigWithSources`); these fields are read-only in the
38
+ * admin console (D8). When omitted it is derived from `config.extensionConfig`: fields present in
39
+ * the environment are `env`, the rest take the `CAPYBARA_CONFIG_SOURCE` kind (file / nacos).
40
+ */
41
+ extensionConfigSources?: Record<string, Record<string, ConfigSourceKind>>;
42
+ /**
43
+ * The kernel's own tests' seams: values for the named seam tokens ({@link KernelOverride} lists
44
+ * every one), registered in a global module so the domain modules that resolve these optional
45
+ * tokens get them. Any other token is refused when the application is built.
46
+ */
47
+ overrides?: readonly KernelOverride[];
48
+ }
49
+ /**
50
+ * Builds the kernel application (one Nest application, root module {@link KernelModule}) and sets
51
+ * up its HTTP side, without initializing it: nothing connects and nothing starts. A failure
52
+ * releases what was created (Redis connections, the pool) before it is thrown. Internal (not
53
+ * exported from the package): {@link startKernelApp} and the kernel's own tests that need the
54
+ * application before its start; everything else uses {@link createKernelApp}.
55
+ */
56
+ export declare function buildKernelApp(config: KernelConfig, options?: KernelAppOptions): Promise<NestFastifyApplication>;
57
+ /**
58
+ * Closes a kernel application once (later calls get the same promise): the stop phases begin at
59
+ * once (`KernelLifecycle.stop`: readiness 503, the start aborted at its next checkpoint), next to
60
+ * `app.close()`, which runs the shutdown hooks (the stop phases are the same promise, then Redis
61
+ * and the pool). Use it to stop an application from {@link createKernelApp} /
62
+ * {@link startKernelApp} (tests, `@capybara-hq/testing`), so the stop begins before Nest's
63
+ * `onModuleDestroy` hooks run.
64
+ */
65
+ export declare function closeKernelApp(app: NestFastifyApplication): Promise<void>;
66
+ /**
67
+ * Creates the kernel application and runs its start sequence (nest kernel spec §4): Redis,
68
+ * migrations, the official marketplace, the bootstrap step, the extension load, the role parts,
69
+ * extension routes, the lifecycle reconcile and the config watch. Does not listen and installs no
70
+ * process-wide handler.
71
+ */
72
+ export declare function createKernelApp(config: KernelConfig, options?: KernelAppOptions): Promise<NestFastifyApplication>;
73
+ /**
74
+ * Builds the kernel application, installs the SIGTERM / SIGINT handlers
75
+ * ({@link handleShutdownSignals}), runs the start sequence and listens on `config.http.port`:
76
+ * nothing is served before the start sequence finished. The handlers are installed before the
77
+ * start, so a signal during it aborts the start at its next checkpoint and closes the application
78
+ * cleanly; this function then rejects once the signal path has exited (with 0). A second signal
79
+ * exits with 1 at once. A failed build or start is logged (`kernel start failed`) before it is
80
+ * thrown.
81
+ */
82
+ export declare function startKernelApp(config: KernelConfig, options?: KernelAppOptions, signalOptions?: ShutdownSignalOptions): Promise<NestFastifyApplication>;
83
+ /**
84
+ * The start half of {@link startKernelApp} for an application from {@link buildKernelApp}: installs
85
+ * the signal handlers, runs the start sequence and listens on `config.http.port`. Internal (not
86
+ * exported from the package): {@link startKernelApp} and the kernel's own tests that need the
87
+ * application before its start.
88
+ */
89
+ export declare function startBuiltKernelApp(app: NestFastifyApplication, config: KernelConfig, signalOptions?: ShutdownSignalOptions): Promise<void>;
90
+ /** The in-process HTTP of a kernel application (`inject`, the route list). */
91
+ export declare function kernelAppHttp(app: INestApplicationContext): KernelHttp;
92
+ /** The port a kernel application listens on; undefined before it listens and after the stop. */
93
+ export declare function kernelAppPort(app: INestApplicationContext): number | undefined;
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 };