@capybara-hq/kernel 0.1.0-rc.0 → 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 (626) hide show
  1. package/bootstrap.json +10 -6
  2. package/dist/admin/admin.controller.d.ts +17 -17
  3. package/dist/admin/admin.controller.js +43 -26
  4. package/dist/admin/admin.module.d.ts +3 -0
  5. package/dist/admin/admin.module.js +22 -0
  6. package/dist/admin/extensions.controller.d.ts +14 -14
  7. package/dist/admin/extensions.controller.js +30 -17
  8. package/dist/admin/setup-lock.d.ts +16 -0
  9. package/dist/admin/setup-lock.js +47 -0
  10. package/dist/admin/setup.controller.d.ts +8 -8
  11. package/dist/admin/setup.controller.js +27 -25
  12. package/dist/admin/setup.service.d.ts +19 -27
  13. package/dist/admin/setup.service.js +61 -61
  14. package/dist/agents/agent-lookup.d.ts +53 -0
  15. package/dist/agents/agent-lookup.js +179 -0
  16. package/dist/agents/agents.controller.d.ts +1 -1
  17. package/dist/agents/agents.controller.js +14 -8
  18. package/dist/agents/agents.module.d.ts +7 -0
  19. package/dist/agents/agents.module.js +41 -0
  20. package/dist/agents/agents.service.d.ts +39 -58
  21. package/dist/agents/agents.service.js +261 -329
  22. package/dist/agents/definition.d.ts +8 -0
  23. package/dist/agents/definition.js +8 -0
  24. package/dist/agents/models.controller.d.ts +1 -1
  25. package/dist/agents/models.controller.js +2 -2
  26. package/dist/agents/templates.controller.d.ts +1 -1
  27. package/dist/agents/templates.controller.js +2 -2
  28. package/dist/agents/templates.d.ts +6 -8
  29. package/dist/agents/templates.js +20 -4
  30. package/dist/app.d.ts +93 -0
  31. package/dist/app.js +150 -0
  32. package/dist/catalog/admin-catalog.controller.d.ts +3 -3
  33. package/dist/catalog/admin-catalog.controller.js +27 -13
  34. package/dist/catalog/catalog-content.d.ts +185 -0
  35. package/dist/catalog/catalog-content.js +323 -0
  36. package/dist/catalog/catalog-items.d.ts +186 -0
  37. package/dist/catalog/catalog-items.js +410 -0
  38. package/dist/catalog/catalog.module.d.ts +14 -0
  39. package/dist/catalog/catalog.module.js +71 -0
  40. package/dist/catalog/catalog.service.d.ts +34 -188
  41. package/dist/catalog/catalog.service.js +155 -489
  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 +30 -13
  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 +2 -2
  70. package/dist/channels/channels.module.d.ts +40 -0
  71. package/dist/channels/channels.module.js +128 -0
  72. package/dist/channels/connections.controller.d.ts +1 -1
  73. package/dist/channels/connections.controller.js +11 -6
  74. package/dist/channels/connections.service.d.ts +43 -21
  75. package/dist/channels/connections.service.js +236 -131
  76. package/dist/channels/inbound.d.ts +34 -38
  77. package/dist/channels/inbound.js +107 -41
  78. package/dist/channels/job-ids.d.ts +10 -0
  79. package/dist/channels/job-ids.js +10 -0
  80. package/dist/channels/jobs.d.ts +85 -0
  81. package/dist/channels/jobs.js +157 -0
  82. package/dist/channels/outbound.d.ts +60 -82
  83. package/dist/channels/outbound.js +165 -193
  84. package/dist/channels/supervisor.d.ts +88 -46
  85. package/dist/channels/supervisor.js +230 -132
  86. package/dist/channels/threads.d.ts +29 -8
  87. package/dist/channels/threads.js +71 -13
  88. package/dist/channels/webhook.d.ts +20 -14
  89. package/dist/channels/webhook.js +51 -20
  90. package/dist/config/load.d.ts +3 -2
  91. package/dist/config/load.js +3 -2
  92. package/dist/config/nacos-source.js +11 -2
  93. package/dist/config/schema.d.ts +16 -1
  94. package/dist/config/schema.js +54 -7
  95. package/dist/conversations/access.d.ts +29 -0
  96. package/dist/conversations/access.js +86 -0
  97. package/dist/conversations/artifacts.d.ts +10 -10
  98. package/dist/conversations/artifacts.js +35 -9
  99. package/dist/conversations/attachments.controller.d.ts +1 -1
  100. package/dist/conversations/attachments.controller.js +8 -6
  101. package/dist/conversations/attachments.module.d.ts +7 -0
  102. package/dist/conversations/attachments.module.js +25 -0
  103. package/dist/conversations/attachments.service.d.ts +30 -22
  104. package/dist/conversations/attachments.service.js +119 -46
  105. package/dist/conversations/conversations.controller.d.ts +8 -7
  106. package/dist/conversations/conversations.controller.js +59 -29
  107. package/dist/conversations/conversations.module.d.ts +8 -0
  108. package/dist/conversations/conversations.module.js +69 -0
  109. package/dist/conversations/conversations.service.d.ts +40 -38
  110. package/dist/conversations/conversations.service.js +130 -140
  111. package/dist/conversations/event-log.d.ts +28 -18
  112. package/dist/conversations/event-log.js +74 -27
  113. package/dist/conversations/files.d.ts +10 -10
  114. package/dist/conversations/files.js +37 -11
  115. package/dist/conversations/idem-keys.d.ts +5 -0
  116. package/dist/conversations/idem-keys.js +5 -0
  117. package/dist/conversations/job-ids.d.ts +6 -0
  118. package/dist/conversations/job-ids.js +6 -0
  119. package/dist/conversations/outputs-read.d.ts +11 -11
  120. package/dist/conversations/outputs-read.js +31 -7
  121. package/dist/conversations/queue.d.ts +48 -56
  122. package/dist/conversations/queue.js +13 -289
  123. package/dist/conversations/queue.service.d.ts +60 -0
  124. package/dist/conversations/queue.service.js +343 -0
  125. package/dist/conversations/sandbox-status.d.ts +13 -10
  126. package/dist/conversations/sandbox-status.js +36 -8
  127. package/dist/conversations/titles.d.ts +71 -24
  128. package/dist/conversations/titles.js +159 -62
  129. package/dist/ctx/bus.js +9 -3
  130. package/dist/ctx/create-ctx.d.ts +6 -0
  131. package/dist/ctx/create-ctx.js +7 -9
  132. package/dist/ctx/lock.d.ts +7 -3
  133. package/dist/ctx/lock.js +9 -20
  134. package/dist/ctx/queue.js +3 -2
  135. package/dist/ctx/secrets.d.ts +10 -2
  136. package/dist/ctx/secrets.js +7 -3
  137. package/dist/db/kernel-schema.d.ts +2 -2
  138. package/dist/db/pool.d.ts +5 -0
  139. package/dist/db/pool.js +1 -0
  140. package/dist/errors.d.ts +2 -0
  141. package/dist/errors.js +2 -0
  142. package/dist/evals/budget.d.ts +42 -21
  143. package/dist/evals/budget.js +114 -62
  144. package/dist/evals/evals.module.d.ts +31 -0
  145. package/dist/evals/evals.module.js +114 -0
  146. package/dist/evals/jobs.d.ts +20 -0
  147. package/dist/evals/jobs.js +45 -0
  148. package/dist/evals/run-replay.d.ts +56 -8
  149. package/dist/evals/run-replay.js +140 -80
  150. package/dist/evals/runs.controller.d.ts +1 -1
  151. package/dist/evals/runs.controller.js +17 -8
  152. package/dist/evals/runs.service.d.ts +23 -45
  153. package/dist/evals/runs.service.js +245 -234
  154. package/dist/evals/sets.controller.d.ts +1 -1
  155. package/dist/evals/sets.controller.js +17 -8
  156. package/dist/evals/sets.service.d.ts +22 -6
  157. package/dist/evals/sets.service.js +248 -194
  158. package/dist/evals/snapshot.d.ts +2 -2
  159. package/dist/evals/step-replay.d.ts +2 -2
  160. package/dist/evals/step-replay.js +1 -1
  161. package/dist/evals/trajectory.controller.d.ts +1 -1
  162. package/dist/evals/trajectory.controller.js +11 -7
  163. package/dist/evals/trajectory.service.d.ts +5 -4
  164. package/dist/evals/trajectory.service.js +30 -7
  165. package/dist/evals/worker.d.ts +44 -27
  166. package/dist/evals/worker.js +220 -120
  167. package/dist/extensions/admin-ops.d.ts +61 -33
  168. package/dist/extensions/admin-ops.js +248 -154
  169. package/dist/extensions/admin-view.d.ts +38 -27
  170. package/dist/extensions/admin-view.js +126 -55
  171. package/dist/extensions/approvals.d.ts +12 -8
  172. package/dist/extensions/approvals.js +73 -46
  173. package/dist/extensions/blobs.d.ts +27 -10
  174. package/dist/extensions/blobs.js +111 -45
  175. package/dist/extensions/bootstrap.d.ts +96 -42
  176. package/dist/extensions/bootstrap.js +303 -155
  177. package/dist/extensions/cli.d.ts +20 -10
  178. package/dist/extensions/cli.js +41 -96
  179. package/dist/extensions/config-issues.d.ts +7 -0
  180. package/dist/extensions/config-issues.js +31 -0
  181. package/dist/extensions/deployment-config-store.d.ts +49 -0
  182. package/dist/extensions/deployment-config-store.js +133 -0
  183. package/dist/extensions/deployment-config.d.ts +58 -67
  184. package/dist/extensions/deployment-config.js +202 -230
  185. package/dist/extensions/enabled.d.ts +5 -5
  186. package/dist/extensions/extensions.module.d.ts +8 -0
  187. package/dist/extensions/extensions.module.js +77 -0
  188. package/dist/extensions/hooks.d.ts +3 -2
  189. package/dist/extensions/hooks.js +1 -1
  190. package/dist/extensions/host.d.ts +72 -68
  191. package/dist/extensions/host.js +191 -152
  192. package/dist/extensions/installs.d.ts +49 -16
  193. package/dist/extensions/installs.js +128 -32
  194. package/dist/extensions/job-ids.d.ts +6 -0
  195. package/dist/extensions/job-ids.js +6 -0
  196. package/dist/extensions/lifecycle-topics.d.ts +18 -0
  197. package/dist/extensions/lifecycle-topics.js +18 -0
  198. package/dist/extensions/lifecycle.d.ts +35 -47
  199. package/dist/extensions/lifecycle.js +103 -39
  200. package/dist/extensions/locks.d.ts +33 -0
  201. package/dist/extensions/locks.js +86 -0
  202. package/dist/extensions/migrate-lock.d.ts +3 -4
  203. package/dist/extensions/org-config.controller.d.ts +1 -1
  204. package/dist/extensions/org-config.controller.js +8 -5
  205. package/dist/extensions/org-config.d.ts +48 -46
  206. package/dist/extensions/org-config.js +284 -226
  207. package/dist/extensions/registry.d.ts +50 -2
  208. package/dist/extensions/registry.js +89 -4
  209. package/dist/extensions/sources.d.ts +12 -8
  210. package/dist/extensions/sources.js +34 -13
  211. package/dist/files/files.module.d.ts +3 -0
  212. package/dist/files/files.module.js +22 -0
  213. package/dist/files/previewers.controller.d.ts +7 -2
  214. package/dist/files/previewers.controller.js +17 -9
  215. package/dist/files/previewers.d.ts +13 -18
  216. package/dist/files/previewers.js +83 -36
  217. package/dist/http/adapter.d.ts +3 -0
  218. package/dist/http/adapter.js +25 -0
  219. package/dist/http/api.module.d.ts +3 -110
  220. package/dist/http/api.module.js +47 -355
  221. package/dist/http/app.d.ts +11 -15
  222. package/dist/http/app.js +52 -47
  223. package/dist/http/error-filter.module.d.ts +5 -0
  224. package/dist/http/error-filter.module.js +18 -0
  225. package/dist/http/error.filter.js +2 -2
  226. package/dist/identity/accounts.d.ts +82 -29
  227. package/dist/identity/accounts.js +294 -175
  228. package/dist/identity/api-tokens.d.ts +11 -7
  229. package/dist/identity/api-tokens.js +71 -44
  230. package/dist/identity/audit.d.ts +7 -4
  231. package/dist/identity/audit.js +5 -1
  232. package/dist/identity/auth.controller.d.ts +11 -10
  233. package/dist/identity/auth.controller.js +31 -25
  234. package/dist/identity/auth.guard.d.ts +3 -3
  235. package/dist/identity/auth.guard.js +6 -4
  236. package/dist/identity/binding.d.ts +9 -11
  237. package/dist/identity/binding.js +41 -13
  238. package/dist/identity/enterprise-admin.d.ts +18 -12
  239. package/dist/identity/enterprise-admin.js +67 -13
  240. package/dist/identity/external-identity-lock.d.ts +17 -0
  241. package/dist/identity/external-identity-lock.js +39 -0
  242. package/dist/identity/external.d.ts +19 -15
  243. package/dist/identity/external.js +163 -125
  244. package/dist/identity/identity.module.d.ts +6 -0
  245. package/dist/identity/identity.module.js +56 -0
  246. package/dist/identity/me.controller.d.ts +16 -15
  247. package/dist/identity/me.controller.js +37 -31
  248. package/dist/identity/sessions.d.ts +12 -10
  249. package/dist/identity/sessions.js +74 -42
  250. package/dist/identity/settings.d.ts +20 -14
  251. package/dist/identity/settings.js +85 -57
  252. package/dist/identity/sso.controller.d.ts +7 -7
  253. package/dist/identity/sso.controller.js +13 -9
  254. package/dist/identity/sso.d.ts +9 -12
  255. package/dist/identity/sso.js +54 -24
  256. package/dist/inbox/inbox.module.d.ts +3 -0
  257. package/dist/inbox/inbox.module.js +22 -0
  258. package/dist/inbox/inbox.service.d.ts +7 -9
  259. package/dist/inbox/inbox.service.js +32 -11
  260. package/dist/index.d.ts +19 -12
  261. package/dist/index.js +13 -8
  262. package/dist/infra/cache/cache.module.d.ts +3 -0
  263. package/dist/infra/cache/cache.module.js +16 -0
  264. package/dist/infra/cache/cache.service.d.ts +21 -0
  265. package/dist/infra/cache/cache.service.js +80 -0
  266. package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
  267. package/dist/infra/cache/cacheable.decorator.js +83 -0
  268. package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
  269. package/dist/infra/cli/kernel-cli.module.js +165 -0
  270. package/dist/infra/close-within.d.ts +15 -0
  271. package/dist/infra/close-within.js +36 -0
  272. package/dist/infra/config/config.module.d.ts +13 -0
  273. package/dist/infra/config/config.module.js +39 -0
  274. package/dist/infra/config/kernel-config.service.d.ts +25 -0
  275. package/dist/infra/config/kernel-config.service.js +126 -0
  276. package/dist/infra/database/after-commit.d.ts +6 -0
  277. package/dist/infra/database/after-commit.js +9 -0
  278. package/dist/infra/database/database.module.d.ts +25 -0
  279. package/dist/infra/database/database.module.js +90 -0
  280. package/dist/infra/database/kernel-db.d.ts +22 -0
  281. package/dist/infra/database/kernel-db.js +65 -0
  282. package/dist/infra/database/transaction-host.d.ts +50 -0
  283. package/dist/infra/database/transaction-host.js +125 -0
  284. package/dist/infra/database/transactional.decorator.d.ts +15 -0
  285. package/dist/infra/database/transactional.decorator.js +27 -0
  286. package/dist/infra/database/xact-lock.d.ts +17 -0
  287. package/dist/infra/database/xact-lock.js +43 -0
  288. package/dist/infra/events/kernel-events.d.ts +96 -0
  289. package/dist/infra/events/kernel-events.js +65 -0
  290. package/dist/infra/health/health.controller.d.ts +26 -0
  291. package/dist/infra/health/health.controller.js +104 -0
  292. package/dist/infra/health/health.module.d.ts +9 -0
  293. package/dist/infra/health/health.module.js +24 -0
  294. package/dist/infra/health/health.options.d.ts +10 -0
  295. package/dist/infra/health/health.options.js +15 -0
  296. package/dist/infra/health/shutdown-state.d.ts +6 -0
  297. package/dist/infra/health/shutdown-state.js +2 -0
  298. package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
  299. package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
  300. package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
  301. package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
  302. package/dist/infra/lifecycle/process-guards.d.ts +52 -0
  303. package/dist/infra/lifecycle/process-guards.js +86 -0
  304. package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
  305. package/dist/infra/lifecycle/shutdown-signals.js +48 -0
  306. package/dist/infra/lock/key-template.d.ts +13 -0
  307. package/dist/infra/lock/key-template.js +46 -0
  308. package/dist/infra/lock/lock.module.d.ts +3 -0
  309. package/dist/infra/lock/lock.module.js +16 -0
  310. package/dist/infra/lock/lock.service.d.ts +120 -0
  311. package/dist/infra/lock/lock.service.js +343 -0
  312. package/dist/infra/lock/shared-lease.d.ts +44 -0
  313. package/dist/infra/lock/shared-lease.js +121 -0
  314. package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
  315. package/dist/infra/lock/with-lock.decorator.js +49 -0
  316. package/dist/infra/logging/logging.module.d.ts +16 -0
  317. package/dist/infra/logging/logging.module.js +34 -0
  318. package/dist/infra/queue/configured-processor.d.ts +18 -0
  319. package/dist/infra/queue/configured-processor.js +23 -0
  320. package/dist/infra/queue/job-failure.d.ts +18 -0
  321. package/dist/infra/queue/job-failure.js +26 -0
  322. package/dist/infra/queue/queue-shutdown.d.ts +27 -0
  323. package/dist/infra/queue/queue-shutdown.js +81 -0
  324. package/dist/infra/queue/queue.module.d.ts +16 -0
  325. package/dist/infra/queue/queue.module.js +61 -0
  326. package/dist/infra/queue/redis-connection.d.ts +7 -0
  327. package/dist/infra/queue/redis-connection.js +18 -0
  328. package/dist/infra/queue/retired-schedulers.d.ts +7 -0
  329. package/dist/infra/queue/retired-schedulers.js +9 -0
  330. package/dist/infra/queue/run-job.d.ts +16 -0
  331. package/dist/infra/queue/run-job.js +19 -0
  332. package/dist/infra/redis/redis.module.d.ts +24 -0
  333. package/dist/infra/redis/redis.module.js +87 -0
  334. package/dist/infra/schedule/cron-tick.d.ts +12 -0
  335. package/dist/infra/schedule/cron-tick.js +25 -0
  336. package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
  337. package/dist/infra/schedule/locked-cron.decorator.js +53 -0
  338. package/dist/infra/schedule/locked-interval.d.ts +69 -0
  339. package/dist/infra/schedule/locked-interval.js +190 -0
  340. package/dist/infra/schedule/locked-tick.d.ts +90 -0
  341. package/dist/infra/schedule/locked-tick.js +137 -0
  342. package/dist/infra/schedule/schedule.module.d.ts +8 -0
  343. package/dist/infra/schedule/schedule.module.js +27 -0
  344. package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
  345. package/dist/infra/schedule/scheduled-runs.js +163 -0
  346. package/dist/infra/swagger/swagger.d.ts +16 -0
  347. package/dist/infra/swagger/swagger.js +31 -0
  348. package/dist/infra/throttler/credential-throttler.d.ts +35 -0
  349. package/dist/infra/throttler/credential-throttler.js +77 -0
  350. package/dist/infra/throttler/named-throttlers.d.ts +31 -0
  351. package/dist/infra/throttler/named-throttlers.js +119 -0
  352. package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
  353. package/dist/infra/throttler/redis-throttler-storage.js +130 -0
  354. package/dist/infra/throttler/throttler.guard.d.ts +23 -0
  355. package/dist/infra/throttler/throttler.guard.js +68 -0
  356. package/dist/infra/throttler/throttler.module.d.ts +15 -0
  357. package/dist/infra/throttler/throttler.module.js +53 -0
  358. package/dist/infra/tokens.d.ts +15 -0
  359. package/dist/infra/tokens.js +15 -0
  360. package/dist/infra/validation/create-zod-dto.d.ts +23 -0
  361. package/dist/infra/validation/create-zod-dto.js +35 -0
  362. package/dist/infra/validation/parse-with-zod.d.ts +7 -0
  363. package/dist/infra/validation/parse-with-zod.js +12 -0
  364. package/dist/infra/validation/validation.module.d.ts +3 -0
  365. package/dist/infra/validation/validation.module.js +16 -0
  366. package/dist/infra/validation/zod-params.d.ts +7 -0
  367. package/dist/infra/validation/zod-params.js +42 -0
  368. package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
  369. package/dist/infra/validation/zod-validation.pipe.js +31 -0
  370. package/dist/kernel.d.ts +9 -241
  371. package/dist/kernel.js +8 -1305
  372. package/dist/kernel.module.d.ts +17 -0
  373. package/dist/kernel.module.js +136 -0
  374. package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
  375. package/dist/lifecycle/kernel-lifecycle.js +451 -0
  376. package/dist/lifecycle/tokens.d.ts +3 -0
  377. package/dist/lifecycle/tokens.js +3 -0
  378. package/dist/log-config.d.ts +9 -0
  379. package/dist/log-config.js +27 -0
  380. package/dist/log-context.d.ts +34 -0
  381. package/dist/log-context.js +44 -0
  382. package/dist/log-loki.d.ts +34 -0
  383. package/dist/log-loki.js +145 -0
  384. package/dist/log.d.ts +41 -10
  385. package/dist/log.js +91 -17
  386. package/dist/models/models.module.d.ts +3 -0
  387. package/dist/models/models.module.js +24 -0
  388. package/dist/models/prices.d.ts +8 -2
  389. package/dist/models/prices.js +65 -37
  390. package/dist/models/purposes.controller.d.ts +1 -1
  391. package/dist/models/purposes.controller.js +5 -6
  392. package/dist/models/purposes.d.ts +35 -13
  393. package/dist/models/purposes.js +101 -51
  394. package/dist/net/public-address.js +3 -2
  395. package/dist/orgs/directory-sync.controller.d.ts +1 -1
  396. package/dist/orgs/directory-sync.controller.js +2 -2
  397. package/dist/orgs/directory-sync.d.ts +61 -31
  398. package/dist/orgs/directory-sync.js +212 -125
  399. package/dist/orgs/invitations.controller.d.ts +8 -8
  400. package/dist/orgs/invitations.controller.js +27 -26
  401. package/dist/orgs/invitations.service.d.ts +12 -9
  402. package/dist/orgs/invitations.service.js +130 -92
  403. package/dist/orgs/job-ids.d.ts +8 -0
  404. package/dist/orgs/job-ids.js +8 -0
  405. package/dist/orgs/members.service.d.ts +19 -12
  406. package/dist/orgs/members.service.js +161 -117
  407. package/dist/orgs/offboarding.d.ts +54 -57
  408. package/dist/orgs/offboarding.js +161 -71
  409. package/dist/orgs/org-lock.d.ts +28 -19
  410. package/dist/orgs/org-lock.js +81 -35
  411. package/dist/orgs/org.guard.d.ts +1 -1
  412. package/dist/orgs/org.guard.js +2 -2
  413. package/dist/orgs/orgs.controller.d.ts +13 -13
  414. package/dist/orgs/orgs.controller.js +29 -17
  415. package/dist/orgs/orgs.module.d.ts +6 -0
  416. package/dist/orgs/orgs.module.js +68 -0
  417. package/dist/orgs/orgs.service.d.ts +30 -19
  418. package/dist/orgs/orgs.service.js +139 -86
  419. package/dist/orgs/settings.controller.d.ts +1 -1
  420. package/dist/orgs/settings.controller.js +8 -6
  421. package/dist/orgs/settings.service.d.ts +14 -8
  422. package/dist/orgs/settings.service.js +75 -46
  423. package/dist/overrides.d.ts +56 -0
  424. package/dist/overrides.js +30 -0
  425. package/dist/roles/gateway-role.d.ts +43 -0
  426. package/dist/roles/gateway-role.js +98 -0
  427. package/dist/roles/gateway.module.d.ts +8 -0
  428. package/dist/roles/gateway.module.js +28 -0
  429. package/dist/roles/worker-role.d.ts +63 -0
  430. package/dist/roles/worker-role.js +144 -0
  431. package/dist/roles/worker.module.d.ts +14 -0
  432. package/dist/roles/worker.module.js +90 -0
  433. package/dist/runtime/abort.js +19 -2
  434. package/dist/runtime/checkpointer.d.ts +8 -3
  435. package/dist/runtime/checkpointer.js +87 -55
  436. package/dist/runtime/conversation-lock.d.ts +20 -11
  437. package/dist/runtime/conversation-lock.js +62 -72
  438. package/dist/runtime/hook-calls.d.ts +3 -3
  439. package/dist/runtime/hook-calls.js +1 -6
  440. package/dist/runtime/job-ids.d.ts +10 -0
  441. package/dist/runtime/job-ids.js +10 -0
  442. package/dist/runtime/langgraph-loop.js +1 -1
  443. package/dist/runtime/loop.d.ts +7 -0
  444. package/dist/runtime/loop.js +14 -0
  445. package/dist/runtime/maintenance-queue.d.ts +10 -0
  446. package/dist/runtime/maintenance-queue.js +10 -0
  447. package/dist/runtime/maintenance.d.ts +45 -74
  448. package/dist/runtime/maintenance.js +139 -136
  449. package/dist/runtime/model-call.d.ts +7 -4
  450. package/dist/runtime/model-call.js +24 -57
  451. package/dist/runtime/providers.d.ts +17 -6
  452. package/dist/runtime/providers.js +66 -25
  453. package/dist/runtime/quota.d.ts +17 -3
  454. package/dist/runtime/quota.js +27 -2
  455. package/dist/runtime/retired-schedulers.d.ts +7 -0
  456. package/dist/runtime/retired-schedulers.js +31 -0
  457. package/dist/runtime/run-control.d.ts +33 -0
  458. package/dist/runtime/run-control.js +77 -0
  459. package/dist/runtime/run-finish.d.ts +26 -17
  460. package/dist/runtime/run-finish.js +98 -51
  461. package/dist/runtime/run-jobs.d.ts +48 -0
  462. package/dist/runtime/run-jobs.js +95 -0
  463. package/dist/runtime/run-processors.d.ts +60 -0
  464. package/dist/runtime/run-processors.js +185 -0
  465. package/dist/runtime/run-queue.d.ts +32 -57
  466. package/dist/runtime/run-queue.js +291 -295
  467. package/dist/runtime/run-steps.d.ts +39 -0
  468. package/dist/runtime/run-steps.js +96 -0
  469. package/dist/runtime/run-worker.d.ts +121 -75
  470. package/dist/runtime/run-worker.js +340 -225
  471. package/dist/runtime/runtime.module.d.ts +10 -0
  472. package/dist/runtime/runtime.module.js +112 -0
  473. package/dist/runtime/step-log.d.ts +40 -0
  474. package/dist/runtime/step-log.js +94 -0
  475. package/dist/runtime/stream.controller.d.ts +5 -8
  476. package/dist/runtime/stream.controller.js +14 -12
  477. package/dist/runtime/stream.d.ts +24 -6
  478. package/dist/runtime/stream.js +78 -7
  479. package/dist/runtime/subagents/child.d.ts +3 -44
  480. package/dist/runtime/subagents/child.js +0 -79
  481. package/dist/runtime/subagents/definition.d.ts +4 -4
  482. package/dist/runtime/subagents/definition.js +2 -2
  483. package/dist/runtime/subagents/dispatch.d.ts +87 -6
  484. package/dist/runtime/subagents/dispatch.js +135 -140
  485. package/dist/runtime/subagents/limits.d.ts +9 -4
  486. package/dist/runtime/subagents/limits.js +4 -2
  487. package/dist/runtime/subagents/org-agents.d.ts +4 -4
  488. package/dist/runtime/subagents/org-agents.js +1 -1
  489. package/dist/runtime/subagents/progress.d.ts +2 -2
  490. package/dist/runtime/subagents/roster.d.ts +3 -3
  491. package/dist/runtime/subagents/roster.js +1 -1
  492. package/dist/runtime/subagents/skill-fork.d.ts +6 -7
  493. package/dist/runtime/subagents/skill-fork.js +16 -5
  494. package/dist/runtime/subagents/subagents.service.d.ts +40 -0
  495. package/dist/runtime/subagents/subagents.service.js +101 -0
  496. package/dist/runtime/usage-report.d.ts +94 -52
  497. package/dist/runtime/usage-report.js +200 -99
  498. package/dist/runtime/waits.d.ts +125 -57
  499. package/dist/runtime/waits.js +431 -208
  500. package/dist/sandbox/job-ids.d.ts +10 -0
  501. package/dist/sandbox/job-ids.js +10 -0
  502. package/dist/sandbox/jobs.d.ts +41 -0
  503. package/dist/sandbox/jobs.js +113 -0
  504. package/dist/sandbox/leases.d.ts +39 -31
  505. package/dist/sandbox/leases.js +117 -257
  506. package/dist/sandbox/providers.d.ts +19 -0
  507. package/dist/sandbox/providers.js +38 -0
  508. package/dist/sandbox/sandbox.module.d.ts +8 -0
  509. package/dist/sandbox/sandbox.module.js +30 -0
  510. package/dist/sandbox/sandbox.service.d.ts +24 -29
  511. package/dist/sandbox/sandbox.service.js +106 -75
  512. package/dist/skills/catalog.d.ts +33 -20
  513. package/dist/skills/catalog.js +96 -53
  514. package/dist/skills/changes.controller.d.ts +4 -4
  515. package/dist/skills/changes.controller.js +15 -9
  516. package/dist/skills/changes.service.d.ts +28 -18
  517. package/dist/skills/changes.service.js +421 -364
  518. package/dist/skills/invocable.controller.d.ts +1 -1
  519. package/dist/skills/invocable.controller.js +8 -5
  520. package/dist/skills/invoke.d.ts +16 -15
  521. package/dist/skills/invoke.js +48 -17
  522. package/dist/skills/skills.controller.d.ts +1 -1
  523. package/dist/skills/skills.controller.js +11 -6
  524. package/dist/skills/skills.module.d.ts +6 -0
  525. package/dist/skills/skills.module.js +30 -0
  526. package/dist/skills/skills.service.d.ts +47 -30
  527. package/dist/skills/skills.service.js +221 -158
  528. package/dist/storage/job-ids.d.ts +6 -0
  529. package/dist/storage/job-ids.js +6 -0
  530. package/dist/storage/purge.d.ts +22 -7
  531. package/dist/storage/purge.js +55 -3
  532. package/dist/storage/storage.module.d.ts +6 -0
  533. package/dist/storage/storage.module.js +23 -0
  534. package/dist/storage/storage.service.d.ts +18 -4
  535. package/dist/storage/storage.service.js +44 -3
  536. package/dist/tools/approvals.controller.d.ts +1 -1
  537. package/dist/tools/approvals.controller.js +12 -8
  538. package/dist/tools/approvals.service.d.ts +27 -25
  539. package/dist/tools/approvals.service.js +324 -258
  540. package/dist/tools/breaker.d.ts +2 -2
  541. package/dist/tools/breaker.js +21 -3
  542. package/dist/tools/builtins/ask-user.d.ts +2 -2
  543. package/dist/tools/builtins/ask-user.js +1 -1
  544. package/dist/tools/builtins/builtin-tools.d.ts +21 -0
  545. package/dist/tools/builtins/builtin-tools.js +80 -0
  546. package/dist/tools/builtins/read-tool-output.d.ts +2 -2
  547. package/dist/tools/builtins/read-tool-output.js +1 -1
  548. package/dist/tools/builtins/sandbox/bash.js +2 -2
  549. package/dist/tools/builtins/sandbox/common.d.ts +7 -4
  550. package/dist/tools/builtins/sandbox/common.js +5 -3
  551. package/dist/tools/builtins/sandbox/deliver.js +2 -2
  552. package/dist/tools/builtins/sandbox/edit.js +1 -1
  553. package/dist/tools/builtins/sandbox/glob.js +2 -2
  554. package/dist/tools/builtins/sandbox/grep.js +2 -2
  555. package/dist/tools/builtins/sandbox/read.js +1 -1
  556. package/dist/tools/builtins/sandbox/write.js +1 -1
  557. package/dist/tools/builtins/skill-load.d.ts +3 -3
  558. package/dist/tools/builtins/skill-load.js +1 -1
  559. package/dist/tools/canonical-json.d.ts +6 -0
  560. package/dist/tools/canonical-json.js +16 -0
  561. package/dist/tools/connector-content.controller.d.ts +1 -1
  562. package/dist/tools/connector-content.controller.js +11 -6
  563. package/dist/tools/connector-content.d.ts +12 -15
  564. package/dist/tools/connector-content.js +53 -18
  565. package/dist/tools/connectors.controller.d.ts +1 -1
  566. package/dist/tools/connectors.controller.js +21 -10
  567. package/dist/tools/connectors.service.d.ts +31 -13
  568. package/dist/tools/connectors.service.js +434 -344
  569. package/dist/tools/credentials.d.ts +17 -20
  570. package/dist/tools/credentials.js +55 -34
  571. package/dist/tools/drift.d.ts +29 -41
  572. package/dist/tools/drift.js +111 -79
  573. package/dist/tools/info.d.ts +12 -9
  574. package/dist/tools/info.js +33 -7
  575. package/dist/tools/job-ids.d.ts +13 -0
  576. package/dist/tools/job-ids.js +15 -0
  577. package/dist/tools/jobs.d.ts +24 -0
  578. package/dist/tools/jobs.js +69 -0
  579. package/dist/tools/oauth/flow-paths.d.ts +16 -0
  580. package/dist/tools/oauth/flow-paths.js +38 -0
  581. package/dist/tools/oauth/flow.d.ts +30 -30
  582. package/dist/tools/oauth/flow.js +109 -81
  583. package/dist/tools/oauth/oauth.controller.d.ts +3 -3
  584. package/dist/tools/oauth/oauth.controller.js +12 -9
  585. package/dist/tools/oauth/tokens.d.ts +11 -3
  586. package/dist/tools/oauth/tokens.js +15 -14
  587. package/dist/tools/outputs.d.ts +13 -4
  588. package/dist/tools/outputs.js +47 -3
  589. package/dist/tools/pipeline.d.ts +62 -46
  590. package/dist/tools/pipeline.js +145 -64
  591. package/dist/tools/policy.d.ts +2 -2
  592. package/dist/tools/questions.controller.d.ts +1 -1
  593. package/dist/tools/questions.controller.js +8 -5
  594. package/dist/tools/questions.service.d.ts +25 -24
  595. package/dist/tools/questions.service.js +201 -142
  596. package/dist/tools/registry.d.ts +30 -20
  597. package/dist/tools/registry.js +73 -37
  598. package/dist/tools/specs.d.ts +5 -4
  599. package/dist/tools/specs.js +3 -1
  600. package/dist/tools/tools.module.d.ts +10 -0
  601. package/dist/tools/tools.module.js +91 -0
  602. package/dist/ui/call-extension.d.ts +16 -0
  603. package/dist/ui/call-extension.js +38 -0
  604. package/dist/ui/embed-token.d.ts +9 -5
  605. package/dist/ui/embed-token.js +34 -6
  606. package/dist/ui/ui-stream.d.ts +22 -17
  607. package/dist/ui/ui-stream.js +72 -12
  608. package/dist/ui/ui.module.d.ts +7 -0
  609. package/dist/ui/ui.module.js +28 -0
  610. package/dist/ui/views.controller.d.ts +14 -12
  611. package/dist/ui/views.controller.js +32 -25
  612. package/dist/ui/views.d.ts +9 -57
  613. package/dist/ui/views.js +43 -45
  614. package/package.json +11 -2
  615. package/dist/http/health.controller.d.ts +0 -26
  616. package/dist/http/health.controller.js +0 -79
  617. package/dist/http/tokens.d.ts +0 -131
  618. package/dist/http/tokens.js +0 -131
  619. package/dist/http/zod.pipe.d.ts +0 -8
  620. package/dist/http/zod.pipe.js +0 -14
  621. package/dist/identity/rate-limit.d.ts +0 -55
  622. package/dist/identity/rate-limit.js +0 -121
  623. package/dist/sandbox/lifecycle.d.ts +0 -21
  624. package/dist/sandbox/lifecycle.js +0 -68
  625. /package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +0 -0
  626. /package/dist/http/{gateway.module.js → gateway-routes.js} +0 -0
