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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (670) hide show
  1. package/dist/admin/admin.controller.d.ts +17 -17
  2. package/dist/admin/admin.controller.js +43 -26
  3. package/dist/admin/admin.module.d.ts +3 -0
  4. package/dist/admin/admin.module.js +22 -0
  5. package/dist/admin/extensions.controller.d.ts +14 -14
  6. package/dist/admin/extensions.controller.js +30 -17
  7. package/dist/admin/setup-lock.d.ts +16 -0
  8. package/dist/admin/setup-lock.js +47 -0
  9. package/dist/admin/setup.controller.d.ts +8 -8
  10. package/dist/admin/setup.controller.js +27 -25
  11. package/dist/admin/setup.service.d.ts +19 -27
  12. package/dist/admin/setup.service.js +61 -61
  13. package/dist/agents/agent-lookup.d.ts +53 -0
  14. package/dist/agents/agent-lookup.js +187 -0
  15. package/dist/agents/agents.controller.d.ts +1 -1
  16. package/dist/agents/agents.controller.js +14 -8
  17. package/dist/agents/agents.module.d.ts +7 -0
  18. package/dist/agents/agents.module.js +41 -0
  19. package/dist/agents/agents.service.d.ts +39 -58
  20. package/dist/agents/agents.service.js +280 -335
  21. package/dist/agents/definition.d.ts +39 -8
  22. package/dist/agents/definition.js +201 -17
  23. package/dist/agents/models.controller.d.ts +1 -1
  24. package/dist/agents/models.controller.js +2 -2
  25. package/dist/agents/templates.controller.d.ts +1 -1
  26. package/dist/agents/templates.controller.js +2 -2
  27. package/dist/agents/templates.d.ts +6 -8
  28. package/dist/agents/templates.js +39 -8
  29. package/dist/app.d.ts +93 -0
  30. package/dist/app.js +150 -0
  31. package/dist/catalog/admin-catalog.controller.d.ts +3 -3
  32. package/dist/catalog/admin-catalog.controller.js +27 -13
  33. package/dist/catalog/catalog-content.d.ts +185 -0
  34. package/dist/catalog/catalog-content.js +326 -0
  35. package/dist/catalog/catalog-items.d.ts +186 -0
  36. package/dist/catalog/catalog-items.js +410 -0
  37. package/dist/catalog/catalog.module.d.ts +14 -0
  38. package/dist/catalog/catalog.module.js +71 -0
  39. package/dist/catalog/catalog.service.d.ts +34 -188
  40. package/dist/catalog/catalog.service.js +155 -489
  41. package/dist/catalog/claude/agents.js +13 -10
  42. package/dist/catalog/cli.d.ts +3 -2
  43. package/dist/catalog/cli.js +13 -31
  44. package/dist/catalog/job-ids.d.ts +15 -0
  45. package/dist/catalog/job-ids.js +15 -0
  46. package/dist/catalog/jobs.d.ts +27 -0
  47. package/dist/catalog/jobs.js +70 -0
  48. package/dist/catalog/locks.d.ts +24 -0
  49. package/dist/catalog/locks.js +63 -0
  50. package/dist/catalog/marketplaces.controller.d.ts +4 -4
  51. package/dist/catalog/marketplaces.controller.js +22 -11
  52. package/dist/catalog/marketplaces.service.d.ts +31 -14
  53. package/dist/catalog/marketplaces.service.js +330 -256
  54. package/dist/catalog/org-catalog.controller.d.ts +4 -3
  55. package/dist/catalog/org-catalog.controller.js +29 -14
  56. package/dist/catalog/org-catalog.service.d.ts +32 -198
  57. package/dist/catalog/org-catalog.service.js +159 -400
  58. package/dist/catalog/plugin-import.d.ts +73 -34
  59. package/dist/catalog/plugin-import.js +356 -217
  60. package/dist/catalog/plugin-install.d.ts +83 -41
  61. package/dist/catalog/plugin-install.js +421 -269
  62. package/dist/catalog/plugin-upgrade.d.ts +59 -4
  63. package/dist/catalog/plugin-upgrade.js +407 -282
  64. package/dist/catalog/requests.service.d.ts +27 -15
  65. package/dist/catalog/requests.service.js +201 -145
  66. package/dist/catalog/upgrade-targets.d.ts +4 -7
  67. package/dist/channels/actions.d.ts +6 -4
  68. package/dist/channels/actions.js +1 -1
  69. package/dist/channels/cards.d.ts +10 -4
  70. package/dist/channels/cards.js +16 -8
  71. package/dist/channels/channels.module.d.ts +40 -0
  72. package/dist/channels/channels.module.js +128 -0
  73. package/dist/channels/connections.controller.d.ts +1 -1
  74. package/dist/channels/connections.controller.js +11 -6
  75. package/dist/channels/connections.service.d.ts +43 -21
  76. package/dist/channels/connections.service.js +236 -131
  77. package/dist/channels/inbound.d.ts +34 -38
  78. package/dist/channels/inbound.js +107 -41
  79. package/dist/channels/job-ids.d.ts +10 -0
  80. package/dist/channels/job-ids.js +10 -0
  81. package/dist/channels/jobs.d.ts +85 -0
  82. package/dist/channels/jobs.js +157 -0
  83. package/dist/channels/outbound.d.ts +60 -82
  84. package/dist/channels/outbound.js +165 -194
  85. package/dist/channels/supervisor.d.ts +88 -46
  86. package/dist/channels/supervisor.js +230 -132
  87. package/dist/channels/threads.d.ts +29 -8
  88. package/dist/channels/threads.js +71 -13
  89. package/dist/channels/webhook.d.ts +20 -14
  90. package/dist/channels/webhook.js +51 -20
  91. package/dist/config/load.d.ts +3 -2
  92. package/dist/config/load.js +3 -2
  93. package/dist/config/nacos-source.js +11 -2
  94. package/dist/config/schema.d.ts +1 -0
  95. package/dist/config/schema.js +12 -6
  96. package/dist/conversations/access.d.ts +29 -0
  97. package/dist/conversations/access.js +86 -0
  98. package/dist/conversations/artifacts.d.ts +11 -11
  99. package/dist/conversations/artifacts.js +36 -10
  100. package/dist/conversations/attachments.controller.d.ts +1 -1
  101. package/dist/conversations/attachments.controller.js +8 -6
  102. package/dist/conversations/attachments.module.d.ts +7 -0
  103. package/dist/conversations/attachments.module.js +25 -0
  104. package/dist/conversations/attachments.service.d.ts +30 -22
  105. package/dist/conversations/attachments.service.js +119 -46
  106. package/dist/conversations/conversations.controller.d.ts +8 -7
  107. package/dist/conversations/conversations.controller.js +59 -29
  108. package/dist/conversations/conversations.module.d.ts +8 -0
  109. package/dist/conversations/conversations.module.js +69 -0
  110. package/dist/conversations/conversations.service.d.ts +40 -38
  111. package/dist/conversations/conversations.service.js +130 -140
  112. package/dist/conversations/event-log.d.ts +39 -18
  113. package/dist/conversations/event-log.js +93 -27
  114. package/dist/conversations/events.d.ts +23 -3
  115. package/dist/conversations/events.js +26 -14
  116. package/dist/conversations/files.d.ts +10 -10
  117. package/dist/conversations/files.js +37 -11
  118. package/dist/conversations/idem-keys.d.ts +5 -0
  119. package/dist/conversations/idem-keys.js +5 -0
  120. package/dist/conversations/job-ids.d.ts +6 -0
  121. package/dist/conversations/job-ids.js +6 -0
  122. package/dist/conversations/outputs-read.d.ts +11 -11
  123. package/dist/conversations/outputs-read.js +31 -7
  124. package/dist/conversations/queue.d.ts +48 -56
  125. package/dist/conversations/queue.js +13 -289
  126. package/dist/conversations/queue.service.d.ts +60 -0
  127. package/dist/conversations/queue.service.js +343 -0
  128. package/dist/conversations/sandbox-status.d.ts +13 -10
  129. package/dist/conversations/sandbox-status.js +36 -8
  130. package/dist/conversations/titles.d.ts +71 -24
  131. package/dist/conversations/titles.js +159 -63
  132. package/dist/ctx/bus.js +9 -3
  133. package/dist/ctx/create-ctx.d.ts +6 -0
  134. package/dist/ctx/create-ctx.js +7 -9
  135. package/dist/ctx/lock.d.ts +7 -3
  136. package/dist/ctx/lock.js +9 -20
  137. package/dist/ctx/secrets.d.ts +10 -2
  138. package/dist/ctx/secrets.js +7 -3
  139. package/dist/db/kernel-schema.d.ts +4 -4
  140. package/dist/db/pool.d.ts +5 -0
  141. package/dist/db/pool.js +1 -0
  142. package/dist/errors.d.ts +1 -0
  143. package/dist/errors.js +1 -0
  144. package/dist/evals/budget.d.ts +42 -21
  145. package/dist/evals/budget.js +114 -62
  146. package/dist/evals/evals.module.d.ts +31 -0
  147. package/dist/evals/evals.module.js +114 -0
  148. package/dist/evals/jobs.d.ts +20 -0
  149. package/dist/evals/jobs.js +45 -0
  150. package/dist/evals/recorded-tools.d.ts +27 -1
  151. package/dist/evals/recorded-tools.js +85 -10
  152. package/dist/evals/run-replay.d.ts +61 -8
  153. package/dist/evals/run-replay.js +159 -85
  154. package/dist/evals/runs.controller.d.ts +1 -1
  155. package/dist/evals/runs.controller.js +17 -8
  156. package/dist/evals/runs.service.d.ts +23 -45
  157. package/dist/evals/runs.service.js +245 -234
  158. package/dist/evals/sets.controller.d.ts +1 -1
  159. package/dist/evals/sets.controller.js +17 -8
  160. package/dist/evals/sets.service.d.ts +22 -6
  161. package/dist/evals/sets.service.js +248 -194
  162. package/dist/evals/snapshot.d.ts +2 -2
  163. package/dist/evals/step-replay.d.ts +2 -2
  164. package/dist/evals/step-replay.js +1 -1
  165. package/dist/evals/trajectory.controller.d.ts +1 -1
  166. package/dist/evals/trajectory.controller.js +11 -7
  167. package/dist/evals/trajectory.d.ts +2 -2
  168. package/dist/evals/trajectory.service.d.ts +5 -4
  169. package/dist/evals/trajectory.service.js +30 -7
  170. package/dist/evals/worker.d.ts +44 -27
  171. package/dist/evals/worker.js +220 -121
  172. package/dist/extensions/admin-ops.d.ts +61 -33
  173. package/dist/extensions/admin-ops.js +248 -154
  174. package/dist/extensions/admin-view.d.ts +38 -27
  175. package/dist/extensions/admin-view.js +126 -55
  176. package/dist/extensions/approvals.d.ts +12 -8
  177. package/dist/extensions/approvals.js +73 -46
  178. package/dist/extensions/blobs.d.ts +27 -10
  179. package/dist/extensions/blobs.js +111 -45
  180. package/dist/extensions/bootstrap.d.ts +58 -31
  181. package/dist/extensions/bootstrap.js +175 -121
  182. package/dist/extensions/cli.d.ts +20 -10
  183. package/dist/extensions/cli.js +41 -96
  184. package/dist/extensions/config-issues.d.ts +7 -0
  185. package/dist/extensions/config-issues.js +31 -0
  186. package/dist/extensions/deployment-config-store.d.ts +49 -0
  187. package/dist/extensions/deployment-config-store.js +133 -0
  188. package/dist/extensions/deployment-config.d.ts +58 -67
  189. package/dist/extensions/deployment-config.js +202 -230
  190. package/dist/extensions/enabled.d.ts +5 -5
  191. package/dist/extensions/extensions.module.d.ts +8 -0
  192. package/dist/extensions/extensions.module.js +77 -0
  193. package/dist/extensions/hooks.d.ts +3 -2
  194. package/dist/extensions/hooks.js +1 -1
  195. package/dist/extensions/host.d.ts +72 -68
  196. package/dist/extensions/host.js +191 -152
  197. package/dist/extensions/installs.d.ts +49 -16
  198. package/dist/extensions/installs.js +128 -32
  199. package/dist/extensions/job-ids.d.ts +6 -0
  200. package/dist/extensions/job-ids.js +6 -0
  201. package/dist/extensions/lifecycle-topics.d.ts +18 -0
  202. package/dist/extensions/lifecycle-topics.js +18 -0
  203. package/dist/extensions/lifecycle.d.ts +35 -47
  204. package/dist/extensions/lifecycle.js +103 -39
  205. package/dist/extensions/locks.d.ts +33 -0
  206. package/dist/extensions/locks.js +86 -0
  207. package/dist/extensions/migrate-lock.d.ts +3 -4
  208. package/dist/extensions/org-config.controller.d.ts +1 -1
  209. package/dist/extensions/org-config.controller.js +8 -5
  210. package/dist/extensions/org-config.d.ts +48 -46
  211. package/dist/extensions/org-config.js +284 -226
  212. package/dist/extensions/registry.d.ts +50 -2
  213. package/dist/extensions/registry.js +89 -4
  214. package/dist/extensions/sources.d.ts +12 -8
  215. package/dist/extensions/sources.js +34 -13
  216. package/dist/files/files.module.d.ts +3 -0
  217. package/dist/files/files.module.js +22 -0
  218. package/dist/files/previewers.controller.d.ts +7 -2
  219. package/dist/files/previewers.controller.js +17 -9
  220. package/dist/files/previewers.d.ts +13 -18
  221. package/dist/files/previewers.js +83 -36
  222. package/dist/http/adapter.d.ts +3 -0
  223. package/dist/http/adapter.js +25 -0
  224. package/dist/http/api.module.d.ts +3 -110
  225. package/dist/http/api.module.js +47 -355
  226. package/dist/http/app.d.ts +11 -15
  227. package/dist/http/app.js +17 -62
  228. package/dist/http/error-filter.module.d.ts +5 -0
  229. package/dist/http/error-filter.module.js +18 -0
  230. package/dist/http/error.filter.js +2 -2
  231. package/dist/identity/accounts.d.ts +82 -29
  232. package/dist/identity/accounts.js +294 -175
  233. package/dist/identity/api-tokens.d.ts +11 -7
  234. package/dist/identity/api-tokens.js +71 -44
  235. package/dist/identity/audit.d.ts +7 -4
  236. package/dist/identity/audit.js +5 -1
  237. package/dist/identity/auth.controller.d.ts +11 -10
  238. package/dist/identity/auth.controller.js +31 -25
  239. package/dist/identity/auth.guard.d.ts +3 -3
  240. package/dist/identity/auth.guard.js +6 -4
  241. package/dist/identity/binding.d.ts +9 -11
  242. package/dist/identity/binding.js +41 -13
  243. package/dist/identity/enterprise-admin.d.ts +18 -12
  244. package/dist/identity/enterprise-admin.js +67 -13
  245. package/dist/identity/external-identity-lock.d.ts +17 -0
  246. package/dist/identity/external-identity-lock.js +39 -0
  247. package/dist/identity/external.d.ts +19 -15
  248. package/dist/identity/external.js +163 -125
  249. package/dist/identity/identity.module.d.ts +6 -0
  250. package/dist/identity/identity.module.js +56 -0
  251. package/dist/identity/me.controller.d.ts +16 -15
  252. package/dist/identity/me.controller.js +37 -31
  253. package/dist/identity/sessions.d.ts +12 -10
  254. package/dist/identity/sessions.js +74 -42
  255. package/dist/identity/settings.d.ts +20 -14
  256. package/dist/identity/settings.js +86 -58
  257. package/dist/identity/sso.controller.d.ts +7 -7
  258. package/dist/identity/sso.controller.js +13 -9
  259. package/dist/identity/sso.d.ts +9 -12
  260. package/dist/identity/sso.js +54 -24
  261. package/dist/inbox/inbox.module.d.ts +3 -0
  262. package/dist/inbox/inbox.module.js +22 -0
  263. package/dist/inbox/inbox.service.d.ts +7 -9
  264. package/dist/inbox/inbox.service.js +32 -11
  265. package/dist/index.d.ts +16 -11
  266. package/dist/index.js +9 -6
  267. package/dist/infra/cache/cache.module.d.ts +3 -0
  268. package/dist/infra/cache/cache.module.js +16 -0
  269. package/dist/infra/cache/cache.service.d.ts +21 -0
  270. package/dist/infra/cache/cache.service.js +80 -0
  271. package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
  272. package/dist/infra/cache/cacheable.decorator.js +83 -0
  273. package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
  274. package/dist/infra/cli/kernel-cli.module.js +165 -0
  275. package/dist/infra/close-within.d.ts +15 -0
  276. package/dist/infra/close-within.js +36 -0
  277. package/dist/infra/config/config.module.d.ts +13 -0
  278. package/dist/infra/config/config.module.js +39 -0
  279. package/dist/infra/config/kernel-config.service.d.ts +25 -0
  280. package/dist/infra/config/kernel-config.service.js +126 -0
  281. package/dist/infra/database/after-commit.d.ts +6 -0
  282. package/dist/infra/database/after-commit.js +9 -0
  283. package/dist/infra/database/database.module.d.ts +25 -0
  284. package/dist/infra/database/database.module.js +90 -0
  285. package/dist/infra/database/kernel-db.d.ts +22 -0
  286. package/dist/infra/database/kernel-db.js +65 -0
  287. package/dist/infra/database/transaction-host.d.ts +50 -0
  288. package/dist/infra/database/transaction-host.js +125 -0
  289. package/dist/infra/database/transactional.decorator.d.ts +15 -0
  290. package/dist/infra/database/transactional.decorator.js +27 -0
  291. package/dist/infra/database/xact-lock.d.ts +17 -0
  292. package/dist/infra/database/xact-lock.js +43 -0
  293. package/dist/infra/events/kernel-events.d.ts +96 -0
  294. package/dist/infra/events/kernel-events.js +65 -0
  295. package/dist/infra/health/health.controller.d.ts +26 -0
  296. package/dist/infra/health/health.controller.js +104 -0
  297. package/dist/infra/health/health.module.d.ts +9 -0
  298. package/dist/infra/health/health.module.js +24 -0
  299. package/dist/infra/health/health.options.d.ts +10 -0
  300. package/dist/infra/health/health.options.js +15 -0
  301. package/dist/infra/health/shutdown-state.d.ts +6 -0
  302. package/dist/infra/health/shutdown-state.js +2 -0
  303. package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
  304. package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
  305. package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
  306. package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
  307. package/dist/infra/lifecycle/process-guards.d.ts +52 -0
  308. package/dist/infra/lifecycle/process-guards.js +86 -0
  309. package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
  310. package/dist/infra/lifecycle/shutdown-signals.js +48 -0
  311. package/dist/infra/lock/key-template.d.ts +13 -0
  312. package/dist/infra/lock/key-template.js +46 -0
  313. package/dist/infra/lock/lock.module.d.ts +3 -0
  314. package/dist/infra/lock/lock.module.js +16 -0
  315. package/dist/infra/lock/lock.service.d.ts +120 -0
  316. package/dist/infra/lock/lock.service.js +343 -0
  317. package/dist/infra/lock/shared-lease.d.ts +44 -0
  318. package/dist/infra/lock/shared-lease.js +121 -0
  319. package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
  320. package/dist/infra/lock/with-lock.decorator.js +49 -0
  321. package/dist/infra/logging/logging.module.d.ts +16 -0
  322. package/dist/infra/logging/logging.module.js +34 -0
  323. package/dist/infra/queue/configured-processor.d.ts +18 -0
  324. package/dist/infra/queue/configured-processor.js +23 -0
  325. package/dist/infra/queue/job-failure.d.ts +18 -0
  326. package/dist/infra/queue/job-failure.js +26 -0
  327. package/dist/infra/queue/queue-shutdown.d.ts +27 -0
  328. package/dist/infra/queue/queue-shutdown.js +81 -0
  329. package/dist/infra/queue/queue.module.d.ts +16 -0
  330. package/dist/infra/queue/queue.module.js +61 -0
  331. package/dist/infra/queue/redis-connection.d.ts +7 -0
  332. package/dist/infra/queue/redis-connection.js +18 -0
  333. package/dist/infra/queue/retired-schedulers.d.ts +7 -0
  334. package/dist/infra/queue/retired-schedulers.js +9 -0
  335. package/dist/infra/queue/run-job.d.ts +16 -0
  336. package/dist/infra/queue/run-job.js +19 -0
  337. package/dist/infra/redis/redis.module.d.ts +24 -0
  338. package/dist/infra/redis/redis.module.js +87 -0
  339. package/dist/infra/schedule/cron-tick.d.ts +12 -0
  340. package/dist/infra/schedule/cron-tick.js +25 -0
  341. package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
  342. package/dist/infra/schedule/locked-cron.decorator.js +53 -0
  343. package/dist/infra/schedule/locked-interval.d.ts +69 -0
  344. package/dist/infra/schedule/locked-interval.js +190 -0
  345. package/dist/infra/schedule/locked-tick.d.ts +90 -0
  346. package/dist/infra/schedule/locked-tick.js +137 -0
  347. package/dist/infra/schedule/schedule.module.d.ts +8 -0
  348. package/dist/infra/schedule/schedule.module.js +27 -0
  349. package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
  350. package/dist/infra/schedule/scheduled-runs.js +163 -0
  351. package/dist/infra/swagger/swagger.d.ts +16 -0
  352. package/dist/infra/swagger/swagger.js +31 -0
  353. package/dist/infra/throttler/credential-throttler.d.ts +35 -0
  354. package/dist/infra/throttler/credential-throttler.js +77 -0
  355. package/dist/infra/throttler/named-throttlers.d.ts +31 -0
  356. package/dist/infra/throttler/named-throttlers.js +119 -0
  357. package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
  358. package/dist/infra/throttler/redis-throttler-storage.js +130 -0
  359. package/dist/infra/throttler/throttler.guard.d.ts +23 -0
  360. package/dist/infra/throttler/throttler.guard.js +68 -0
  361. package/dist/infra/throttler/throttler.module.d.ts +15 -0
  362. package/dist/infra/throttler/throttler.module.js +53 -0
  363. package/dist/infra/tokens.d.ts +15 -0
  364. package/dist/infra/tokens.js +15 -0
  365. package/dist/infra/validation/create-zod-dto.d.ts +23 -0
  366. package/dist/infra/validation/create-zod-dto.js +35 -0
  367. package/dist/infra/validation/parse-with-zod.d.ts +7 -0
  368. package/dist/infra/validation/parse-with-zod.js +12 -0
  369. package/dist/infra/validation/validation.module.d.ts +3 -0
  370. package/dist/infra/validation/validation.module.js +16 -0
  371. package/dist/infra/validation/zod-params.d.ts +7 -0
  372. package/dist/infra/validation/zod-params.js +42 -0
  373. package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
  374. package/dist/infra/validation/zod-validation.pipe.js +31 -0
  375. package/dist/kernel.d.ts +9 -244
  376. package/dist/kernel.js +8 -1305
  377. package/dist/kernel.module.d.ts +17 -0
  378. package/dist/kernel.module.js +136 -0
  379. package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
  380. package/dist/lifecycle/kernel-lifecycle.js +456 -0
  381. package/dist/lifecycle/tokens.d.ts +3 -0
  382. package/dist/lifecycle/tokens.js +3 -0
  383. package/dist/log-context.d.ts +2 -0
  384. package/dist/log-context.js +4 -0
  385. package/dist/models/models.module.d.ts +3 -0
  386. package/dist/models/models.module.js +24 -0
  387. package/dist/models/prices.d.ts +8 -2
  388. package/dist/models/prices.js +65 -37
  389. package/dist/models/purposes.controller.d.ts +1 -1
  390. package/dist/models/purposes.controller.js +5 -6
  391. package/dist/models/purposes.d.ts +35 -13
  392. package/dist/models/purposes.js +101 -51
  393. package/dist/orgs/directory-sync.controller.d.ts +1 -1
  394. package/dist/orgs/directory-sync.controller.js +2 -2
  395. package/dist/orgs/directory-sync.d.ts +61 -31
  396. package/dist/orgs/directory-sync.js +212 -125
  397. package/dist/orgs/invitations.controller.d.ts +8 -8
  398. package/dist/orgs/invitations.controller.js +27 -26
  399. package/dist/orgs/invitations.service.d.ts +12 -9
  400. package/dist/orgs/invitations.service.js +130 -92
  401. package/dist/orgs/job-ids.d.ts +8 -0
  402. package/dist/orgs/job-ids.js +8 -0
  403. package/dist/orgs/members.service.d.ts +19 -12
  404. package/dist/orgs/members.service.js +161 -117
  405. package/dist/orgs/offboarding.d.ts +54 -57
  406. package/dist/orgs/offboarding.js +161 -71
  407. package/dist/orgs/org-lock.d.ts +28 -19
  408. package/dist/orgs/org-lock.js +81 -35
  409. package/dist/orgs/org.guard.d.ts +1 -1
  410. package/dist/orgs/org.guard.js +2 -2
  411. package/dist/orgs/orgs.controller.d.ts +13 -13
  412. package/dist/orgs/orgs.controller.js +29 -17
  413. package/dist/orgs/orgs.module.d.ts +6 -0
  414. package/dist/orgs/orgs.module.js +68 -0
  415. package/dist/orgs/orgs.service.d.ts +30 -19
  416. package/dist/orgs/orgs.service.js +139 -86
  417. package/dist/orgs/settings.controller.d.ts +1 -1
  418. package/dist/orgs/settings.controller.js +8 -6
  419. package/dist/orgs/settings.service.d.ts +16 -10
  420. package/dist/orgs/settings.service.js +77 -48
  421. package/dist/overrides.d.ts +56 -0
  422. package/dist/overrides.js +30 -0
  423. package/dist/roles/gateway-role.d.ts +43 -0
  424. package/dist/roles/gateway-role.js +98 -0
  425. package/dist/roles/gateway.module.d.ts +8 -0
  426. package/dist/roles/gateway.module.js +28 -0
  427. package/dist/roles/worker-role.d.ts +63 -0
  428. package/dist/roles/worker-role.js +144 -0
  429. package/dist/roles/worker.module.d.ts +14 -0
  430. package/dist/roles/worker.module.js +90 -0
  431. package/dist/runtime/abort.js +19 -2
  432. package/dist/runtime/checkpointer.d.ts +8 -3
  433. package/dist/runtime/checkpointer.js +87 -55
  434. package/dist/runtime/context/build.d.ts +6 -6
  435. package/dist/runtime/context/build.js +18 -8
  436. package/dist/runtime/context/claude-tools.d.ts +2 -1
  437. package/dist/runtime/context/claude-tools.js +9 -10
  438. package/dist/runtime/context/legacy-text.d.ts +22 -0
  439. package/dist/runtime/context/legacy-text.js +37 -0
  440. package/dist/runtime/context/skills.d.ts +29 -11
  441. package/dist/runtime/context/skills.js +37 -30
  442. package/dist/runtime/conversation-lock.d.ts +20 -11
  443. package/dist/runtime/conversation-lock.js +62 -72
  444. package/dist/runtime/hook-calls.d.ts +3 -3
  445. package/dist/runtime/hook-calls.js +1 -6
  446. package/dist/runtime/job-ids.d.ts +10 -0
  447. package/dist/runtime/job-ids.js +10 -0
  448. package/dist/runtime/langgraph-loop.js +1 -1
  449. package/dist/runtime/loop.d.ts +8 -1
  450. package/dist/runtime/loop.js +14 -0
  451. package/dist/runtime/maintenance-queue.d.ts +10 -0
  452. package/dist/runtime/maintenance-queue.js +10 -0
  453. package/dist/runtime/maintenance.d.ts +45 -74
  454. package/dist/runtime/maintenance.js +139 -137
  455. package/dist/runtime/model-call.d.ts +7 -4
  456. package/dist/runtime/model-call.js +25 -58
  457. package/dist/runtime/providers.d.ts +17 -6
  458. package/dist/runtime/providers.js +66 -25
  459. package/dist/runtime/quota.d.ts +17 -3
  460. package/dist/runtime/quota.js +27 -2
  461. package/dist/runtime/retired-schedulers.d.ts +7 -0
  462. package/dist/runtime/retired-schedulers.js +31 -0
  463. package/dist/runtime/run-control.d.ts +33 -0
  464. package/dist/runtime/run-control.js +77 -0
  465. package/dist/runtime/run-finish.d.ts +27 -18
  466. package/dist/runtime/run-finish.js +98 -51
  467. package/dist/runtime/run-jobs.d.ts +48 -0
  468. package/dist/runtime/run-jobs.js +95 -0
  469. package/dist/runtime/run-processors.d.ts +60 -0
  470. package/dist/runtime/run-processors.js +185 -0
  471. package/dist/runtime/run-queue.d.ts +32 -57
  472. package/dist/runtime/run-queue.js +291 -295
  473. package/dist/runtime/run-steps.d.ts +39 -0
  474. package/dist/runtime/run-steps.js +96 -0
  475. package/dist/runtime/run-worker.d.ts +122 -76
  476. package/dist/runtime/run-worker.js +343 -229
  477. package/dist/runtime/runtime.module.d.ts +10 -0
  478. package/dist/runtime/runtime.module.js +112 -0
  479. package/dist/runtime/step-log.d.ts +40 -0
  480. package/dist/runtime/step-log.js +94 -0
  481. package/dist/runtime/stream.controller.d.ts +5 -8
  482. package/dist/runtime/stream.controller.js +14 -12
  483. package/dist/runtime/stream.d.ts +24 -6
  484. package/dist/runtime/stream.js +78 -7
  485. package/dist/runtime/subagents/child.d.ts +3 -44
  486. package/dist/runtime/subagents/child.js +0 -79
  487. package/dist/runtime/subagents/definition.d.ts +5 -10
  488. package/dist/runtime/subagents/definition.js +13 -14
  489. package/dist/runtime/subagents/dispatch.d.ts +89 -8
  490. package/dist/runtime/subagents/dispatch.js +137 -142
  491. package/dist/runtime/subagents/limits.d.ts +9 -4
  492. package/dist/runtime/subagents/limits.js +4 -2
  493. package/dist/runtime/subagents/org-agents.d.ts +4 -4
  494. package/dist/runtime/subagents/org-agents.js +3 -2
  495. package/dist/runtime/subagents/progress.d.ts +2 -2
  496. package/dist/runtime/subagents/roster.d.ts +4 -4
  497. package/dist/runtime/subagents/roster.js +2 -2
  498. package/dist/runtime/subagents/skill-fork.d.ts +8 -9
  499. package/dist/runtime/subagents/skill-fork.js +17 -6
  500. package/dist/runtime/subagents/subagents.service.d.ts +40 -0
  501. package/dist/runtime/subagents/subagents.service.js +101 -0
  502. package/dist/runtime/usage-report.d.ts +94 -52
  503. package/dist/runtime/usage-report.js +200 -100
  504. package/dist/runtime/waits.d.ts +127 -59
  505. package/dist/runtime/waits.js +433 -210
  506. package/dist/sandbox/job-ids.d.ts +10 -0
  507. package/dist/sandbox/job-ids.js +10 -0
  508. package/dist/sandbox/jobs.d.ts +41 -0
  509. package/dist/sandbox/jobs.js +113 -0
  510. package/dist/sandbox/leases.d.ts +39 -31
  511. package/dist/sandbox/leases.js +117 -257
  512. package/dist/sandbox/providers.d.ts +19 -0
  513. package/dist/sandbox/providers.js +38 -0
  514. package/dist/sandbox/sandbox.module.d.ts +8 -0
  515. package/dist/sandbox/sandbox.module.js +30 -0
  516. package/dist/sandbox/sandbox.service.d.ts +24 -29
  517. package/dist/sandbox/sandbox.service.js +106 -75
  518. package/dist/skills/catalog.d.ts +37 -24
  519. package/dist/skills/catalog.js +100 -57
  520. package/dist/skills/changes.controller.d.ts +4 -4
  521. package/dist/skills/changes.controller.js +15 -9
  522. package/dist/skills/changes.service.d.ts +30 -20
  523. package/dist/skills/changes.service.js +425 -367
  524. package/dist/skills/invocable.controller.d.ts +1 -1
  525. package/dist/skills/invocable.controller.js +8 -5
  526. package/dist/skills/invocation-keys.d.ts +1 -1
  527. package/dist/skills/invocation-keys.js +1 -1
  528. package/dist/skills/invoke.d.ts +17 -16
  529. package/dist/skills/invoke.js +53 -21
  530. package/dist/skills/skills.controller.d.ts +1 -1
  531. package/dist/skills/skills.controller.js +11 -6
  532. package/dist/skills/skills.module.d.ts +6 -0
  533. package/dist/skills/skills.module.js +30 -0
  534. package/dist/skills/skills.service.d.ts +47 -30
  535. package/dist/skills/skills.service.js +221 -158
  536. package/dist/storage/job-ids.d.ts +6 -0
  537. package/dist/storage/job-ids.js +6 -0
  538. package/dist/storage/purge.d.ts +22 -7
  539. package/dist/storage/purge.js +55 -3
  540. package/dist/storage/storage.module.d.ts +6 -0
  541. package/dist/storage/storage.module.js +23 -0
  542. package/dist/storage/storage.service.d.ts +18 -4
  543. package/dist/storage/storage.service.js +44 -3
  544. package/dist/tools/approvals.controller.d.ts +1 -1
  545. package/dist/tools/approvals.controller.js +12 -8
  546. package/dist/tools/approvals.service.d.ts +33 -25
  547. package/dist/tools/approvals.service.js +343 -259
  548. package/dist/tools/breaker.d.ts +2 -2
  549. package/dist/tools/breaker.js +21 -3
  550. package/dist/tools/builtin-names.d.ts +73 -0
  551. package/dist/tools/builtin-names.js +116 -0
  552. package/dist/tools/builtins/agent.d.ts +7 -7
  553. package/dist/tools/builtins/agent.js +7 -11
  554. package/dist/tools/builtins/ask-user.d.ts +3 -3
  555. package/dist/tools/builtins/ask-user.js +3 -3
  556. package/dist/tools/builtins/builtin-tools.d.ts +21 -0
  557. package/dist/tools/builtins/builtin-tools.js +80 -0
  558. package/dist/tools/builtins/read-tool-output.d.ts +3 -3
  559. package/dist/tools/builtins/read-tool-output.js +3 -3
  560. package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
  561. package/dist/tools/builtins/sandbox/bash.js +33 -30
  562. package/dist/tools/builtins/sandbox/common.d.ts +5 -4
  563. package/dist/tools/builtins/sandbox/common.js +2 -2
  564. package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
  565. package/dist/tools/builtins/sandbox/deliver.js +13 -13
  566. package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
  567. package/dist/tools/builtins/sandbox/edit.js +42 -31
  568. package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
  569. package/dist/tools/builtins/sandbox/file-state.js +34 -0
  570. package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
  571. package/dist/tools/builtins/sandbox/glob-match.js +1 -1
  572. package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
  573. package/dist/tools/builtins/sandbox/glob.js +6 -6
  574. package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
  575. package/dist/tools/builtins/sandbox/grep.js +149 -32
  576. package/dist/tools/builtins/sandbox/index.d.ts +1 -1
  577. package/dist/tools/builtins/sandbox/index.js +1 -1
  578. package/dist/tools/builtins/sandbox/read.d.ts +2 -2
  579. package/dist/tools/builtins/sandbox/read.js +22 -15
  580. package/dist/tools/builtins/sandbox/write.d.ts +1 -1
  581. package/dist/tools/builtins/sandbox/write.js +38 -34
  582. package/dist/tools/builtins/skill-load.d.ts +6 -6
  583. package/dist/tools/builtins/skill-load.js +33 -17
  584. package/dist/tools/builtins/skill-write.d.ts +4 -4
  585. package/dist/tools/builtins/skill-write.js +10 -10
  586. package/dist/tools/builtins/tool-search.d.ts +13 -9
  587. package/dist/tools/builtins/tool-search.js +25 -14
  588. package/dist/tools/canonical-json.d.ts +6 -0
  589. package/dist/tools/canonical-json.js +16 -0
  590. package/dist/tools/connector-content.controller.d.ts +1 -1
  591. package/dist/tools/connector-content.controller.js +11 -6
  592. package/dist/tools/connector-content.d.ts +12 -15
  593. package/dist/tools/connector-content.js +53 -18
  594. package/dist/tools/connectors.controller.d.ts +1 -1
  595. package/dist/tools/connectors.controller.js +21 -10
  596. package/dist/tools/connectors.service.d.ts +31 -13
  597. package/dist/tools/connectors.service.js +438 -348
  598. package/dist/tools/credentials.d.ts +17 -20
  599. package/dist/tools/credentials.js +55 -34
  600. package/dist/tools/display-names.d.ts +9 -0
  601. package/dist/tools/display-names.js +24 -0
  602. package/dist/tools/drift.d.ts +29 -41
  603. package/dist/tools/drift.js +116 -84
  604. package/dist/tools/elicitation.js +1 -1
  605. package/dist/tools/info.d.ts +32 -13
  606. package/dist/tools/info.js +88 -39
  607. package/dist/tools/job-ids.d.ts +13 -0
  608. package/dist/tools/job-ids.js +15 -0
  609. package/dist/tools/jobs.d.ts +24 -0
  610. package/dist/tools/jobs.js +69 -0
  611. package/dist/tools/legacy-data.d.ts +34 -0
  612. package/dist/tools/legacy-data.js +76 -0
  613. package/dist/tools/legacy-keys.d.ts +51 -0
  614. package/dist/tools/legacy-keys.js +115 -0
  615. package/dist/tools/naming.d.ts +1 -5
  616. package/dist/tools/naming.js +1 -7
  617. package/dist/tools/oauth/flow-paths.d.ts +16 -0
  618. package/dist/tools/oauth/flow-paths.js +38 -0
  619. package/dist/tools/oauth/flow.d.ts +30 -30
  620. package/dist/tools/oauth/flow.js +109 -81
  621. package/dist/tools/oauth/oauth.controller.d.ts +3 -3
  622. package/dist/tools/oauth/oauth.controller.js +12 -9
  623. package/dist/tools/oauth/tokens.d.ts +11 -3
  624. package/dist/tools/oauth/tokens.js +15 -14
  625. package/dist/tools/outputs.d.ts +13 -4
  626. package/dist/tools/outputs.js +48 -4
  627. package/dist/tools/pipeline.d.ts +72 -50
  628. package/dist/tools/pipeline.js +239 -100
  629. package/dist/tools/policy.d.ts +3 -16
  630. package/dist/tools/policy.js +13 -19
  631. package/dist/tools/questions.controller.d.ts +2 -2
  632. package/dist/tools/questions.controller.js +9 -6
  633. package/dist/tools/questions.service.d.ts +26 -25
  634. package/dist/tools/questions.service.js +201 -142
  635. package/dist/tools/registry.d.ts +43 -38
  636. package/dist/tools/registry.js +100 -72
  637. package/dist/tools/resources.d.ts +1 -1
  638. package/dist/tools/resources.js +1 -1
  639. package/dist/tools/specs.d.ts +5 -4
  640. package/dist/tools/specs.js +3 -1
  641. package/dist/tools/tools.module.d.ts +10 -0
  642. package/dist/tools/tools.module.js +91 -0
  643. package/dist/ui/call-extension.d.ts +16 -0
  644. package/dist/ui/call-extension.js +38 -0
  645. package/dist/ui/embed-token.d.ts +9 -5
  646. package/dist/ui/embed-token.js +34 -6
  647. package/dist/ui/ui-stream.d.ts +22 -17
  648. package/dist/ui/ui-stream.js +72 -12
  649. package/dist/ui/ui.module.d.ts +7 -0
  650. package/dist/ui/ui.module.js +28 -0
  651. package/dist/ui/views.controller.d.ts +14 -12
  652. package/dist/ui/views.controller.js +32 -25
  653. package/dist/ui/views.d.ts +9 -57
  654. package/dist/ui/views.js +43 -45
  655. package/package.json +10 -3
  656. package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
  657. package/dist/http/health.controller.d.ts +0 -26
  658. package/dist/http/health.controller.js +0 -79
  659. package/dist/http/tokens.d.ts +0 -131
  660. package/dist/http/tokens.js +0 -131
  661. package/dist/http/zod.pipe.d.ts +0 -8
  662. package/dist/http/zod.pipe.js +0 -14
  663. package/dist/identity/rate-limit.d.ts +0 -55
  664. package/dist/identity/rate-limit.js +0 -121
  665. package/dist/sandbox/lifecycle.d.ts +0 -21
  666. package/dist/sandbox/lifecycle.js +0 -68
  667. package/dist/tools/builtins/sandbox/names.d.ts +0 -7
  668. package/dist/tools/builtins/sandbox/names.js +0 -20
  669. /package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +0 -0
  670. /package/dist/http/{gateway.module.js → gateway-routes.js} +0 -0
