@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,5 +1,5 @@
1
1
  import type { Redis } from "ioredis";
2
- import type { KernelConfig } from "../config/schema.js";
2
+ import { KernelConfigService } from "../infra/config/kernel-config.service.js";
3
3
  /** 熔断器键:每个组织 × 连接器一个 hash(`f` = 连续失败次数,`o` = 打开到期的毫秒时间戳)。 */
4
4
  export declare const breakerKey: (orgId: string, connectorId: string) => string;
5
5
  export type BreakerState = {
@@ -19,7 +19,7 @@ export declare function breakerOpenMessage(connectorName: string, failures: numb
19
19
  export declare class Breaker {
20
20
  private readonly redis;
21
21
  private readonly config;
22
- constructor(redis: Redis, config: () => KernelConfig);
22
+ constructor(redis: Redis, config: Pick<KernelConfigService, "get">);
23
23
  check(orgId: string, connectorId: string): Promise<BreakerState>;
24
24
  /** 记一次失败,返回当前连续失败次数。 */
25
25
  failure(orgId: string, connectorId: string): Promise<number>;
@@ -1,3 +1,15 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
8
+ return function (target, key) { decorator(target, key, paramIndex); }
9
+ };
10
+ import { Inject, Injectable } from "@nestjs/common";
11
+ import { KernelConfigService } from "../infra/config/kernel-config.service.js";
12
+ import { REDIS } from "../infra/tokens.js";
1
13
  /** 熔断器键:每个组织 × 连接器一个 hash(`f` = 连续失败次数,`o` = 打开到期的毫秒时间戳)。 */
2
14
  export const breakerKey = (orgId, connectorId) => `capk:breaker:${orgId}:${connectorId}`;
3
15
  /**
@@ -47,7 +59,7 @@ export function breakerOpenMessage(connectorName, failures, retryAfterSeconds) {
47
59
  * `tools.breakerOpenSeconds` 秒,期间直接拒绝;到期后半开放行,成功清零、失败立即重新打开。
48
60
  * 状态只在 Redis(多副本共享),计数与打开状态都带 TTL。
49
61
  */
50
- export class Breaker {
62
+ let Breaker = class Breaker {
51
63
  redis;
52
64
  config;
53
65
  constructor(redis, config) {
@@ -62,11 +74,17 @@ export class Breaker {
62
74
  }
63
75
  /** 记一次失败,返回当前连续失败次数。 */
64
76
  async failure(orgId, connectorId) {
65
- const { breakerFailures, breakerOpenSeconds } = this.config().tools;
77
+ const { breakerFailures, breakerOpenSeconds } = this.config.get().tools;
66
78
  return Number(await this.redis.eval(FAILURE, 1, breakerKey(orgId, connectorId), breakerFailures, breakerOpenSeconds * 1000, COUNT_TTL_MS));
67
79
  }
68
80
  /** 调用成功:清零。 */
69
81
  async success(orgId, connectorId) {
70
82
  await this.redis.del(breakerKey(orgId, connectorId));
71
83
  }
72
- }
84
+ };
85
+ Breaker = __decorate([
86
+ Injectable(),
87
+ __param(0, Inject(REDIS)),
88
+ __param(1, Inject(KernelConfigService))
89
+ ], Breaker);
90
+ export { Breaker };
@@ -0,0 +1,73 @@
1
+ import type { AgentToolRef } from "../agents/definition.js";
2
+ import type { ToolKind } from "./info.js";
3
+ /**
4
+ * The names (model-visible keys) of the kernel's builtin tools, following Claude Code (tool naming
5
+ * spec §4.1). Plain constants: `BuiltinTools`, the tool factories, the registry, policy and the
6
+ * runtime import them from here. The web keeps its own copy (`apps/web/src/lib/agents.ts`,
7
+ * `lib/timeline.ts`), checked equal by `test/tools/builtin-names.test.ts`. The release-candidate
8
+ * names are in `legacy-keys.ts`, never here.
9
+ */
10
+ export declare const BUILTIN: {
11
+ readonly Bash: "Bash";
12
+ readonly Read: "Read";
13
+ readonly Write: "Write";
14
+ readonly Edit: "Edit";
15
+ readonly Glob: "Glob";
16
+ readonly Grep: "Grep";
17
+ readonly Deliver: "Deliver";
18
+ readonly Skill: "Skill";
19
+ readonly SkillWrite: "SkillWrite";
20
+ readonly AskUserQuestion: "AskUserQuestion";
21
+ readonly ReadToolOutput: "ReadToolOutput";
22
+ readonly ToolSearch: "ToolSearch";
23
+ readonly Agent: "Agent";
24
+ };
25
+ export type BuiltinName = (typeof BUILTIN)[keyof typeof BUILTIN];
26
+ /** The builtin tools that run in the conversation's sandbox. */
27
+ export declare const SANDBOX_TOOL_NAMES: readonly BuiltinName[];
28
+ /** Sandbox tools that need approval when the org setting `sandboxToolPolicy` is `ask` (not the read-only ones). */
29
+ export declare const SANDBOX_ASK_TOOL_NAMES: ReadonlySet<string>;
30
+ /**
31
+ * Every builtin name. Saving an agent checks builtin refs against this list, not against what is
32
+ * registered now, so the order the implementations land in never affects a saved definition.
33
+ * `SkillWrite` is available only when a definition names it; `ToolSearch` and `Skill` are added
34
+ * by the registry; `Agent` dispatches sub-agents and its description is built per agent.
35
+ */
36
+ export declare const BUILTIN_TOOL_NAMES: readonly BuiltinName[];
37
+ /** The builtin that loads a skill (added by the registry when the log has a skills catalog). */
38
+ export declare const SKILL_LOAD: "Skill";
39
+ /** The builtin that searches the tool catalog (added by the registry by org setting and threshold). */
40
+ export declare const TOOL_SEARCH: "ToolSearch";
41
+ /** The builtin that dispatches sub-agents. */
42
+ export declare const AGENT_TOOL: "Agent";
43
+ /**
44
+ * Tool keys on the spec 3.6 R3 fixed list ("allowed is not confirmed"): their policy is at least
45
+ * `ask` and remembered grants never let them through. `SkillWrite` changes shared skills.
46
+ * Connector and extension tools express the same rule with `annotations.requiresUserInteraction`.
47
+ */
48
+ export declare const R3_FIXED_ASK_TOOL_KEYS: ReadonlySet<string>;
49
+ /**
50
+ * R3 keys that apply only to shared agents: a private agent's skills are not shared, so its
51
+ * `SkillWrite` takes effect without asking (R4).
52
+ */
53
+ export declare const R3_SHARED_AGENT_ONLY_TOOL_KEYS: ReadonlySet<string>;
54
+ /**
55
+ * Tools a sub-agent never gets (sub-agents spec §5.3, §5.5): `Agent` (depth 1), `AskUserQuestion`
56
+ * (the person does not see the child), `Deliver` (delivering files is the parent's job) and
57
+ * `SkillWrite`.
58
+ */
59
+ export declare const CHILD_REMOVED_TOOLS: readonly ["Agent", "AskUserQuestion", "Deliver", "SkillWrite"];
60
+ /**
61
+ * The tools of a new agent created without `tools` (`ToolSearch` is added by the registry, never
62
+ * by a definition). Only for create requests; updates and stored versions get no defaults.
63
+ */
64
+ export declare const DEFAULT_AGENT_TOOLS: AgentToolRef[];
65
+ /** Kinds of the builtin tools (display only); a builtin missing here is a plain `tool`. */
66
+ export declare const BUILTIN_TOOL_KINDS: Readonly<Record<string, ToolKind>>;
67
+ /**
68
+ * Input fields left out when matching a replayed call with a recorded one (full-run replay), per
69
+ * tool: display-only arguments the model writes that do not change what the tool does. `Bash`'s
70
+ * `description` became required in UI refresh B, so a recording without it and a replayed call
71
+ * with one (or a different wording) still match.
72
+ */
73
+ export declare const MATCH_IGNORED_FIELDS: Readonly<Record<string, readonly string[]>>;
@@ -0,0 +1,116 @@
1
+ /**
2
+ * The names (model-visible keys) of the kernel's builtin tools, following Claude Code (tool naming
3
+ * spec §4.1). Plain constants: `BuiltinTools`, the tool factories, the registry, policy and the
4
+ * runtime import them from here. The web keeps its own copy (`apps/web/src/lib/agents.ts`,
5
+ * `lib/timeline.ts`), checked equal by `test/tools/builtin-names.test.ts`. The release-candidate
6
+ * names are in `legacy-keys.ts`, never here.
7
+ */
8
+ export const BUILTIN = {
9
+ Bash: "Bash",
10
+ Read: "Read",
11
+ Write: "Write",
12
+ Edit: "Edit",
13
+ Glob: "Glob",
14
+ Grep: "Grep",
15
+ Deliver: "Deliver",
16
+ Skill: "Skill",
17
+ SkillWrite: "SkillWrite",
18
+ AskUserQuestion: "AskUserQuestion",
19
+ ReadToolOutput: "ReadToolOutput",
20
+ ToolSearch: "ToolSearch",
21
+ Agent: "Agent",
22
+ };
23
+ /** The builtin tools that run in the conversation's sandbox. */
24
+ export const SANDBOX_TOOL_NAMES = [
25
+ BUILTIN.Bash,
26
+ BUILTIN.Read,
27
+ BUILTIN.Write,
28
+ BUILTIN.Edit,
29
+ BUILTIN.Glob,
30
+ BUILTIN.Grep,
31
+ BUILTIN.Deliver,
32
+ ];
33
+ /** Sandbox tools that need approval when the org setting `sandboxToolPolicy` is `ask` (not the read-only ones). */
34
+ export const SANDBOX_ASK_TOOL_NAMES = new Set([
35
+ BUILTIN.Bash,
36
+ BUILTIN.Write,
37
+ BUILTIN.Edit,
38
+ BUILTIN.Deliver,
39
+ ]);
40
+ /**
41
+ * Every builtin name. Saving an agent checks builtin refs against this list, not against what is
42
+ * registered now, so the order the implementations land in never affects a saved definition.
43
+ * `SkillWrite` is available only when a definition names it; `ToolSearch` and `Skill` are added
44
+ * by the registry; `Agent` dispatches sub-agents and its description is built per agent.
45
+ */
46
+ export const BUILTIN_TOOL_NAMES = [
47
+ BUILTIN.AskUserQuestion,
48
+ BUILTIN.ReadToolOutput,
49
+ BUILTIN.ToolSearch,
50
+ BUILTIN.Skill,
51
+ BUILTIN.SkillWrite,
52
+ ...SANDBOX_TOOL_NAMES,
53
+ BUILTIN.Agent,
54
+ ];
55
+ /** The builtin that loads a skill (added by the registry when the log has a skills catalog). */
56
+ export const SKILL_LOAD = BUILTIN.Skill;
57
+ /** The builtin that searches the tool catalog (added by the registry by org setting and threshold). */
58
+ export const TOOL_SEARCH = BUILTIN.ToolSearch;
59
+ /** The builtin that dispatches sub-agents. */
60
+ export const AGENT_TOOL = BUILTIN.Agent;
61
+ /**
62
+ * Tool keys on the spec 3.6 R3 fixed list ("allowed is not confirmed"): their policy is at least
63
+ * `ask` and remembered grants never let them through. `SkillWrite` changes shared skills.
64
+ * Connector and extension tools express the same rule with `annotations.requiresUserInteraction`.
65
+ */
66
+ export const R3_FIXED_ASK_TOOL_KEYS = new Set([BUILTIN.SkillWrite]);
67
+ /**
68
+ * R3 keys that apply only to shared agents: a private agent's skills are not shared, so its
69
+ * `SkillWrite` takes effect without asking (R4).
70
+ */
71
+ export const R3_SHARED_AGENT_ONLY_TOOL_KEYS = new Set([
72
+ BUILTIN.SkillWrite,
73
+ ]);
74
+ /**
75
+ * Tools a sub-agent never gets (sub-agents spec §5.3, §5.5): `Agent` (depth 1), `AskUserQuestion`
76
+ * (the person does not see the child), `Deliver` (delivering files is the parent's job) and
77
+ * `SkillWrite`.
78
+ */
79
+ export const CHILD_REMOVED_TOOLS = [
80
+ BUILTIN.Agent,
81
+ BUILTIN.AskUserQuestion,
82
+ BUILTIN.Deliver,
83
+ BUILTIN.SkillWrite,
84
+ ];
85
+ /**
86
+ * The tools of a new agent created without `tools` (`ToolSearch` is added by the registry, never
87
+ * by a definition). Only for create requests; updates and stored versions get no defaults.
88
+ */
89
+ export const DEFAULT_AGENT_TOOLS = [
90
+ { kind: "builtin", name: BUILTIN.AskUserQuestion },
91
+ { kind: "builtin", name: BUILTIN.ReadToolOutput },
92
+ ];
93
+ /** Kinds of the builtin tools (display only); a builtin missing here is a plain `tool`. */
94
+ export const BUILTIN_TOOL_KINDS = {
95
+ [BUILTIN.Bash]: "command",
96
+ [BUILTIN.Read]: "read",
97
+ [BUILTIN.Write]: "edit",
98
+ [BUILTIN.Edit]: "edit",
99
+ [BUILTIN.Glob]: "search",
100
+ [BUILTIN.Grep]: "search",
101
+ [BUILTIN.Deliver]: "tool",
102
+ [BUILTIN.ToolSearch]: "meta",
103
+ [BUILTIN.Skill]: "meta",
104
+ [BUILTIN.SkillWrite]: "meta",
105
+ [BUILTIN.ReadToolOutput]: "meta",
106
+ [BUILTIN.AskUserQuestion]: "meta",
107
+ };
108
+ /**
109
+ * Input fields left out when matching a replayed call with a recorded one (full-run replay), per
110
+ * tool: display-only arguments the model writes that do not change what the tool does. `Bash`'s
111
+ * `description` became required in UI refresh B, so a recording without it and a replayed call
112
+ * with one (or a different wording) still match.
113
+ */
114
+ export const MATCH_IGNORED_FIELDS = {
115
+ [BUILTIN.Bash]: ["description"],
116
+ };
@@ -3,15 +3,15 @@ import { z } from "zod";
3
3
  import type { EventPayload } from "../../conversations/events.js";
4
4
  import { type RosterEntry } from "../../runtime/subagents/roster.js";
5
5
  import type { BuiltinTool } from "../registry.js";
6
+ export { AGENT_TOOL } from "../builtin-names.js";
6
7
  /**
7
- * The `agent` builtin tool (sub-agents spec §4): dispatches a sub-agent. Its description is built
8
+ * The `Agent` builtin tool (sub-agents spec §4): dispatches a sub-agent. Its description is built
8
9
  * per parent agent version from the roster ({@link agentToolSpec}); the tool pipeline handles the
9
10
  * call itself (dispatch, suspend, resume), so {@link agentTool}'s `run` is only a guard.
10
11
  */
11
- export declare const AGENT_TOOL = "agent";
12
12
  /** How a sub-agent's run ended (`subagent_finished.status`). */
13
13
  export type SubagentStatus = EventPayload<"subagent_finished">["status"];
14
- /** The input of an `agent` call (§4.2). */
14
+ /** The input of an `Agent` call (§4.2). */
15
15
  export declare const AgentToolInput: z.ZodObject<{
16
16
  description: z.ZodString;
17
17
  prompt: z.ZodString;
@@ -26,7 +26,7 @@ export declare const AgentToolInput: z.ZodObject<{
26
26
  }, z.core.$strict>;
27
27
  export type AgentToolInputT = z.infer<typeof AgentToolInput>;
28
28
  /**
29
- * The `agent` tool definition of a parent agent version (§4.3): the fixed text with
29
+ * The `Agent` tool definition of a parent agent version (§4.3): the fixed text with
30
30
  * `maxConcurrent`, then one line per roster entry in roster order. Built at tool resolution, so the
31
31
  * spec hash changes with the roster or the limit (logged per request in `tool_specs`).
32
32
  */
@@ -45,7 +45,7 @@ export declare const AGENT_REFUSALS: {
45
45
  };
46
46
  /**
47
47
  * The parent run was stopped while this sub-agent worked (§4.4, §12): the result of a stopped
48
- * parent's open `agent` call, and the text of a child stopped with its parent.
48
+ * parent's open `Agent` call, and the text of a child stopped with its parent.
49
49
  */
50
50
  export declare const AGENT_STOPPED_WITH_RUN_TEXT = "The run was stopped while this sub-agent was working; it was stopped too.";
51
51
  /**
@@ -65,7 +65,7 @@ export declare function agentResultText(r: {
65
65
  ownModel?: boolean;
66
66
  abortedBy?: "user" | "parent";
67
67
  /**
68
- * Phase D: the report of a person's fork invocation, whose parent need not have the `agent`
68
+ * Phase D: the report of a person's fork invocation, whose parent need not have the `Agent`
69
69
  * tool: the status line leaves out the resume hint (batch 3 review m2).
70
70
  */
71
71
  noResumeHint?: boolean;
@@ -75,7 +75,7 @@ export declare function agentResultText(r: {
75
75
  };
76
76
  /**
77
77
  * The builtin. `defaultPolicy: "allow"` (§4.6): a sub-agent runs only tools its parent may run,
78
- * each under its own policy. The tool pipeline dispatches `agent` calls itself; `run` answers only
78
+ * each under its own policy. The tool pipeline dispatches `Agent` calls itself; `run` answers only
79
79
  * when a call reaches it anyway.
80
80
  */
81
81
  export declare const agentTool: BuiltinTool;
@@ -1,12 +1,8 @@
1
1
  import { z } from "zod";
2
2
  import { ROSTER_DESCRIPTION_MAX } from "../../runtime/subagents/roster.js";
3
- /**
4
- * The `agent` builtin tool (sub-agents spec §4): dispatches a sub-agent. Its description is built
5
- * per parent agent version from the roster ({@link agentToolSpec}); the tool pipeline handles the
6
- * call itself (dispatch, suspend, resume), so {@link agentTool}'s `run` is only a guard.
7
- */
8
- export const AGENT_TOOL = "agent";
9
- /** The input of an `agent` call (§4.2). */
3
+ import { AGENT_TOOL } from "../builtin-names.js";
4
+ export { AGENT_TOOL } from "../builtin-names.js";
5
+ /** The input of an `Agent` call (§4.2). */
10
6
  export const AgentToolInput = z
11
7
  .object({
12
8
  description: z.string().min(1).max(80),
@@ -86,7 +82,7 @@ function rosterLine(e) {
86
82
  : `${line} (the agent "${inert(e.agentName).replaceAll('"', "'")}", with its own tools and model)`;
87
83
  }
88
84
  /**
89
- * The `agent` tool definition of a parent agent version (§4.3): the fixed text with
85
+ * The `Agent` tool definition of a parent agent version (§4.3): the fixed text with
90
86
  * `maxConcurrent`, then one line per roster entry in roster order. Built at tool resolution, so the
91
87
  * spec hash changes with the roster or the limit (logged per request in `tool_specs`).
92
88
  */
@@ -105,7 +101,7 @@ export function agentToolSpec(roster, maxConcurrent) {
105
101
  * `agentToolSpec([general-purpose], 4)`.
106
102
  */
107
103
  const SPEC = {
108
- name: "agent",
104
+ name: "Agent",
109
105
  description: "Dispatch a sub-agent: a fresh agent with its own context that works on one task and returns its " +
110
106
  "final reply as this tool's result. The sub-agent sees only your prompt, not this conversation, so " +
111
107
  "include everything it needs and say what its final reply must contain. It shares your sandbox " +
@@ -134,7 +130,7 @@ export const AGENT_REFUSALS = {
134
130
  };
135
131
  /**
136
132
  * The parent run was stopped while this sub-agent worked (§4.4, §12): the result of a stopped
137
- * parent's open `agent` call, and the text of a child stopped with its parent.
133
+ * parent's open `Agent` call, and the text of a child stopped with its parent.
138
134
  */
139
135
  export const AGENT_STOPPED_WITH_RUN_TEXT = "The run was stopped while this sub-agent was working; it was stopped too.";
140
136
  /** `12345` → `12,345` (no locale data involved, so the text is the same on every replica). */
@@ -210,7 +206,7 @@ export function agentResultText(r) {
210
206
  }
211
207
  /**
212
208
  * The builtin. `defaultPolicy: "allow"` (§4.6): a sub-agent runs only tools its parent may run,
213
- * each under its own policy. The tool pipeline dispatches `agent` calls itself; `run` answers only
209
+ * each under its own policy. The tool pipeline dispatches `Agent` calls itself; `run` answers only
214
210
  * when a call reaches it anyway.
215
211
  */
216
212
  export const agentTool = {
@@ -1,5 +1,5 @@
1
1
  import { type FormAnswer, type InputForm } from "@capybara-hq/plugin-sdk";
2
- import type { KernelConfig } from "../../config/schema.js";
2
+ import type { KernelConfigService } from "../../infra/config/kernel-config.service.js";
3
3
  import type { BuiltinTool } from "../registry.js";
4
4
  interface Question {
5
5
  question: string;
@@ -18,11 +18,11 @@ export declare function questionsForm(questions: Question[]): InputForm;
18
18
  /** 答案 → 给模型的结果文本:`User answered: "<question>" = "<answer>"; …`。 */
19
19
  export declare function answerText(questions: Question[], answer: FormAnswer): string;
20
20
  /**
21
- * 内置工具 `ask_user`:用通用的输入请求机制实现——首次调用返回 `input_required`,
21
+ * 内置工具 `AskUserQuestion`:用通用的输入请求机制实现——首次调用返回 `input_required`,
22
22
  * 内核暂停运行并展示表单;用户回答(或超时)后用同一 input 再次调用,按 `ctx.resume` 生成结果。
23
23
  * 默认 allow(提问本身就是让用户参与,不再审批)。
24
24
  */
25
25
  export declare function askUserTool(deps: {
26
- config: () => KernelConfig;
26
+ config: Pick<KernelConfigService, "get">;
27
27
  }): BuiltinTool;
28
28
  export {};
@@ -1,6 +1,6 @@
1
1
  import { ToolError } from "@capybara-hq/plugin-sdk";
2
2
  const SPEC = {
3
- name: "ask_user",
3
+ name: "AskUserQuestion",
4
4
  description: "Ask the user one or more multiple-choice questions and wait for the answers. Use it when you " +
5
5
  "need the user's preference or decision to continue, or when a request is ambiguous; do not use " +
6
6
  "it for questions you can answer yourself. Each question has a short header, 2-4 options with a " +
@@ -103,7 +103,7 @@ const text = (t, zh, en) => ({
103
103
  display: { summary: { zh, en } },
104
104
  });
105
105
  /**
106
- * 内置工具 `ask_user`:用通用的输入请求机制实现——首次调用返回 `input_required`,
106
+ * 内置工具 `AskUserQuestion`:用通用的输入请求机制实现——首次调用返回 `input_required`,
107
107
  * 内核暂停运行并展示表单;用户回答(或超时)后用同一 input 再次调用,按 `ctx.resume` 生成结果。
108
108
  * 默认 allow(提问本身就是让用户参与,不再审批)。
109
109
  */
@@ -132,7 +132,7 @@ export function askUserTool(deps) {
132
132
  throw new ToolError(`Option labels must be unique within a question; "${q.question}" has duplicates. Provide distinct labels.`);
133
133
  }
134
134
  }
135
- const state = { hours: deps.config().tools.approvalTimeoutHours };
135
+ const state = { hours: deps.config.get().tools.approvalTimeoutHours };
136
136
  return { kind: "input_required", form: questionsForm(questions), state };
137
137
  },
138
138
  };
@@ -0,0 +1,21 @@
1
+ import { AttachmentsService } from "../../conversations/attachments.service.js";
2
+ import { EventLog } from "../../conversations/event-log.js";
3
+ import { KernelConfigService } from "../../infra/config/kernel-config.service.js";
4
+ import { KernelDb } from "../../infra/database/kernel-db.js";
5
+ import { SandboxService } from "../../sandbox/sandbox.service.js";
6
+ import { SkillChangesService } from "../../skills/changes.service.js";
7
+ import { StorageService } from "../../storage/storage.service.js";
8
+ import { ToolOutputs } from "../outputs.js";
9
+ import type { BuiltinTool } from "../registry.js";
10
+ /**
11
+ * The kernel's builtin tools, built once from the injected services (their specs: names,
12
+ * descriptions and schemas, are the factories' own and unchanged). `ToolSearch` and `Skill`
13
+ * are added to a run by the registry (`forAgent`: organization setting and threshold, a skills
14
+ * catalog snapshot), not by agent definitions; `SkillWrite` only when a definition names it.
15
+ */
16
+ export declare class BuiltinTools {
17
+ private readonly tools;
18
+ constructor(db: KernelDb, config: KernelConfigService, outputs: ToolOutputs, storage: StorageService, skillChanges: SkillChangesService, attachments: AttachmentsService, eventLog: EventLog, sandbox: SandboxService);
19
+ /** The builtin tools, in a fixed order. */
20
+ list(): readonly BuiltinTool[];
21
+ }
@@ -0,0 +1,80 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
8
+ return function (target, key) { decorator(target, key, paramIndex); }
9
+ };
10
+ import { Inject, Injectable } from "@nestjs/common";
11
+ import { AttachmentsService } from "../../conversations/attachments.service.js";
12
+ import { EventLog } from "../../conversations/event-log.js";
13
+ import { KernelConfigService } from "../../infra/config/kernel-config.service.js";
14
+ import { KernelDb } from "../../infra/database/kernel-db.js";
15
+ import { SandboxService } from "../../sandbox/sandbox.service.js";
16
+ import { SkillChangesService } from "../../skills/changes.service.js";
17
+ import { StorageService } from "../../storage/storage.service.js";
18
+ import { ToolOutputs } from "../outputs.js";
19
+ import { agentTool } from "./agent.js";
20
+ import { askUserTool } from "./ask-user.js";
21
+ import { readToolOutputTool } from "./read-tool-output.js";
22
+ import { sandboxTools } from "./sandbox/index.js";
23
+ import { skillLoadTool } from "./skill-load.js";
24
+ import { skillWriteTool } from "./skill-write.js";
25
+ import { toolSearchTool } from "./tool-search.js";
26
+ /**
27
+ * The kernel's builtin tools, built once from the injected services (their specs: names,
28
+ * descriptions and schemas, are the factories' own and unchanged). `ToolSearch` and `Skill`
29
+ * are added to a run by the registry (`forAgent`: organization setting and threshold, a skills
30
+ * catalog snapshot), not by agent definitions; `SkillWrite` only when a definition names it.
31
+ */
32
+ let BuiltinTools = class BuiltinTools {
33
+ tools;
34
+ constructor(db, config, outputs, storage, skillChanges, attachments, eventLog, sandbox) {
35
+ const sandboxDeps = {
36
+ sandbox,
37
+ attachments,
38
+ storage,
39
+ eventLog,
40
+ config,
41
+ };
42
+ this.tools = [
43
+ askUserTool({ config }),
44
+ readToolOutputTool({ outputs, config }),
45
+ toolSearchTool(),
46
+ // dispatches sub-agents; the tool pipeline handles its calls (sub-agents spec §4, §7.1)
47
+ agentTool,
48
+ ...sandboxTools(sandboxDeps),
49
+ // 技能加载:对话日志里有技能目录快照时由注册表自动加入(Ruling M17)
50
+ skillLoadTool({
51
+ storage,
52
+ config,
53
+ sandbox,
54
+ attachments,
55
+ eventLog,
56
+ get db() {
57
+ return db.db;
58
+ },
59
+ }),
60
+ // 自写技能:agent 定义显式引用才可用
61
+ skillWriteTool({ changes: skillChanges }),
62
+ ];
63
+ }
64
+ /** The builtin tools, in a fixed order. */
65
+ list() {
66
+ return this.tools;
67
+ }
68
+ };
69
+ BuiltinTools = __decorate([
70
+ Injectable(),
71
+ __param(0, Inject(KernelDb)),
72
+ __param(1, Inject(KernelConfigService)),
73
+ __param(2, Inject(ToolOutputs)),
74
+ __param(3, Inject(StorageService)),
75
+ __param(4, Inject(SkillChangesService)),
76
+ __param(5, Inject(AttachmentsService)),
77
+ __param(6, Inject(EventLog)),
78
+ __param(7, Inject(SandboxService))
79
+ ], BuiltinTools);
80
+ export { BuiltinTools };
@@ -1,4 +1,4 @@
1
- import type { KernelConfig } from "../../config/schema.js";
1
+ import type { KernelConfigService } from "../../infra/config/kernel-config.service.js";
2
2
  import { type ToolOutputs } from "../outputs.js";
3
3
  import type { BuiltinTool } from "../registry.js";
4
4
  /**
@@ -11,8 +11,8 @@ export declare function readPage(id: string, content: string, opts: {
11
11
  charOffset: number;
12
12
  budget: number;
13
13
  }): string;
14
- /** 内置工具 `read_tool_output`:读本会话未过期的输出存档(只读、默认 allow)。 */
14
+ /** 内置工具 `ReadToolOutput`:读本会话未过期的输出存档(只读、默认 allow)。 */
15
15
  export declare function readToolOutputTool(deps: {
16
16
  outputs: Pick<ToolOutputs, "load">;
17
- config: () => KernelConfig;
17
+ config: Pick<KernelConfigService, "get">;
18
18
  }): BuiltinTool;
@@ -8,7 +8,7 @@ const DEFAULT_LIMIT = 200;
8
8
  */
9
9
  const FOOTER_RESERVE = 200;
10
10
  const SPEC = {
11
- name: "read_tool_output",
11
+ name: "ReadToolOutput",
12
12
  description: "Read a saved tool output by its id, page by page. Large tool results are truncated in the " +
13
13
  "conversation and saved in full; the truncation notice gives the output id. Lines are numbered " +
14
14
  "from 0. Each call returns up to `limit` lines starting at line `offset`, capped at a maximum " +
@@ -85,7 +85,7 @@ export function readPage(id, content, opts) {
85
85
  const footer = `[Lines ${offset}–${last} of ${total}]`;
86
86
  return [parts.join("\n"), ...(cut === null ? [] : [cut]), footer].join("\n");
87
87
  }
88
- /** 内置工具 `read_tool_output`:读本会话未过期的输出存档(只读、默认 allow)。 */
88
+ /** 内置工具 `ReadToolOutput`:读本会话未过期的输出存档(只读、默认 allow)。 */
89
89
  export function readToolOutputTool(deps) {
90
90
  return {
91
91
  spec: SPEC,
@@ -95,7 +95,7 @@ export function readToolOutputTool(deps) {
95
95
  const content = await deps.outputs.load({ orgId: ctx.orgId, conversationId: ctx.conversationId }, id);
96
96
  if (content === null)
97
97
  throw new ToolError(outputNotFoundText(id));
98
- const cfg = deps.config().tools;
98
+ const cfg = deps.config.get().tools;
99
99
  const budget = Math.max(1, Math.min(cfg.maxResultReadChars, cfg.outputSpillChars - FOOTER_RESERVE));
100
100
  return {
101
101
  content: [
@@ -1,16 +1,16 @@
1
- import { type ExecResult } from "@capybara-hq/plugin-sdk";
1
+ import type { ExecResult } from "@capybara-hq/plugin-sdk";
2
2
  import type { BuiltinTool } from "../../registry.js";
3
3
  import { type SandboxToolDeps } from "./common.js";
4
- /** 不给 `timeoutSeconds` 时的命令超时(秒),不超过 `sandbox.limits.maxCommandSeconds`。 */
4
+ /** The command timeout in seconds when `timeout` is not given, at most `sandbox.limits.maxCommandSeconds`. */
5
5
  export declare const BASH_DEFAULT_TIMEOUT_SECONDS = 120;
6
6
  /** The longest `description` (the shell row shows it instead of the command). */
7
7
  export declare const BASH_DESCRIPTION_MAX_CHARS = 120;
8
- /** bash 结果超过这么多字符即转存(走现有输出存档,模型用 read_tool_output 分页读)。 */
8
+ /** bash 结果超过这么多字符即转存(走现有输出存档,模型用 ReadToolOutput 分页读)。 */
9
9
  export declare const BASH_SPILL_CHARS = 30000;
10
10
  /**
11
11
  * 命令结果 → 给模型的文本。`budgetClamped`:运行的时限把超时收紧到了 `seconds`(Ruling M20),超时说明改为
12
- * 指向 `runtime.maxRunSeconds`,而不是让模型加大 timeoutSeconds。
12
+ * 指向 `runtime.maxRunSeconds`,而不是让模型加大 timeout。
13
13
  */
14
14
  export declare function formatExec(r: ExecResult, seconds: number, budgetClamped?: boolean): string;
15
- /** 内置工具 `sandbox_bash`:在本对话的沙箱里执行命令。 */
15
+ /** 内置工具 `Bash`:在本对话的沙箱里执行命令。 */
16
16
  export declare function sandboxBashTool(deps: SandboxToolDeps): BuiltinTool;