@@ -1,18 +1,63 @@
1
+ import { type ExtensionManifest, type ExtensionPointRef } from "@capybara-hq/plugin-sdk";
2
+ import { type InflightTracker } from "./inflight.js";
1
3
  import type { ExtensionInstance } from "./instance.js";
4
+ import type { ExtensionSource } from "./sources.js";
5
+ /** One item of {@link ExtensionRegistry.list}. */
6
+ export interface ExtensionPointEntry {
7
+ plugin: string;
8
+ capability: ExtensionPointRef;
9
+ impl: unknown;
10
+ /** 插件清单的 version。 */
11
+ version: string;
12
+ /** 部署配置摘要,见 `deploymentConfigHash`。 */
13
+ configHash: string;
14
+ /** 提供方实例的在途计数(connector / sandbox / model-provider 的 `impl` 已经包成计入它的代理)。 */
15
+ inflight: InflightTracker;
16
+ }
2
17
  /**
3
- * 本进程生效的插件实例(按插件名,一名一个)。顺序 = 首次激活的顺序(宿主按依赖拓扑序加载;
4
- * 替换同名实例保持原位置)。只是本进程的视图:跨副本的期望状态在 PG(安装记录),由各副本自己 reconcile。
18
+ * The extension instances in effect in this process (by extension name, one each). One provider
19
+ * per process (decision R6 of the Nest kernel spec): the extension host writes it, other domains
20
+ * read extension points and manifests from it, never from the host. The order is the order of
21
+ * first activation (the host loads in dependency order; a replaced instance keeps its place). It
22
+ * is only this process's view: the desired state across replicas is in PG (the install records),
23
+ * and each replica reconciles itself.
5
24
  */