@@ -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 { InvocableSkill, SkillInvoker } from "./invoke.js";
4
+ import { type InvocableSkill, SkillInvoker } from "./invoke.js";
5
5
  declare const ListQuery: z.ZodObject<{
6
6
  conversationId: z.ZodOptional<z.ZodString>;
7
7
  }, z.core.$strict>;
@@ -7,13 +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 { Controller, Get, Header, Inject, Param, Query } from "@nestjs/common";
10
+ import { Controller, Get, Header, Inject, Param } from "@nestjs/common";
11
11
  import { z } from "zod";
12
- import { SKILL_INVOKER } 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 { ZQuery } from "../infra/validation/zod-params.js";
15
15
  import { CurrentOrg, OrgAction } from "../orgs/org.guard.js";
16
+ import { SkillInvoker } from "./invoke.js";
16
17
  const ListQuery = z.object({ conversationId: z.string().min(1).max(100).optional() }).strict();
18
+ class InvocableSkillsQuery extends createZodDto(ListQuery, "InvocableSkillsQuery") {
19
+ }
17
20
  /**
18
21
  * The composer's `/` menu (phase D spec §4.5): `GET /api/v1/orgs/:orgId/agents/:agentId/
19
22
  * invocable-skills?conversationId=` lists the agent's effective skills a person can invoke, sorted
@@ -41,10 +44,10 @@ __decorate([
41
44
  __param(0, CurrentPrincipal()),
42
45
  __param(1, CurrentOrg()),
43
46
  __param(2, Param("agentId")),
44
- __param(3, Query(new ZodPipe(ListQuery)))
47
+ __param(3, ZQuery(InvocableSkillsQuery))
45
48
  ], InvocableSkillsController.prototype, "list", null);
46
49
  InvocableSkillsController = __decorate([
47
50
  Controller("api/v1/orgs/:orgId/agents/:agentId/invocable-skills"),
48
- __param(0, Inject(SKILL_INVOKER))
51
+ __param(0, Inject(SkillInvoker))
49
52
  ], InvocableSkillsController);
50
53
  export { InvocableSkillsController };
@@ -2,7 +2,7 @@
2
2
  * The SKILL.md invocation keys (package ecosystem phase D) and their lenient reading: readers of
3
3
  * stored files (catalog install and upgrade) and the Claude Code translation drop a key the strict
4
4
  * `parseSkillMd` checks would refuse, with the reason, instead of refusing the skill or storing an
5
- * invocation nobody can use. Uploads, native imports and `skill_write` stay strict.
5
+ * invocation nobody can use. Uploads, native imports and `SkillWrite` stay strict.
6
6
  */