6
25
  export declare class ExtensionRegistry {
7
26
  private readonly instances;
8
27
  private readonly listeners;
9
28
  private rev;
29
+ /** The config-declared extension names of this process (the startup config `extensions` list). */
30
+ private declaredNames;
31
+ /**
32
+ * Records the config-declared extensions (the host at load; before it, the start sequence for
33
+ * the bootstrap step; the CLI from its inspection). Install records cannot take these names and
34
+ * the admin operations refuse them (C15).
35
+ */
36
+ declare(names: Iterable<string>): void;
37
+ /** The config-declared extension names → source (see {@link declare}). */
38
+ declared(): Map<string, ExtensionSource>;
10
39
  /** 原子替换:登记新实例,返回被替换的旧实例(由调用方 dispose)。 */
11
40
  activate(inst: ExtensionInstance): ExtensionInstance | undefined;
12
41
  /** 摘下:返回被摘下的实例(由调用方 dispose);不在时返回 undefined。 */
13
42
  deactivate(name: string): ExtensionInstance | undefined;
14
43
  current(name: string): ExtensionInstance | undefined;
44
+ /**
45
+ * An active extension's deployment config (validated against its manifest's schema, secrets
46
+ * included), passed back as `config` when the kernel calls its extension points (such as the
47
+ * login config of `identity-source@1`); undefined when it is not active. Never echo it in a
48
+ * response or a log.
49
+ */
50
+ deploymentConfig(name: string): unknown;
15
51
  all(): ExtensionInstance[];
52
+ /**
53
+ * 列出提供某能力(任意主版本)的所有插件及实现;`extensionPointName` 为能力名(不含主版本),
54
+ * 同一插件提供多个主版本时各占一项,由调用方按主版本选择。
55
+ * 每项带插件版本与部署配置摘要,供调用方做「插件升级 / 改配置即失效」的缓存键。
56
+ * 实时取自注册表:调用方不要缓存实现对象(插件撤销 / 升级后旧实现不再有效)。
57
+ */
58
+ list(extensionPointName: string): ExtensionPointEntry[];
59
+ /** 已加载插件的清单(按加载顺序,即依赖拓扑序)。 */
60
+ manifests(): ExtensionManifest[];
16
61
  /** 每次激活 / 摘下加一(给按版本缓存的派生视图用,如插件路由表)。 */
17
62
  revision(): number;
18
63
  /**
@@ -22,3 +67,6 @@ export declare class ExtensionRegistry {
22
67
  onChange(listener: (name: string) => void): () => void;
23
68
  private changed;
24
69
  }
70
+ /** The one {@link ExtensionRegistry}: every domain that reads extension points imports this. */
71
+ export declare class ExtensionRegistryModule {
72
+ }
@@ -1,11 +1,44 @@
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
+ import { parseExtensionPoint, } from "@capybara-hq/plugin-sdk";
8
+ import { Injectable, Module } from "@nestjs/common";
9
+ import { trackCalls } from "./inflight.js";
10
+ /** 内核消费的提供方能力:调用计入提供方实例的在途计数(撤销 / 升级时排空,C17)。 */
11
+ const TRACKED_EXTENSION_POINTS = {
12
+ connector: { sessions: ["open"] },
13
+ sandbox: {},
14
+ "model-provider": {},
15
+ };
1
16
  /**
2
- * 本进程生效的插件实例(按插件名,一名一个)。顺序 = 首次激活的顺序(宿主按依赖拓扑序加载;
3
- * 替换同名实例保持原位置)。只是本进程的视图:跨副本的期望状态在 PG(安装记录),由各副本自己 reconcile。
17
+ * The extension instances in effect in this process (by extension name, one each). One provider
18
+ * per process (decision R6 of the Nest kernel spec): the extension host writes it, other domains
19
+ * read extension points and manifests from it, never from the host. The order is the order of
20
+ * first activation (the host loads in dependency order; a replaced instance keeps its place). It
21
+ * is only this process's view: the desired state across replicas is in PG (the install records),
22
+ * and each replica reconciles itself.
4
23
  */
5
- export class ExtensionRegistry {
24
+ let ExtensionRegistry = class ExtensionRegistry {
6
25
  instances = new Map();
7
26
  listeners = new Set();
8
27
  rev = 0;
28
+ /** The config-declared extension names of this process (the startup config `extensions` list). */
29
+ declaredNames = new Map();
30
+ /**
31
+ * Records the config-declared extensions (the host at load; before it, the start sequence for
32
+ * the bootstrap step; the CLI from its inspection). Install records cannot take these names and
33
+ * the admin operations refuse them (C15).
34
+ */
35
+ declare(names) {
36
+ this.declaredNames = new Map([...names].map((n) => [n, "config"]));
37
+ }
38
+ /** The config-declared extension names → source (see {@link declare}). */
39
+ declared() {
40
+ return new Map(this.declaredNames);
41
+ }
9
42
  /** 原子替换:登记新实例,返回被替换的旧实例(由调用方 dispose)。 */
10
43
  activate(inst) {
11
44
  const old = this.instances.get(inst.name);
@@ -25,9 +58,50 @@ export class ExtensionRegistry {
25
58
  current(name) {
26
59
  return this.instances.get(name);
27
60
  }
61
+ /**
62
+ * An active extension's deployment config (validated against its manifest's schema, secrets
63
+ * included), passed back as `config` when the kernel calls its extension points (such as the
64
+ * login config of `identity-source@1`); undefined when it is not active. Never echo it in a
65
+ * response or a log.
66
+ */
67
+ deploymentConfig(name) {
68
+ return this.instances.get(name)?.config;
69
+ }
28
70
  all() {
29
71
  return [...this.instances.values()];
30
72
  }
73
+ /**
74
+ * 列出提供某能力(任意主版本)的所有插件及实现;`extensionPointName` 为能力名(不含主版本),
75
+ * 同一插件提供多个主版本时各占一项,由调用方按主版本选择。
76
+ * 每项带插件版本与部署配置摘要,供调用方做「插件升级 / 改配置即失效」的缓存键。
77
+ * 实时取自注册表:调用方不要缓存实现对象(插件撤销 / 升级后旧实现不再有效)。
78
+ */
79
+ list(extensionPointName) {
80
+ const out = [];
81
+ const tracked = TRACKED_EXTENSION_POINTS[extensionPointName];
82
+ for (const i of this.instances.values()) {
83
+ for (const [cap, impl] of i.provided) {
84
+ if (parseExtensionPoint(cap).name === extensionPointName) {
85
+ out.push({
86
+ plugin: i.name,
87
+ capability: cap,
88
+ // 内核消费的提供方调用计入实例在途计数:停用 / 升级时先排空、到时限中止(C17)
89
+ impl: tracked && typeof impl === "object" && impl !== null
90
+ ? trackCalls(impl, i.inflight, tracked)
91
+ : impl,
92
+ version: i.version,
93
+ configHash: i.configHash,
94
+ inflight: i.inflight,
95
+ });
96
+ }
97
+ }
98
+ }
99
+ return out;
100
+ }
101
+ /** 已加载插件的清单(按加载顺序,即依赖拓扑序)。 */
102
+ manifests() {
103
+ return this.all().map((i) => i.manifest);
104
+ }
31
105
  /** 每次激活 / 摘下加一(给按版本缓存的派生视图用,如插件路由表)。 */
32
106
  revision() {
33
107
  return this.rev;
@@ -53,4 +127,15 @@ export class ExtensionRegistry {
53
127
  }
54
128
  }
55
129
  }
56
- }
130
+ };
131
+ ExtensionRegistry = __decorate([
132
+ Injectable()
133
+ ], ExtensionRegistry);
134
+ export { ExtensionRegistry };
135
+ /** The one {@link ExtensionRegistry}: every domain that reads extension points imports this. */
136
+ let ExtensionRegistryModule = class ExtensionRegistryModule {
137
+ };
138
+ ExtensionRegistryModule = __decorate([
139
+ Module({ providers: [ExtensionRegistry], exports: [ExtensionRegistry] })
140
+ ], ExtensionRegistryModule);
141
+ export { ExtensionRegistryModule };
@@ -1,4 +1,6 @@
1
- import type { KernelDb } from "../db/kernel-schema.js";
1
+ import { KernelConfigService } from "../infra/config/kernel-config.service.js";
2
+ import { KernelDb } from "../infra/database/kernel-db.js";
3
+ import type { KernelLogger } from "../log.js";
2
4
  /**
3
5
  * Where an extension comes from (C15 / C13):
4
6
  * - `config`: the startup config's `extensions` list (development mode and existing deployments),
@@ -33,15 +35,17 @@ export interface ExtensionLoadStatus {
33
35
  /** This replica's extension load status (PG `extension_replica_status`; each replica writes only its own rows). */
34
36
  export declare class ReplicaStatusStore {
35
37
  private readonly db;
36
- readonly replicaId: string;
37
- private readonly httpReplicaId?;
38
- private readonly redact;
38
+ /** Its `redact` masks `detail` before it is written (an error may carry a secret an extension put in it). */
39
+ private readonly log;
39
40
  /** 本进程写过行(停机时才需要删;没写过时不碰数据库,例如启动在迁移前就失败)。 */
40
41
  private wrote;
41
- /**
42
- * @param redact 写 `detail` 之前打码(内核传 logger 的 `redact`:报错信息里可能带着插件拼进去的密钥)。
43
- */
44
- constructor(db: KernelDb, replicaId: string, httpReplicaId?: string | undefined, redact?: (text: string) => string);
42
+ /** This process's replica id ({@link newReplicaId}; one store per process). */
43
+ readonly replicaId: string;
44
+ /** `http.replicaId` of the startup config (recorded with each row). */
45
+ private readonly httpReplicaId;
46
+ constructor(db: KernelDb, config: KernelConfigService,
47
+ /** Its `redact` masks `detail` before it is written (an error may carry a secret an extension put in it). */
48
+ log: Pick<KernelLogger, "redact">);
45
49
  /** 打码后截断到 {@link MAX_DETAIL}。 */
46
50
  private cleanDetail;
47
51
  /** 写入(覆盖)本副本该插件的一行,心跳取当前时间。 */
@@ -1,6 +1,19 @@
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 { randomBytes } from "node:crypto";
2
11
  import { hostname } from "node:os";
12
+ import { Inject, Injectable } from "@nestjs/common";
3
13
  import { sql } from "kysely";
14
+ import { KernelConfigService } from "../infra/config/kernel-config.service.js";
15
+ import { KernelDb } from "../infra/database/kernel-db.js";
16
+ import { KERNEL_LOGGER } from "../infra/tokens.js";
4
17
  /** 副本(进程)id:`<hostname>-<pid>-<6 位随机>`,每个进程唯一(`http.replicaId` 可能跨重启不变或多副本相同)。 */
5
18
  export function newReplicaId() {
6
19
  return `${hostname()}-${process.pid}-${randomBytes(3).toString("hex")}`;
@@ -8,25 +21,26 @@ export function newReplicaId() {
8
21
  /** detail 的长度上限(报错信息可能很长)。 */
9
22
  const MAX_DETAIL = 2000;
10
23
  /** This replica's extension load status (PG `extension_replica_status`; each replica writes only its own rows). */
11
- export class ReplicaStatusStore {
24
+ let ReplicaStatusStore = class ReplicaStatusStore {
12
25
  db;
13
- replicaId;
14
- httpReplicaId;
15
- redact;
26
+ log;
16
27
  /** 本进程写过行(停机时才需要删;没写过时不碰数据库,例如启动在迁移前就失败)。 */
17
28
  wrote = false;
18
- /**
19
- * @param redact 写 `detail` 之前打码(内核传 logger 的 `redact`:报错信息里可能带着插件拼进去的密钥)。
20
- */
21
- constructor(db, replicaId, httpReplicaId, redact = (t) => t) {
29
+ /** This process's replica id ({@link newReplicaId}; one store per process). */
30
+ replicaId = newReplicaId();
31
+ /** `http.replicaId` of the startup config (recorded with each row). */
32
+ httpReplicaId;
33
+ constructor(db, config,
34
+ /** Its `redact` masks `detail` before it is written (an error may carry a secret an extension put in it). */
35
+ log) {
22
36
  this.db = db;
23
- this.replicaId = replicaId;
24
- this.httpReplicaId = httpReplicaId;
25
- this.redact = redact;
37
+ this.log = log;
38
+ const id = config.get().http.replicaId;
39
+ this.httpReplicaId = id === undefined ? undefined : String(id);
26
40
  }
27
41
  /** 打码后截断到 {@link MAX_DETAIL}。 */
28
42
  cleanDetail(detail) {
29
- return this.redact(detail).slice(0, MAX_DETAIL);
43
+ return this.log.redact(detail).slice(0, MAX_DETAIL);
30
44
  }
31
45
  /** 写入(覆盖)本副本该插件的一行,心跳取当前时间。 */
32
46
  async write(s) {
@@ -117,4 +131,11 @@ export class ReplicaStatusStore {
117
131
  .where("replica_id", "=", this.replicaId)
118
132
  .execute();
119
133
  }
120
- }
134
+ };
135
+ ReplicaStatusStore = __decorate([
136
+ Injectable(),
137
+ __param(0, Inject(KernelDb)),
138
+ __param(1, Inject(KernelConfigService)),
139
+ __param(2, Inject(KERNEL_LOGGER))
140
+ ], ReplicaStatusStore);
141
+ export { ReplicaStatusStore };
@@ -0,0 +1,3 @@
1
+ /** File previewers (`file-preview@1`): which previewers take a file, the org's order, rendering. */
2
+ export declare class FilesModule {
3
+ }
@@ -0,0 +1,22 @@
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
+ import { Module } from "@nestjs/common";
8
+ import { ConversationsModule } from "../conversations/conversations.module.js";
9
+ import { ExtensionsModule } from "../extensions/extensions.module.js";
10
+ import { StorageModule } from "../storage/storage.module.js";
11
+ import { PreviewerRegistry } from "./previewers.js";
12
+ /** File previewers (`file-preview@1`): which previewers take a file, the org's order, rendering. */
13
+ let FilesModule = class FilesModule {
14
+ };
15
+ FilesModule = __decorate([
16
+ Module({
17
+ imports: [ExtensionsModule, ConversationsModule, StorageModule],
18
+ providers: [PreviewerRegistry],
19
+ exports: [PreviewerRegistry],
20
+ })
21
+ ], FilesModule);
22
+ export { FilesModule };
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { type Principal } from "../identity/principal.js";
3
3
  import { type OrgContext } from "../orgs/org.guard.js";
4
- import type { OrgPreviewerItem, PreviewerItem, PreviewerRegistry } from "./previewers.js";
4
+ import { type OrgPreviewerItem, type PreviewerItem, PreviewerRegistry } from "./previewers.js";
5
5
  declare const PreviewQuery: z.ZodObject<{
6
6
  locale: z.ZodDefault<z.ZodEnum<{
7
7
  en: "en";
@@ -15,6 +15,11 @@ declare const OrderBody: z.ZodObject<{
15
15
  disabled: z.ZodDefault<z.ZodBoolean>;
16
16
  }, z.core.$strip>>;
17
17
  }, z.core.$strip>;
18
+ /** The previewer named in a preview path (the other path parameters are read as they are). */
19
+ declare const PreviewParams: z.ZodObject<{
20
+ plugin: z.ZodString;
21
+ previewerId: z.ZodString;
22
+ }, z.core.$strip>;
18
23
  /**
19
24
  * `file-preview@1` (UI refresh B Task 11):
20
25
  * - `GET /api/v1/orgs/:orgId/conversations/:id/files/:fileId/previewers` → `{ previewers }`: the
@@ -33,7 +38,7 @@ export declare class FilePreviewersController {
33
38
  forFile(principal: Principal, org: OrgContext, id: string, fileId: string): Promise<{
34
39
  previewers: PreviewerItem[];
35
40
  }>;
36
- preview(principal: Principal, org: OrgContext, id: string, fileId: string, plugin: string, previewerId: string, q: z.infer<typeof PreviewQuery>): Promise<{
41
+ preview(principal: Principal, org: OrgContext, id: string, fileId: string, { plugin, previewerId }: z.infer<typeof PreviewParams>, q: z.infer<typeof PreviewQuery>): Promise<{
37
42
  view: import("@capybara-hq/plugin-sdk").UiView;
38
43
  }>;
39
44
  list(org: OrgContext): Promise<{
@@ -7,17 +7,26 @@ 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, Get, Header, Inject, Param, Put, Query } from "@nestjs/common";
10
+ import { Controller, Get, Header, Inject, Param, Put } from "@nestjs/common";
11
11
  import { z } from "zod";
12
- import { FILE_PREVIEWERS } from "../http/tokens.js";
13
- import { ZodPipe } from "../http/zod.pipe.js";
14
12
  import { CurrentPrincipal, requireUser } from "../identity/principal.js";
13
+ import { createZodDto } from "../infra/validation/create-zod-dto.js";
14
+ import { ZBody, ZParam, ZQuery } from "../infra/validation/zod-params.js";
15
15
  import { CurrentOrg, OrgAction } from "../orgs/org.guard.js";
16
+ import { PreviewerRegistry } from "./previewers.js";
16
17
  const Id = z.string().min(1).max(100);
17
18
  const PreviewQuery = z.object({ locale: z.enum(["zh", "en"]).default("en") });
18
19
  const OrderBody = z.object({
19
20
  items: z.array(z.object({ plugin: Id, id: Id, disabled: z.boolean().default(false) })).max(500),
20
21
  });
22
+ /** The previewer named in a preview path (the other path parameters are read as they are). */
23
+ const PreviewParams = z.object({ plugin: Id, previewerId: Id });
24
+ class FilePreviewQueryDto extends createZodDto(PreviewQuery, "FilePreviewQuery") {
25
+ }
26
+ class FilePreviewParamsDto extends createZodDto(PreviewParams, "FilePreviewParams") {
27
+ }
28
+ class FilePreviewersOrderBodyDto extends createZodDto(OrderBody, "FilePreviewersOrderBody") {
29
+ }
21
30
  /**
22
31
  * `file-preview@1` (UI refresh B Task 11):
23
32
  * - `GET /api/v1/orgs/:orgId/conversations/:id/files/:fileId/previewers` → `{ previewers }`: the
@@ -39,7 +48,7 @@ let FilePreviewersController = class FilePreviewersController {
39
48
  const p = requireUser(principal);
40
49
  return { previewers: await this.previewers.forFile(org.orgId, id, p.account.id, fileId) };
41
50
  }
42
- async preview(principal, org, id, fileId, plugin, previewerId, q) {
51
+ async preview(principal, org, id, fileId, { plugin, previewerId }, q) {
43
52
  const p = requireUser(principal);
44
53
  const view = await this.previewers.render({
45
54
  orgId: org.orgId,
@@ -82,9 +91,8 @@ __decorate([
82
91
  __param(1, CurrentOrg()),
83
92
  __param(2, Param("id")),
84
93
  __param(3, Param("fileId")),
85
- __param(4, Param("plugin", new ZodPipe(Id))),
86
- __param(5, Param("previewerId", new ZodPipe(Id))),
87
- __param(6, Query(new ZodPipe(PreviewQuery)))
94
+ __param(4, ZParam(FilePreviewParamsDto)),
95
+ __param(5, ZQuery(FilePreviewQueryDto))
88
96
  ], FilePreviewersController.prototype, "preview", null);
89
97
  __decorate([
90
98
  Get("file-previewers"),
@@ -96,10 +104,10 @@ __decorate([
96
104
  OrgAction("org.extensions.manage"),
97
105
  __param(0, CurrentOrg()),
98
106
  __param(1, CurrentPrincipal()),
99
- __param(2, Body(new ZodPipe(OrderBody)))
107
+ __param(2, ZBody(FilePreviewersOrderBodyDto))
100
108
  ], FilePreviewersController.prototype, "put", null);
101
109
  FilePreviewersController = __decorate([
102
110
  Controller("api/v1/orgs/:orgId"),
103
- __param(0, Inject(FILE_PREVIEWERS))
111
+ __param(0, Inject(PreviewerRegistry))
104
112
  ], FilePreviewersController);
105
113
  export { FilePreviewersController };
@@ -1,8 +1,9 @@
1
1
  import { type FilePreviewer, type Logger, type UiView } from "@capybara-hq/plugin-sdk";
2
- import type { ConversationFiles } from "../conversations/files.js";
3
- import type { KernelDb } from "../db/kernel-schema.js";
4
- import type { ExtensionHost } from "../extensions/host.js";
5
- import type { StorageService } from "../storage/storage.service.js";
2
+ import { ConversationFiles } from "../conversations/files.js";
3
+ import { ExtensionHost } from "../extensions/host.js";
4
+ import { KernelDb } from "../infra/database/kernel-db.js";
5
+ import { TransactionHost } from "../infra/database/transaction-host.js";
6
+ import { StorageService } from "../storage/storage.service.js";
6
7
  /** Time limit of a previewer's render (UI refresh spec §5.3: 10 s on the conversation page). */
7
8
  export declare const FILE_PREVIEW_TIMEOUT_MS = 10000;
8
9
  /** A previewer that takes a file, as listed for the conversation page. */
@@ -24,29 +25,21 @@ export interface OrgPreviewerItem extends PreviewerItem {
24
25
  position: number;
25
26
  disabled: boolean;
26
27
  }
27
- export interface PreviewerRegistryDeps {
28
- db: KernelDb;
29
- host: Pick<ExtensionHost, "list">;
30
- /** Extensions enabled in the org (queried every time). */
31
- enabledPlugins(orgId: string): Promise<Set<string>>;
32
- files: Pick<ConversationFiles, "file">;
33
- storage: Pick<StorageService, "kernel">;
34
- log: Pick<Logger, "warn">;
35
- /** Default {@link FILE_PREVIEW_TIMEOUT_MS}. */
36
- timeoutMs?: number;
37
- }
28
+ /** Optional provider: a view previewer's render time limit (ms) instead of {@link FILE_PREVIEW_TIMEOUT_MS} (tests). */
29
+ export declare const FILE_PREVIEW_TIMEOUT: unique symbol;
38
30
  /**
39
31
  * `file-preview@1` (UI refresh spec §5.8): which previewers take a file, in the org's order
40
32
  * (`capybara.file_previewers` rows first by position, then the rest in provider order; disabled ones
41
33
  * dropped; only extensions enabled in the org), and rendering a view previewer through a read grant
42
34
  * for that one file (valid only during the call, capped at the previewer's `maxBytes`; the extension
43
35
  * never gets a storage key or URL). Providers are validated when they are provided (`ctx.provide`).
44
- * Not Nest-dependent; no state across requests.
36
+ * No state across requests.
45
37
  */
46
38
  export declare class PreviewerRegistry {
47
- private readonly d;
39
+ readonly txHost: TransactionHost;
48
40
  private readonly timeoutMs;
49
- constructor(d: PreviewerRegistryDeps);
41
+ private readonly d;
42
+ constructor(kdb: Pick<KernelDb, "db">, host: Pick<ExtensionHost, "list" | "enabledPlugins">, files: Pick<ConversationFiles, "file">, storage: Pick<StorageService, "kernel">, log: Pick<Logger, "warn">, txHost: TransactionHost, timeoutMs?: number);
50
43
  /** Every previewer loaded on this replica, in provider order (load order, then list order). */
51
44
  private loaded;
52
45
  /** The org's previewers (enabled extensions only) in its order, disabled ones included. */
@@ -68,6 +61,8 @@ export declare class PreviewerRegistry {
68
61
  accountId?: string;
69
62
  tokenId?: string;
70
63
  }): Promise<OrgPreviewerItem[]>;
64
+ /** Replaces the org's rows of the previewers this replica knows, in one transaction. */
65
+ private putIn;
71
66
  /** Previewers that take this file (viewer must read the conversation), in the org's order. */
72
67
  forFile(orgId: string, conversationId: string, viewer: string, fileId: string): Promise<PreviewerItem[]>;
73
68
  private accepting;
@@ -1,8 +1,25 @@
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 { FILE_PREVIEW_EXTENSION_POINT, previewerAccepts, validateUiView, } from "@capybara-hq/plugin-sdk";
11
+ import { Inject, Injectable, Optional } from "@nestjs/common";
2
12
  import { sql } from "kysely";
13
+ import { ConversationFiles } from "../conversations/files.js";
3
14
  import { ApiError } from "../errors.js";
15
+ import { ExtensionHost } from "../extensions/host.js";
4
16
  import { audit } from "../identity/audit.js";
5
- import { callExtension } from "../ui/views.js";
17
+ import { KernelDb } from "../infra/database/kernel-db.js";
18
+ import { TransactionHost } from "../infra/database/transaction-host.js";
19
+ import { Transactional } from "../infra/database/transactional.decorator.js";
20
+ import { KERNEL_LOGGER } from "../infra/tokens.js";
21
+ import { StorageService } from "../storage/storage.service.js";
22
+ import { callExtension } from "../ui/call-extension.js";
6
23
  /** Time limit of a previewer's render (UI refresh spec §5.3: 10 s on the conversation page). */
7
24
  export const FILE_PREVIEW_TIMEOUT_MS = 10_000;
8
25
  const notFound = () => new ApiError("ui.not_found", "Previewer not found");
@@ -40,20 +57,33 @@ async function readAtMost(body, max) {
40
57
  }
41
58
  return out;
42
59
  }
60
+ /** Optional provider: a view previewer's render time limit (ms) instead of {@link FILE_PREVIEW_TIMEOUT_MS} (tests). */
61
+ export const FILE_PREVIEW_TIMEOUT = Symbol("FILE_PREVIEW_TIMEOUT");
43
62
  /**
44
63
  * `file-preview@1` (UI refresh spec §5.8): which previewers take a file, in the org's order
45
64
  * (`capybara.file_previewers` rows first by position, then the rest in provider order; disabled ones
46
65
  * dropped; only extensions enabled in the org), and rendering a view previewer through a read grant
47
66
  * for that one file (valid only during the call, capped at the previewer's `maxBytes`; the extension
48
67
  * never gets a storage key or URL). Providers are validated when they are provided (`ctx.provide`).
49
- * Not Nest-dependent; no state across requests.
68
+ * No state across requests.
50
69
  */
51
- export class PreviewerRegistry {
52
- d;
70
+ let PreviewerRegistry = class PreviewerRegistry {
71
+ txHost;
53
72
  timeoutMs;
54
- constructor(d) {
55
- this.d = d;
56
- this.timeoutMs = d.timeoutMs ?? FILE_PREVIEW_TIMEOUT_MS;
73
+ d;
74
+ constructor(kdb, host, files, storage, log, txHost, timeoutMs = FILE_PREVIEW_TIMEOUT_MS) {
75
+ this.txHost = txHost;
76
+ this.timeoutMs = timeoutMs;
77
+ this.d = {
78
+ get db() {
79
+ return kdb.db;
80
+ },
81
+ host,
82
+ enabledPlugins: (orgId) => host.enabledPlugins(orgId),
83
+ files,
84
+ storage,
85
+ log,
86
+ };
57
87
  }
58
88
  /** Every previewer loaded on this replica, in provider order (load order, then list order). */
59
89
  loaded() {
@@ -119,36 +149,38 @@ export class PreviewerRegistry {
119
149
  }
120
150
  seen.add(k);
121
151
  }
122
- await this.d.db.transaction().execute(async (trx) => {
123
- if (known.size > 0) {
124
- await trx
125
- .deleteFrom("file_previewers")
126
- .where("org_id", "=", orgId)
127
- .where(sql `plugin || '/' || previewer_id`, "in", [...known])
128
- .execute();
129
- }
130
- if (items.length > 0) {
131
- await trx
132
- .insertInto("file_previewers")
133
- .values(items.map((i, position) => ({
134
- org_id: orgId,
135
- plugin: i.plugin,
136
- previewer_id: i.id,
137
- position,
138
- disabled: i.disabled,
139
- })))
140
- .execute();
141
- }
142
- await audit(trx, {
143
- ...(actor.accountId !== undefined && { actorAccountId: actor.accountId }),
144
- ...(actor.tokenId !== undefined && { actorTokenId: actor.tokenId }),
145
- orgId,
146
- action: "org.file_previewers.updated",
147
- detail: { items },
148
- });
149
- });
152
+ await this.putIn(orgId, items, known, actor);
150
153
  return this.list(orgId);
151
154
  }
155
+ /** Replaces the org's rows of the previewers this replica knows, in one transaction. */
156
+ async putIn(orgId, items, known, actor) {
157
+ if (known.size > 0) {
158
+ await this.d.db
159
+ .deleteFrom("file_previewers")
160
+ .where("org_id", "=", orgId)
161
+ .where(sql `plugin || '/' || previewer_id`, "in", [...known])
162
+ .execute();
163
+ }
164
+ if (items.length > 0) {
165
+ await this.d.db
166
+ .insertInto("file_previewers")
167
+ .values(items.map((i, position) => ({
168
+ org_id: orgId,
169
+ plugin: i.plugin,
170
+ previewer_id: i.id,
171
+ position,
172
+ disabled: i.disabled,
173
+ })))
174
+ .execute();
175
+ }
176
+ await audit(this.d.db, {
177
+ ...(actor.accountId !== undefined && { actorAccountId: actor.accountId }),
178
+ ...(actor.tokenId !== undefined && { actorTokenId: actor.tokenId }),
179
+ orgId,
180
+ action: "org.file_previewers.updated",
181
+ detail: { items },
182
+ });
183
+ }
152
184
  /** Previewers that take this file (viewer must read the conversation), in the org's order. */
153
185
  async forFile(orgId, conversationId, viewer, fileId) {
154
186
  const file = await this.d.files.file(orgId, conversationId, viewer, fileId);
@@ -247,4 +279,19 @@ export class PreviewerRegistry {
247
279
  const file = await this.d.files.file(t.orgId, t.conversationId, t.accountId, t.fileId);
248
280
  return (await this.accepting(t.orgId, file)).some((l) => l.plugin === t.plugin && l.previewer.embed === t.contribution);
249
281
  }
250
- }
282
+ };
283
+ __decorate([
284
+ Transactional({ propagation: "requires_new" })
285
+ ], PreviewerRegistry.prototype, "putIn", null);
286
+ PreviewerRegistry = __decorate([
287
+ Injectable(),
288
+ __param(0, Inject(KernelDb)),
289
+ __param(1, Inject(ExtensionHost)),
290
+ __param(2, Inject(ConversationFiles)),
291
+ __param(3, Inject(StorageService)),
292
+ __param(4, Inject(KERNEL_LOGGER)),
293
+ __param(5, Inject(TransactionHost)),
294
+ __param(6, Optional()),
295
+ __param(6, Inject(FILE_PREVIEW_TIMEOUT))
296
+ ], PreviewerRegistry);
297
+ export { PreviewerRegistry };
@@ -0,0 +1,3 @@
1
+ import { FastifyAdapter } from "@nestjs/platform-fastify";
2
+ /** The kernel's Fastify adapter: trusted proxies (`http.trustProxy`) and validated request ids. */
3
+ export declare function createKernelAdapter(trustProxy?: boolean | number | string[]): FastifyAdapter;