7
7
  /** The frontmatter keys that make up a skill's invocation metadata. */
8
8
  export declare const INVOCATION_KEYS: readonly ["disable-model-invocation", "user-invocable", "context", "agent", "argument-hint", "arguments"];
@@ -3,7 +3,7 @@ import { parseSkillMd } from "@capybara-hq/plugin-sdk";
3
3
  * The SKILL.md invocation keys (package ecosystem phase D) and their lenient reading: readers of
4
4
  * stored files (catalog install and upgrade) and the Claude Code translation drop a key the strict
5
5
  * `parseSkillMd` checks would refuse, with the reason, instead of refusing the skill or storing an
6
- * invocation nobody can use. Uploads, native imports and `skill_write` stay strict.
6
+ * invocation nobody can use. Uploads, native imports and `SkillWrite` stay strict.
7
7
  */
8
8
  /** The frontmatter keys that make up a skill's invocation metadata. */
9
9
  export const INVOCATION_KEYS = [
@@ -1,10 +1,11 @@
1
- import { type Logger } from "@capybara-hq/plugin-sdk";
2
- import type { AgentsService } from "../agents/agents.service.js";
1
+ import { AgentLookup } from "../agents/agent-lookup.js";
3
2
  import type { AgentDefinition } from "../agents/definition.js";
4
3
  import type { EventPayload } from "../conversations/events.js";
5
- import type { KernelDb } from "../db/kernel-schema.js";
4
+ import type { KernelSchemaDb } from "../db/kernel-schema.js";
6
5
  import { ApiError } from "../errors.js";
7
- import type { StorageService } from "../storage/storage.service.js";
6
+ import { KernelDb } from "../infra/database/kernel-db.js";
7
+ import type { KernelLogger } from "../log.js";
8
+ import { StorageService } from "../storage/storage.service.js";
8
9
  /**
9
10
  * A person's skill invocation (phase D spec §3, §4): the `/` menu's list of the agent's invocable
10
11
  * skills, and the rendering of `/name args` into the model-visible text of their message. The skill
@@ -57,7 +58,7 @@ export declare const notInvocable: (reason: NotInvocableReason, name: string) =>
57
58
  * agent's effective skills now, with `user` not false. Its version may have changed: the queued
58
59
  * text stays as rendered when queued. Null when it is, else the reason.
59
60
  */
60
- export declare function recordedSkillBlocked(db: KernelDb, a: {
61
+ export declare function recordedSkillBlocked(db: KernelSchemaDb, a: {
61
62
  orgId: string;
62
63
  agentId: string;
63
64
  agent: Pick<AgentDefinition, "skills">;
@@ -68,17 +69,17 @@ export declare function recordedSkillBlocked(db: KernelDb, a: {
68
69
  export declare const forkLeadText: (name: string, agentType: string, args: string) => string;
69
70
  /** The warning recorded when a forked skill's `agent` does not resolve (spec §6.2). */
70
71
  export declare const forkAgentUnknownText: (name: string, agent: string) => string;
71
- export interface SkillInvokerDeps {
72
- db: KernelDb;
73
- storage: StorageService;
74
- /** For {@link SkillInvoker.listFor} (the HTTP route's access check). */
75
- agents?: Pick<AgentsService, "get">;
76
- /** An unreadable SKILL.md is logged at `error` (skill id, version, source), as pinned skills. */
77
- log?: Pick<Logger, "error">;
78
- }
72
+ /**
73
+ * Skill invocations by a person (one provider: the HTTP routes, IM channels and fork dispatch all
74
+ * use it). Unreadable SKILL.md files are logged at `error` (skill id, version, source), as pinned
75
+ * skills; the agent access check of {@link SkillInvoker.listFor} is `AgentLookup.get`.
76
+ */
79
77
  export declare class SkillInvoker {
80
- private readonly d;
81
- constructor(d: SkillInvokerDeps);
78
+ private readonly db;
79
+ private readonly storage;
80
+ private readonly agents;
81
+ private readonly log;
82
+ constructor(db: KernelDb, storage: StorageService, agents: Pick<AgentLookup, "get">, log: KernelLogger);
82
83
  /**
83
84
  * The `/` menu for `accountId`: the agent must be usable by them (`agent.not_found`), and with
84
85
  * `conversationId` the conversation must be theirs and the agent's (`conversation.not_found`);
@@ -120,7 +121,7 @@ export declare class SkillInvoker {
120
121
  * `storage.unavailable` (`skill_unreadable`) when the version is gone or its SKILL.md cannot be
121
122
  * read, plain `storage.unavailable` when storage is down. `task` renders the text for the
122
123
  * sub-agent's effective definition: the shell-injection line only when the sub-agent has
123
- * `sandbox_bash` (batch 3 review m1).
124
+ * `Bash` (batch 3 review m1).
124
125
  */
125
126
  renderTask(a: {
126
127
  orgId: string;
@@ -1,6 +1,21 @@
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 { escapeSkillInvocationTags, hasShellInjection, parseSkillMd, renderSkillBody, renderSkillInvocation, SKILL_ENTRY_FILE, SKILL_INVOCATION_LIMITS, } from "@capybara-hq/plugin-sdk";
11
+ import { Inject, Injectable } from "@nestjs/common";
12
+ import { AgentLookup } from "../agents/agent-lookup.js";
2
13
  import { ApiError } from "../errors.js";
14
+ import { KernelDb } from "../infra/database/kernel-db.js";
15
+ import { KERNEL_LOGGER } from "../infra/tokens.js";
3
16
  import { isGeneralAlias, resolveSkillForkType } from "../runtime/subagents/roster.js";
17
+ import { StorageService } from "../storage/storage.service.js";
18
+ import { BUILTIN } from "../tools/builtin-names.js";
4
19
  import { findSkillVersion, readSkillFile, SkillIntegrityError, } from "../tools/builtins/skill-load.js";
5
20
  import { invocationOf, resolveSkills } from "./catalog.js";
6
21
  /** A leading `/<name>` or `/<plugin>:<name>`, then whitespace or the end (spec §3.2). */
@@ -43,10 +58,21 @@ export async function recordedSkillBlocked(db, a) {
43
58
  export const forkLeadText = (name, agentType, args) => escapeSkillInvocationTags(`The user ran the skill "${name}" in a sub-agent (${agentType}) with /${name}${args === "" ? "" : ` ${args}`}. The sub-agent gets the skill's instructions as its task; its report follows. Do not do the task yourself.`);
44
59
  /** The warning recorded when a forked skill's `agent` does not resolve (spec §6.2). */
45
60
  export const forkAgentUnknownText = (name, agent) => `Skill "${name}" asked for sub-agent type "${agent}", which this agent does not have; it ran as general-purpose.`;
46
- export class SkillInvoker {
47
- d;
48
- constructor(d) {
49
- this.d = d;
61
+ /**
62
+ * Skill invocations by a person (one provider: the HTTP routes, IM channels and fork dispatch all
63
+ * use it). Unreadable SKILL.md files are logged at `error` (skill id, version, source), as pinned
64
+ * skills; the agent access check of {@link SkillInvoker.listFor} is `AgentLookup.get`.
65
+ */
66
+ let SkillInvoker = class SkillInvoker {
67
+ db;
68
+ storage;
69
+ agents;
70
+ log;
71
+ constructor(db, storage, agents, log) {
72
+ this.db = db;
73
+ this.storage = storage;
74
+ this.agents = agents;
75
+ this.log = log;
50
76
  }
51
77
  /**
52
78
  * The `/` menu for `accountId`: the agent must be usable by them (`agent.not_found`), and with
@@ -54,11 +80,9 @@ export class SkillInvoker {
54
80
  * then its trial drafts apply.
55
81
  */
56
82
  async listFor(orgId, agentId, accountId, conversationId) {
57
- if (!this.d.agents)
58
- throw new Error("SkillInvoker.listFor needs agents");
59
- const agent = await this.d.agents.get(orgId, agentId, accountId);
83
+ const agent = await this.agents.get(orgId, agentId, accountId);
60
84
  if (conversationId !== undefined) {
61
- const row = await this.d.db
85
+ const row = await this.db
62
86
  .selectFrom("conversations")
63
87
  .select("id")
64
88
  .where("id", "=", conversationId)
@@ -82,7 +106,7 @@ export class SkillInvoker {
82
106
  * point order), model-invocable and manual-only alike (spec §3.1).
83
107
  */
84
108
  async list(a) {
85
- const all = await resolveSkills(this.d.db, a);
109
+ const all = await resolveSkills(this.db.db, a);
86
110
  const out = [];
87
111
  for (const r of all) {
88
112
  const inv = invocationOf(r.manifest);
@@ -109,7 +133,7 @@ export class SkillInvoker {
109
133
  * that fails its integrity check → `storage.unavailable` (503). Nothing is written here.
110
134
  */
111
135
  async prepare(a) {
112
- const all = await resolveSkills(this.d.db, a);
136
+ const all = await resolveSkills(this.db.db, a);
113
137
  const found = findSkill(all, a.name);
114
138
  if (!found)
115
139
  throw notInvocable("not_found", a.name);
@@ -119,10 +143,10 @@ export class SkillInvoker {
119
143
  const body = await this.readBody(a.orgId, found);
120
144
  const others = found.manifest.files.some((f) => f.path !== SKILL_ENTRY_FILE);
121
145
  const lines = {
122
- // the invocation itself makes the conversation's next run offer skill_load (skillLoadOffered)
146
+ // the invocation itself makes the conversation's next run offer Skill (skillLoadOffered)
123
147
  ...(others && { files: "load" }),
124
148
  ...(hasShellInjection(body) &&
125
- hasBuiltin(a.agent, "sandbox_bash") && { shellHint: true }),
149
+ hasBuiltin(a.agent, BUILTIN.Bash) && { shellHint: true }),
126
150
  };
127
151
  const input = {
128
152
  name: a.name,
@@ -149,7 +173,7 @@ export class SkillInvoker {
149
173
  if (!inv.fork)
150
174
  return { text: rendered(() => renderSkillInvocation(input)), skill: record };
151
175
  const task = rendered(() => renderSkillInvocation({ ...input, lead: false }));
152
- const type = await resolveSkillForkType(this.d.db, a.orgId, a.agent, inv.fork.agent, found.skill.plugin);
176
+ const type = await resolveSkillForkType(this.db.db, a.orgId, a.agent, inv.fork.agent, found.skill.plugin);
153
177
  return {
154
178
  text: forkLeadText(a.name, type.agentType, args),
155
179
  skill: { ...record, agentType: type.agentType },
@@ -169,13 +193,13 @@ export class SkillInvoker {
169
193
  * `storage.unavailable` (`skill_unreadable`) when the version is gone or its SKILL.md cannot be
170
194
  * read, plain `storage.unavailable` when storage is down. `task` renders the text for the
171
195
  * sub-agent's effective definition: the shell-injection line only when the sub-agent has
172
- * `sandbox_bash` (batch 3 review m1).
196
+ * `Bash` (batch 3 review m1).
173
197
  */
174
198
  async renderTask(a) {
175
199
  const { skill } = a;
176
- const found = await findSkillVersion(this.d.db, a, { id: skill.id, source: skill.source });
200
+ const found = await findSkillVersion(this.db.db, a, { id: skill.id, source: skill.source });
177
201
  if (!found) {
178
- this.d.log?.error("invoked skill unreadable", {
202
+ this.log.error("invoked skill unreadable", {
179
203
  orgId: a.orgId,
180
204
  skillId: skill.id,
181
205
  version: skill.version,
@@ -202,7 +226,7 @@ export class SkillInvoker {
202
226
  lines: {
203
227
  ...(others && { files: "load" }),
204
228
  ...(hasShellInjection(body) &&
205
- hasBuiltin(child, "sandbox_bash") && { shellHint: true }),
229
+ hasBuiltin(child, BUILTIN.Bash) && { shellHint: true }),
206
230
  },
207
231
  lead: false,
208
232
  });
@@ -213,7 +237,7 @@ export class SkillInvoker {
213
237
  /** Reads and parses the version's SKILL.md (checked against the manifest), returns the body. */
214
238
  async readBody(orgId, r) {
215
239
  const unreadable = (problem) => {
216
- this.d.log?.error("invoked skill unreadable", {
240
+ this.log.error("invoked skill unreadable", {
217
241
  orgId,
218
242
  skillId: r.skill.id,
219
243
  version: r.skill.version,
@@ -227,10 +251,10 @@ export class SkillInvoker {
227
251
  const md = r.manifest.files.find((f) => f.path === SKILL_ENTRY_FILE);
228
252
  if (!md)
229
253
  throw unreadable(`has no ${SKILL_ENTRY_FILE}`);
230
- this.d.storage.assertAvailable();
254
+ this.storage.assertAvailable();
231
255
  let bytes;
232
256
  try {
233
- bytes = await readSkillFile(this.d.storage.kernel(orgId), `${r.skill.source}${SKILL_ENTRY_FILE}`, md);
257
+ bytes = await readSkillFile(this.storage.kernel(orgId), `${r.skill.source}${SKILL_ENTRY_FILE}`, md);
234
258
  }
235
259
  catch (e) {
236
260
  if (e instanceof SkillIntegrityError)
@@ -251,7 +275,15 @@ export class SkillInvoker {
251
275
  throw unreadable("cannot be parsed");
252
276
  return parsed.body;
253
277
  }
254
- }
278
+ };
279
+ SkillInvoker = __decorate([
280
+ Injectable(),
281
+ __param(0, Inject(KernelDb)),
282
+ __param(1, Inject(StorageService)),
283
+ __param(2, Inject(AgentLookup)),
284
+ __param(3, Inject(KERNEL_LOGGER))
285
+ ], SkillInvoker);
286
+ export { SkillInvoker };
255
287
  const hasBuiltin = (agent, name) => (agent.tools ?? []).some((t) => t.kind === "builtin" && t.name === name);
256
288
  /** The skill's own body over the rendered limit: a 400 on `skill` naming the skill. */
257
289
  function tooLarge(name, render) {
@@ -2,7 +2,7 @@ import { z } from "zod";
2
2
  import { type CreatedAttachment } from "../conversations/attachments.service.js";
3
3
  import { type Principal } from "../identity/principal.js";
4
4
  import { type OrgContext } from "../orgs/org.guard.js";
5
- import type { SkillDetail, SkillSummary, SkillsService, UploadedSkill } from "./skills.service.js";
5
+ import { type SkillDetail, type SkillSummary, SkillsService, type UploadedSkill } from "./skills.service.js";
6
6
  declare const UploadBody: z.ZodObject<{
7
7
  name: z.ZodString;
8
8
  size: z.ZodNumber;
@@ -8,13 +8,14 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
8
8
  return function (target, key) { decorator(target, key, paramIndex); }
9
9
  };
10
10
  import { hasControlChars, MEDIA_NAME_MAX_CHARS } from "@capybara-hq/plugin-sdk";
11
- import { Body, Controller, Delete, Get, HttpCode, Inject, Param, Post } from "@nestjs/common";
11
+ import { Controller, Delete, Get, HttpCode, Inject, Param, Post } from "@nestjs/common";
12
12
  import { z } from "zod";
13
13
  import { SKILL_PACKAGE_UPLOAD_MAX_BYTES, } from "../conversations/attachments.service.js";
14
- import { SKILLS } from "../http/tokens.js";
15
- import { ZodPipe } from "../http/zod.pipe.js";
16
14
  import { CurrentPrincipal, patTokenId, requireUser, } from "../identity/principal.js";
15
+ import { createZodDto } from "../infra/validation/create-zod-dto.js";
16
+ import { ZBody } from "../infra/validation/zod-params.js";
17
17
  import { CurrentOrg, OrgAction } from "../orgs/org.guard.js";
18
+ import { SkillsService, } from "./skills.service.js";
18
19
  const UploadBody = z
19
20
  .object({
20
21
  name: z
@@ -26,6 +27,10 @@ const UploadBody = z
26
27
  })
27
28
  .strict();
28
29
  const CreateBody = z.object({ uploadId: z.string().min(1).max(100) }).strict();
30
+ class SkillUploadBody extends createZodDto(UploadBody, "SkillUploadBody") {
31
+ }
32
+ class SkillCreateBody extends createZodDto(CreateBody, "SkillCreateBody") {
33
+ }
29
34
  /**
30
35
  * The org skill library (`/api/v1/orgs/:orgId/skills`, human users only):
31
36
  * - read: `skills.read` (member and up) — `GET /` list, `GET /:id` detail (versions and file
@@ -73,14 +78,14 @@ __decorate([
73
78
  OrgAction("skills.manage"),
74
79
  __param(0, CurrentPrincipal()),
75
80
  __param(1, CurrentOrg()),
76
- __param(2, Body(new ZodPipe(UploadBody)))
81
+ __param(2, ZBody(SkillUploadBody))
77
82
  ], SkillsController.prototype, "createUpload", null);
78
83
  __decorate([
79
84
  Post(),
80
85
  OrgAction("skills.manage"),
81
86
  __param(0, CurrentPrincipal()),
82
87
  __param(1, CurrentOrg()),
83
- __param(2, Body(new ZodPipe(CreateBody)))
88
+ __param(2, ZBody(SkillCreateBody))
84
89
  ], SkillsController.prototype, "create", null);
85
90
  __decorate([
86
91
  Get(),
@@ -105,6 +110,6 @@ __decorate([
105
110
  ], SkillsController.prototype, "remove", null);
106
111
  SkillsController = __decorate([
107
112
  Controller("api/v1/orgs/:orgId/skills"),
108
- __param(0, Inject(SKILLS))
113
+ __param(0, Inject(SkillsService))
109
114
  ], SkillsController);
110
115
  export { SkillsController };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Skills: the org library, agent-written skills and their approvals, the run start's skills
3
+ * catalog snapshot and the one {@link SkillInvoker}.
4
+ */
5
+ export declare class SkillsModule {
6
+ }
@@ -0,0 +1,30 @@
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 { AgentLookupModule } from "../agents/agent-lookup.js";
9
+ import { AttachmentsModule } from "../conversations/attachments.module.js";
10
+ import { EventLogModule } from "../conversations/event-log.js";
11
+ import { OrgLockModule } from "../orgs/org-lock.js";
12
+ import { StorageModule } from "../storage/storage.module.js";
13
+ import { SkillsCatalogService } from "./catalog.js";
14
+ import { SkillChangesService } from "./changes.service.js";
15
+ import { SkillInvoker } from "./invoke.js";
16
+ import { SkillsService } from "./skills.service.js";
17
+ /**
18
+ * Skills: the org library, agent-written skills and their approvals, the run start's skills
19
+ * catalog snapshot and the one {@link SkillInvoker}.
20
+ */
21
+ let SkillsModule = class SkillsModule {
22
+ };
23
+ SkillsModule = __decorate([
24
+ Module({
25
+ imports: [StorageModule, OrgLockModule, EventLogModule, AttachmentsModule, AgentLookupModule],
26
+ providers: [SkillsService, SkillChangesService, SkillsCatalogService, SkillInvoker],
27
+ exports: [SkillsService, SkillChangesService, SkillsCatalogService, SkillInvoker],
28
+ })
29
+ ], SkillsModule);
30
+ export { SkillsModule };
@@ -1,12 +1,13 @@
1
1
  import { type SkillInvocation } from "@capybara-hq/plugin-sdk";
2
- import { type Transaction } from "kysely";
3
2
  import type { AgentDefinition } from "../agents/definition.js";
4
- import { type AttachmentsService, type CreatedAttachment } from "../conversations/attachments.service.js";
5
- import type { KernelDatabase, KernelDb, SkillManifest, SourceFormat } from "../db/kernel-schema.js";
3
+ import { AttachmentsService, type CreatedAttachment } from "../conversations/attachments.service.js";
4
+ import type { KernelSchemaDb, SkillManifest, SourceFormat } from "../db/kernel-schema.js";
6
5
  import { ApiError } from "../errors.js";
7
- import type { StorageService } from "../storage/storage.service.js";
6
+ import { KernelDb } from "../infra/database/kernel-db.js";
7
+ import { TransactionHost } from "../infra/database/transaction-host.js";
8
+ import { OrgLock } from "../orgs/org-lock.js";
9
+ import { StorageService } from "../storage/storage.service.js";
8
10
  import { type SkillPackageFile } from "./package.js";
9
- type Trx = Transaction<KernelDatabase>;
10
11
  /** Where an org skill came from (spec §9.2): the org's own, or a catalog plugin at a version. */
11
12
  export type SkillSource = {
12
13
  kind: "org";
@@ -26,7 +27,7 @@ export interface SkillConflict {
26
27
  * agent) and the skills of other catalog items. A skill of the same item (a reinstall or upgrade)
27
28
  * is not a conflict. In the order of `skillNames`.
28
29
  */
29
- export declare function skillConflicts(db: KernelDb | Trx, orgId: string, itemId: string, skillNames: readonly string[]): Promise<SkillConflict[]>;
30
+ export declare function skillConflicts(db: KernelSchemaDb, orgId: string, itemId: string, skillNames: readonly string[]): Promise<SkillConflict[]>;
30
31
  /** One line of the conflict message (spec §9.2). */
31
32
  export declare function skillConflictLine(c: SkillConflict): string;
32
33
  /** 409 `plugin.skill_conflict`: one message line and one detail per conflicting skill. */
@@ -82,17 +83,12 @@ export interface UploadedSkill {
82
83
  version: number;
83
84
  created: boolean;
84
85
  }
85
- export interface SkillsDeps {
86
- db: KernelDb;
87
- storage: StorageService;
88
- attachments: Pick<AttachmentsService, "create" | "readSkillPackage" | "consumeSkillPackage">;
89
- }
90
86
  /**
91
87
  * 在调用方事务里核对 agent 定义引用的组织技能:每个 id 都必须是该组织未删除的 `scope=org` 技能,
92
88
  * 否则 `validation_failed`(path `skills.orgSkills.<i>`);不可重复。调用方须已锁组织行(技能删除同样锁组织行,二者串行)。
93
89
  * `kept`:当前版本里已有的引用(保存时合法),修改时不再核对——技能之后被删也不挡住其他改动(运行时由 T14 忽略已删除的技能)。
94
90
  */
95
- export declare function assertOrgSkills(t: Trx, orgId: string, ids: readonly string[], kept?: ReadonlySet<string>): Promise<void>;
91
+ export declare function assertOrgSkills(db: KernelSchemaDb, orgId: string, ids: readonly string[], kept?: ReadonlySet<string>): Promise<void>;
96
92
  /** Why a pinned skill reference is refused (`agent.pinned_invalid` details). */
97
93
  export type PinnedSkillProblem = "not_selected" | "not_found" | "duplicate" | "too_many" | "too_large"
98
94
  /** Phase D: the skill's current version is manual-only (not in the model's catalog). */
@@ -113,14 +109,26 @@ export type PinnedSkillProblem = "not_selected" | "not_found" | "duplicate" | "t
113
109
  * when the pinned list changed: a pinned skill's new version never blocks an unrelated edit (the
114
110
  * run keeps what fits).
115
111
  */
116
- export declare function assertPinnedSkills(t: Trx, orgId: string, agentId: string | null, skills: AgentDefinition["skills"], kept?: readonly string[]): Promise<void>;
112
+ export declare function assertPinnedSkills(db: KernelSchemaDb, orgId: string, agentId: string | null, skills: AgentDefinition["skills"], kept?: readonly string[]): Promise<void>;
117
113
  /**
118
114
  * 技能库(M5 T13):组织技能的上传(新技能或新版本)、列表、详情与软删除。
119
115
  * 字节在对象存储 `kernel/<orgId>/skills/<uploadId>/<path>`,元数据在 PG;无进程内状态,可多副本共用。
120
116
  */
117
+ /** A validated skill package: its name, description, files and invocation. */
118
+ interface SkillPackageInput {
119
+ name: string;
120
+ description: string;
121
+ files: SkillPackageFile[];
122
+ /** Phase D: stored in the manifest when it is not the default. */
123
+ invocation?: SkillInvocation;
124
+ }
121
125
  export declare class SkillsService {
122
- private readonly d;
123
- constructor(d: SkillsDeps);
126
+ private readonly db;
127
+ private readonly storage;
128
+ private readonly attachments;
129
+ readonly txHost: TransactionHost;
130
+ private readonly orgLock;
131
+ constructor(db: KernelDb, storage: StorageService, attachments: AttachmentsService, txHost: TransactionHost, orgLock: OrgLock);
124
132
  /** 登记一个技能包上传(预签名 POST,`application/zip`,≤ 50MB);角色由路由的 `skills.manage` 把关。 */
125
133
  createUpload(orgId: string, accountId: string, input: {
126
134
  name: string;
@@ -136,24 +144,24 @@ export declare class SkillsService {
136
144
  * 同一上传已经产生过版本(上次提交了、响应丢了而重试)→ 直接返回那个版本(同组织、同一发起人)。
137
145
  */
138
146
  upload(orgId: string, actorAccountId: string, uploadId: string, actorTokenId?: string): Promise<UploadedSkill>;
147
+ /**
148
+ * The transaction of {@link upload}: under the org row lock (re-checking `skills.manage`), the
149
+ * custom-skill policy is re-checked and the upload consumed (of concurrent requests for the same
150
+ * upload only one succeeds), then the version is written in the same transaction
151
+ * ({@link createVersionIn} joins it).
152
+ */
153
+ private createUploadedVersionIn;
139
154
  /**
140
155
  * 用一组已校验的技能文件创建组织技能或给同名技能新增版本(上传与企业目录安装共用):
141
156
  * 1. 把文件写到 `kernel/<orgId>/<prefix>`(缺省 `skills/<新 id>/`);
142
- * 2. 一个事务里:锁组织行并复核 `skills.manage`,执行 `inTransaction`(上传:标记上传已用;目录:按条目策略复核),
157
+ * 2. 一个事务里:锁组织行并复核 `skills.manage`(目录安装:按条目策略复核),
143
158
  * 同名未删除的组织技能存在则 `current_version + 1`,否则新建;技能与版本都记下 `directory` 来源(没有则清空:
144
159
  * 自定义上传盖在目录技能上就不再算目录安装),写版本与审计
145
160
  * (`skill.created` / `skill.version_created`,目录安装时 detail 带 directory)。
146
161
  */
147
- createVersionFromFiles(orgId: string, actorAccountId: string, pkg: {
148
- name: string;
149
- description: string;
150
- files: SkillPackageFile[];
151
- /** Phase D: stored in the manifest when it is not the default. */
152
- invocation?: SkillInvocation;
153
- }, opts?: {
162
+ createVersionFromFiles(orgId: string, actorAccountId: string, pkg: SkillPackageInput, opts?: {
154
163
  prefix?: string;
155
164
  actorTokenId?: string;
156
- inTransaction?: (t: Trx) => Promise<void>;
157
165
  /** Catalog provenance; `approvedBy` is the item whose policy approves it (default `itemId`). */
158
166
  catalog?: {
159
167
  itemId: string;
@@ -165,16 +173,23 @@ export declare class SkillsService {
165
173
  suggestPinned?: boolean;
166
174
  };
167
175
  }): Promise<UploadedSkill>;
176
+ /** Writes a skill package's files to `kernel/<orgId>/<prefix>` (a few at a time). */
177
+ private putFiles;
178
+ /** The transaction of {@link createVersionFromFiles}. */
179
+ private createVersionIn;
168
180
  /**
169
- * 在调用方事务里撤销应用安装给已有技能加的版本(调用方已锁组织行):只有当前版本仍是 `version` 时才退回上一版本并删掉
170
- * 该版本行(之后又有新版本则不动,返回 false),技能的描述与目录来源也退回上一版本的。审计 `skill.version_reverted`。
181
+ * In the caller's transaction (`mandatory`: the caller holds the org row lock), reverts the
182
+ * version a plugin install added to an existing skill: only while `version` is still current,
183
+ * back to the previous version, deleting this version's row (returns false when a newer version
184
+ * exists); the skill's description and catalog source revert too. Audit `skill.version_reverted`.
171
185
  */
172
- revertVersionIn(t: Trx, orgId: string, skillId: string, version: number, actorAccountId: string, reason: string): Promise<boolean>;
186
+ revertVersionIn(orgId: string, skillId: string, version: number, actorAccountId: string, reason: string): Promise<boolean>;
173
187
  /**
174
- * 在调用方事务里软删除组织技能(调用方已锁组织行;应用安装的回滚与卸载用)。审计 `skill.deleted`(带 reason)。
175
- * 已删除 / 不存在时返回 false。
188
+ * In the caller's transaction (`mandatory`: the caller holds the org row lock), soft-deletes an
189
+ * org skill (plugin install rollback and uninstall). Audit `skill.deleted` with the reason.
190
+ * Returns false when it is already deleted or missing.
176
191
  */
177
- softDeleteIn(t: Trx, orgId: string, skillId: string, actorAccountId: string, reason: string): Promise<boolean>;
192
+ softDeleteIn(orgId: string, skillId: string, actorAccountId: string, reason: string): Promise<boolean>;
178
193
  /** 组织技能库(`scope=org`、未删除),按名字排序。 */
179
194
  list(orgId: string): Promise<SkillSummary[]>;
180
195
  /** 对该 agent 自动生效的技能(`scope=agent`、未删除),按名字排序。 */
@@ -188,5 +203,7 @@ export declare class SkillsService {
188
203
  * 保存时会被拒绝(运行时由 T14 忽略已删除的技能)。不存在 / 已删除 → `skill.not_found`。
189
204
  */
190
205
  softDelete(orgId: string, skillId: string, actorAccountId: string, actorTokenId?: string): Promise<void>;
206
+ /** The transaction of {@link softDelete}. */
207
+ private softDeleteTx;
191
208
  }
192
209
  export {};