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

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 (604) hide show
  1. package/bootstrap.json +61 -5
  2. package/dist/admin/admin.controller.d.ts +47 -16
  3. package/dist/admin/admin.controller.js +44 -19
  4. package/dist/admin/extensions.controller.d.ts +24 -3
  5. package/dist/admin/extensions.controller.js +48 -8
  6. package/dist/admin/setup-lock.d.ts +1 -1
  7. package/dist/admin/setup-lock.js +1 -1
  8. package/dist/admin/setup.controller.d.ts +1 -1
  9. package/dist/admin/setup.controller.js +1 -1
  10. package/dist/admin/setup.service.d.ts +4 -4
  11. package/dist/admin/setup.service.js +8 -8
  12. package/dist/agents/agent-lookup.d.ts +19 -0
  13. package/dist/agents/agent-lookup.js +21 -0
  14. package/dist/agents/agent-profile.service.d.ts +29 -0
  15. package/dist/agents/agent-profile.service.js +117 -0
  16. package/dist/agents/agents.controller.d.ts +168 -3
  17. package/dist/agents/agents.controller.js +201 -12
  18. package/dist/agents/agents.module.d.ts +4 -1
  19. package/dist/agents/agents.module.js +36 -6
  20. package/dist/agents/agents.service.d.ts +64 -27
  21. package/dist/agents/agents.service.js +199 -74
  22. package/dist/agents/definition.d.ts +53 -0
  23. package/dist/agents/definition.js +55 -0
  24. package/dist/agents/from-template.d.ts +106 -0
  25. package/dist/agents/from-template.js +649 -0
  26. package/dist/agents/from-template.service.d.ts +60 -0
  27. package/dist/agents/from-template.service.js +161 -0
  28. package/dist/agents/instruction-files.d.ts +60 -0
  29. package/dist/agents/instruction-files.js +111 -0
  30. package/dist/agents/models.controller.d.ts +9 -3
  31. package/dist/agents/models.controller.js +19 -4
  32. package/dist/agents/org-templates.d.ts +176 -0
  33. package/dist/agents/org-templates.js +827 -0
  34. package/dist/agents/pending-connector-requests.d.ts +77 -0
  35. package/dist/agents/pending-connector-requests.js +215 -0
  36. package/dist/agents/pending-connectors.controller.d.ts +39 -0
  37. package/dist/agents/pending-connectors.controller.js +91 -0
  38. package/dist/agents/pending-connectors.service.d.ts +62 -0
  39. package/dist/agents/pending-connectors.service.js +282 -0
  40. package/dist/agents/profile.d.ts +96 -0
  41. package/dist/agents/profile.js +51 -0
  42. package/dist/agents/readiness.controller.d.ts +26 -0
  43. package/dist/agents/readiness.controller.js +56 -0
  44. package/dist/agents/templates.controller.d.ts +86 -5
  45. package/dist/agents/templates.controller.js +171 -7
  46. package/dist/agents/templates.d.ts +127 -23
  47. package/dist/agents/templates.js +476 -53
  48. package/dist/background/background.controller.d.ts +38 -0
  49. package/dist/background/background.controller.js +87 -0
  50. package/dist/background/background.module.d.ts +10 -0
  51. package/dist/background/background.module.js +39 -0
  52. package/dist/background/finish.d.ts +44 -0
  53. package/dist/background/finish.js +94 -0
  54. package/dist/background/launch-lock.d.ts +15 -0
  55. package/dist/background/launch-lock.js +40 -0
  56. package/dist/background/launch.d.ts +36 -0
  57. package/dist/background/launch.js +70 -0
  58. package/dist/background/poll.job.d.ts +56 -0
  59. package/dist/background/poll.job.js +190 -0
  60. package/dist/background/render.d.ts +23 -0
  61. package/dist/background/render.js +48 -0
  62. package/dist/background/session.d.ts +48 -0
  63. package/dist/background/session.js +79 -0
  64. package/dist/background/status.d.ts +35 -0
  65. package/dist/background/status.js +57 -0
  66. package/dist/background/stop.d.ts +68 -0
  67. package/dist/background/stop.js +243 -0
  68. package/dist/background/store.d.ts +162 -0
  69. package/dist/background/store.js +357 -0
  70. package/dist/background/store.module.d.ts +6 -0
  71. package/dist/background/store.module.js +22 -0
  72. package/dist/background/tasks.service.d.ts +77 -0
  73. package/dist/background/tasks.service.js +211 -0
  74. package/dist/background/wake-rules.d.ts +66 -0
  75. package/dist/background/wake-rules.js +113 -0
  76. package/dist/background/wake.d.ts +30 -0
  77. package/dist/background/wake.js +63 -0
  78. package/dist/catalog/admin-catalog.controller.d.ts +129 -30
  79. package/dist/catalog/admin-catalog.controller.js +213 -42
  80. package/dist/catalog/catalog-content.d.ts +58 -32
  81. package/dist/catalog/catalog-content.js +34 -8
  82. package/dist/catalog/catalog-import.module.d.ts +7 -0
  83. package/dist/catalog/catalog-import.module.js +60 -0
  84. package/dist/catalog/catalog-items.d.ts +111 -7
  85. package/dist/catalog/catalog-items.js +279 -13
  86. package/dist/catalog/catalog-scope.service.d.ts +260 -0
  87. package/dist/catalog/catalog-scope.service.js +1116 -0
  88. package/dist/catalog/catalog.module.d.ts +7 -9
  89. package/dist/catalog/catalog.module.js +41 -31
  90. package/dist/catalog/catalog.service.d.ts +101 -29
  91. package/dist/catalog/catalog.service.js +104 -106
  92. package/dist/catalog/claude/agents.js +2 -0
  93. package/dist/catalog/cli.d.ts +11 -1
  94. package/dist/catalog/cli.js +26 -1
  95. package/dist/catalog/component-promotion.d.ts +96 -0
  96. package/dist/catalog/component-promotion.js +395 -0
  97. package/dist/catalog/component-scope.controller.d.ts +152 -0
  98. package/dist/catalog/component-scope.controller.js +287 -0
  99. package/dist/catalog/component-scope.service.d.ts +303 -0
  100. package/dist/catalog/component-scope.service.js +936 -0
  101. package/dist/catalog/component-state.d.ts +174 -0
  102. package/dist/catalog/component-state.js +437 -0
  103. package/dist/catalog/job-ids.d.ts +30 -0
  104. package/dist/catalog/job-ids.js +25 -0
  105. package/dist/catalog/marketplace-fetch.d.ts +1 -1
  106. package/dist/catalog/marketplaces.controller.d.ts +22 -5
  107. package/dist/catalog/marketplaces.controller.js +56 -7
  108. package/dist/catalog/marketplaces.service.d.ts +54 -14
  109. package/dist/catalog/marketplaces.service.js +71 -22
  110. package/dist/catalog/org-catalog.controller.d.ts +125 -34
  111. package/dist/catalog/org-catalog.controller.js +181 -65
  112. package/dist/catalog/org-catalog.service.d.ts +65 -33
  113. package/dist/catalog/org-catalog.service.js +324 -157
  114. package/dist/catalog/org-extension-switch.d.ts +41 -0
  115. package/dist/catalog/org-extension-switch.js +115 -0
  116. package/dist/catalog/org-extension.controller.d.ts +119 -0
  117. package/dist/catalog/org-extension.controller.js +266 -0
  118. package/dist/catalog/org-plugin-uploads.controller.d.ts +98 -0
  119. package/dist/catalog/org-plugin-uploads.controller.js +213 -0
  120. package/dist/catalog/org-plugin-uploads.d.ts +63 -0
  121. package/dist/catalog/org-plugin-uploads.js +116 -0
  122. package/dist/catalog/owned-items.d.ts +184 -0
  123. package/dist/catalog/owned-items.js +789 -0
  124. package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
  125. package/dist/catalog/owned-plugin-cleanup.js +194 -0
  126. package/dist/catalog/ownership.d.ts +172 -0
  127. package/dist/catalog/ownership.js +326 -0
  128. package/dist/catalog/platform-components.d.ts +221 -0
  129. package/dist/catalog/platform-components.js +761 -0
  130. package/dist/catalog/platform-migration.d.ts +115 -0
  131. package/dist/catalog/platform-migration.js +582 -0
  132. package/dist/catalog/plugin-import.d.ts +178 -34
  133. package/dist/catalog/plugin-import.js +623 -83
  134. package/dist/catalog/plugin-install.d.ts +185 -41
  135. package/dist/catalog/plugin-install.js +758 -126
  136. package/dist/catalog/plugin-upgrade.d.ts +260 -225
  137. package/dist/catalog/plugin-upgrade.js +1148 -1137
  138. package/dist/catalog/request-rules.d.ts +65 -0
  139. package/dist/catalog/request-rules.js +217 -0
  140. package/dist/catalog/requests.service.d.ts +193 -118
  141. package/dist/catalog/requests.service.js +526 -343
  142. package/dist/catalog/reserved-names.d.ts +8 -0
  143. package/dist/catalog/reserved-names.js +42 -0
  144. package/dist/catalog/scope-orgs.d.ts +21 -0
  145. package/dist/catalog/scope-orgs.js +67 -0
  146. package/dist/catalog/scope-state.d.ts +35 -0
  147. package/dist/catalog/scope-state.js +87 -0
  148. package/dist/catalog/scope-sync-workers.d.ts +7 -0
  149. package/dist/catalog/scope-sync-workers.js +29 -0
  150. package/dist/catalog/scope-sync.d.ts +176 -0
  151. package/dist/catalog/scope-sync.js +576 -0
  152. package/dist/catalog/scope.d.ts +42 -0
  153. package/dist/catalog/scope.js +42 -0
  154. package/dist/catalog/unshare.d.ts +22 -0
  155. package/dist/catalog/unshare.js +118 -0
  156. package/dist/channels/actions.js +1 -0
  157. package/dist/channels/cards.js +21 -3
  158. package/dist/channels/channels.module.js +2 -0
  159. package/dist/channels/connections.service.d.ts +16 -1
  160. package/dist/channels/connections.service.js +38 -4
  161. package/dist/channels/inbound.d.ts +9 -1
  162. package/dist/channels/inbound.js +67 -5
  163. package/dist/channels/phrases.d.ts +35 -0
  164. package/dist/channels/phrases.js +29 -0
  165. package/dist/channels/threads.d.ts +5 -0
  166. package/dist/channels/threads.js +8 -0
  167. package/dist/config/docs.js +3 -1
  168. package/dist/config/schema.d.ts +24 -2
  169. package/dist/config/schema.js +145 -19
  170. package/dist/conversations/access.d.ts +6 -4
  171. package/dist/conversations/access.js +29 -5
  172. package/dist/conversations/agent-tree.d.ts +46 -0
  173. package/dist/conversations/agent-tree.js +92 -0
  174. package/dist/conversations/attachments.service.d.ts +30 -0
  175. package/dist/conversations/attachments.service.js +130 -5
  176. package/dist/conversations/conversations.controller.d.ts +79 -23
  177. package/dist/conversations/conversations.controller.js +141 -50
  178. package/dist/conversations/conversations.module.d.ts +1 -1
  179. package/dist/conversations/conversations.module.js +10 -7
  180. package/dist/conversations/conversations.service.d.ts +108 -9
  181. package/dist/conversations/conversations.service.js +237 -30
  182. package/dist/conversations/environment-status.d.ts +24 -0
  183. package/dist/conversations/environment-status.js +71 -0
  184. package/dist/conversations/event-log.d.ts +21 -6
  185. package/dist/conversations/event-log.js +70 -1
  186. package/dist/conversations/events.d.ts +140 -0
  187. package/dist/conversations/events.js +142 -13
  188. package/dist/conversations/queue.d.ts +3 -1
  189. package/dist/conversations/queue.js +13 -2
  190. package/dist/conversations/queue.service.d.ts +1 -1
  191. package/dist/conversations/queue.service.js +8 -1
  192. package/dist/conversations/titles.d.ts +12 -3
  193. package/dist/conversations/titles.js +36 -8
  194. package/dist/conversations/tree.d.ts +17 -0
  195. package/dist/conversations/tree.js +42 -0
  196. package/dist/ctx/create-ctx.d.ts +5 -0
  197. package/dist/ctx/create-ctx.js +15 -5
  198. package/dist/db/kernel-schema.d.ts +420 -20
  199. package/dist/db/pool.d.ts +5 -0
  200. package/dist/db/pool.js +3 -0
  201. package/dist/environments/access.d.ts +41 -0
  202. package/dist/environments/access.js +77 -0
  203. package/dist/environments/conversation-environments.d.ts +61 -0
  204. package/dist/environments/conversation-environments.js +170 -0
  205. package/dist/environments/dto.d.ts +25 -0
  206. package/dist/environments/dto.js +12 -0
  207. package/dist/environments/environments.controller.d.ts +33 -0
  208. package/dist/environments/environments.controller.js +110 -0
  209. package/dist/environments/environments.module.d.ts +8 -0
  210. package/dist/environments/environments.module.js +27 -0
  211. package/dist/environments/environments.service.d.ts +153 -0
  212. package/dist/environments/environments.service.js +541 -0
  213. package/dist/environments/legacy-cleanup.job.d.ts +34 -0
  214. package/dist/environments/legacy-cleanup.job.js +141 -0
  215. package/dist/errors.d.ts +90 -2
  216. package/dist/errors.js +90 -2
  217. package/dist/evals/reconstruct.d.ts +18 -9
  218. package/dist/evals/reconstruct.js +26 -7
  219. package/dist/evals/run-replay.d.ts +7 -2
  220. package/dist/evals/run-replay.js +42 -7
  221. package/dist/evals/step-replay.d.ts +2 -5
  222. package/dist/evals/step-replay.js +13 -7
  223. package/dist/evals/trajectory.js +1 -1
  224. package/dist/evals/trajectory.service.d.ts +8 -3
  225. package/dist/evals/trajectory.service.js +26 -14
  226. package/dist/evals/worker.d.ts +5 -5
  227. package/dist/evals/worker.js +9 -3
  228. package/dist/extensions/admin-ops.d.ts +36 -10
  229. package/dist/extensions/admin-ops.js +67 -42
  230. package/dist/extensions/admin-view.d.ts +39 -10
  231. package/dist/extensions/admin-view.js +111 -20
  232. package/dist/extensions/blobs.js +1 -0
  233. package/dist/extensions/bootstrap.d.ts +17 -4
  234. package/dist/extensions/bootstrap.js +70 -9
  235. package/dist/extensions/cli.d.ts +12 -0
  236. package/dist/extensions/cli.js +11 -2
  237. package/dist/extensions/config-issues.d.ts +13 -1
  238. package/dist/extensions/config-issues.js +22 -5
  239. package/dist/extensions/config-json-schema.d.ts +43 -7
  240. package/dist/extensions/config-json-schema.js +124 -58
  241. package/dist/extensions/deployment-config-store.d.ts +6 -0
  242. package/dist/extensions/deployment-config.d.ts +78 -8
  243. package/dist/extensions/deployment-config.js +172 -34
  244. package/dist/extensions/display-name.d.ts +22 -0
  245. package/dist/extensions/display-name.js +77 -0
  246. package/dist/extensions/effective-config.d.ts +127 -0
  247. package/dist/extensions/effective-config.js +368 -0
  248. package/dist/extensions/extensions.module.js +14 -2
  249. package/dist/extensions/hooks.d.ts +37 -4
  250. package/dist/extensions/hooks.js +82 -16
  251. package/dist/extensions/host.d.ts +45 -2
  252. package/dist/extensions/host.js +112 -16
  253. package/dist/extensions/installs.d.ts +20 -8
  254. package/dist/extensions/installs.js +37 -15
  255. package/dist/extensions/org-config.d.ts +81 -6
  256. package/dist/extensions/org-config.js +195 -44
  257. package/dist/extensions/org-levels.d.ts +37 -0
  258. package/dist/extensions/org-levels.js +71 -0
  259. package/dist/extensions/org-overrides.d.ts +151 -0
  260. package/dist/extensions/org-overrides.js +524 -0
  261. package/dist/extensions/package.d.ts +14 -1
  262. package/dist/extensions/package.js +51 -2
  263. package/dist/extensions/permission-view.d.ts +19 -4
  264. package/dist/extensions/permission-view.js +4 -4
  265. package/dist/extensions/plugin-items.d.ts +21 -0
  266. package/dist/extensions/plugin-items.js +42 -0
  267. package/dist/extensions/point-defaults.controller.d.ts +34 -0
  268. package/dist/extensions/point-defaults.controller.js +71 -0
  269. package/dist/extensions/point-defaults.d.ts +71 -0
  270. package/dist/extensions/point-defaults.js +234 -0
  271. package/dist/extensions/registry.d.ts +1 -1
  272. package/dist/extensions/registry.js +2 -0
  273. package/dist/extensions/resolve.d.ts +5 -1
  274. package/dist/extensions/resolve.js +15 -2
  275. package/dist/files/previewers.d.ts +8 -1
  276. package/dist/files/previewers.js +35 -6
  277. package/dist/http/api.module.js +31 -3
  278. package/dist/http/app.d.ts +11 -2
  279. package/dist/http/app.js +31 -5
  280. package/dist/http/nest-logger.d.ts +6 -5
  281. package/dist/http/nest-logger.js +24 -10
  282. package/dist/identity/accounts.d.ts +29 -29
  283. package/dist/identity/accounts.js +47 -47
  284. package/dist/identity/audit.d.ts +2 -1
  285. package/dist/identity/auth.controller.js +9 -5
  286. package/dist/identity/auth.guard.d.ts +13 -5
  287. package/dist/identity/auth.guard.js +26 -9
  288. package/dist/identity/cookies.d.ts +20 -5
  289. package/dist/identity/cookies.js +44 -6
  290. package/dist/identity/identity.module.d.ts +1 -1
  291. package/dist/identity/identity.module.js +4 -4
  292. package/dist/identity/me.controller.d.ts +5 -1
  293. package/dist/identity/me.controller.js +12 -3
  294. package/dist/identity/principal.d.ts +3 -3
  295. package/dist/identity/principal.js +3 -3
  296. package/dist/identity/sessions.d.ts +12 -0
  297. package/dist/identity/sessions.js +45 -0
  298. package/dist/identity/settings.d.ts +22 -11
  299. package/dist/identity/settings.js +53 -18
  300. package/dist/identity/{enterprise-admin.d.ts → super-admin.d.ts} +5 -5
  301. package/dist/identity/{enterprise-admin.js → super-admin.js} +24 -24
  302. package/dist/inbox/inbox.module.d.ts +4 -1
  303. package/dist/inbox/inbox.module.js +7 -3
  304. package/dist/inbox/inbox.service.d.ts +62 -3
  305. package/dist/inbox/inbox.service.js +74 -4
  306. package/dist/inbox/org-notices.d.ts +63 -0
  307. package/dist/inbox/org-notices.js +91 -0
  308. package/dist/inbox/platform-inbox.controller.d.ts +23 -0
  309. package/dist/inbox/platform-inbox.controller.js +58 -0
  310. package/dist/inbox/platform-inbox.service.d.ts +151 -0
  311. package/dist/inbox/platform-inbox.service.js +263 -0
  312. package/dist/inbox/platform-notices.d.ts +19 -0
  313. package/dist/inbox/platform-notices.js +9 -0
  314. package/dist/index.d.ts +2 -2
  315. package/dist/index.js +1 -1
  316. package/dist/infra/cli/kernel-cli.module.js +9 -1
  317. package/dist/infra/config/kernel-config.service.js +27 -1
  318. package/dist/infra/database/database.module.js +1 -0
  319. package/dist/infra/database/xact-lock.d.ts +1 -1
  320. package/dist/infra/database/xact-lock.js +1 -1
  321. package/dist/infra/events/kernel-events.d.ts +19 -2
  322. package/dist/infra/lifecycle/process-guards.js +4 -0
  323. package/dist/infra/logging/logging.module.d.ts +4 -2
  324. package/dist/infra/logging/logging.module.js +24 -6
  325. package/dist/infra/queue/add-job-once.d.ts +14 -0
  326. package/dist/infra/queue/add-job-once.js +16 -0
  327. package/dist/infra/queue/redis-connection.d.ts +6 -0
  328. package/dist/infra/queue/redis-connection.js +7 -0
  329. package/dist/infra/redis/redis.module.js +6 -2
  330. package/dist/infra/tokens.d.ts +6 -1
  331. package/dist/infra/tokens.js +6 -1
  332. package/dist/kernel.module.js +6 -0
  333. package/dist/lifecycle/kernel-lifecycle.d.ts +1 -1
  334. package/dist/lifecycle/kernel-lifecycle.js +4 -4
  335. package/dist/log.d.ts +13 -1
  336. package/dist/log.js +93 -17
  337. package/dist/models/prices.d.ts +5 -5
  338. package/dist/models/prices.js +4 -4
  339. package/dist/models/purposes.controller.d.ts +6 -4
  340. package/dist/models/purposes.controller.js +13 -7
  341. package/dist/models/purposes.d.ts +43 -9
  342. package/dist/models/purposes.js +48 -18
  343. package/dist/orgs/directory-sync.d.ts +14 -5
  344. package/dist/orgs/directory-sync.js +41 -17
  345. package/dist/orgs/offboarding.d.ts +12 -8
  346. package/dist/orgs/offboarding.js +54 -33
  347. package/dist/orgs/org-lock.d.ts +5 -0
  348. package/dist/orgs/org-lock.js +13 -0
  349. package/dist/orgs/org.guard.d.ts +10 -0
  350. package/dist/orgs/org.guard.js +43 -32
  351. package/dist/orgs/orgs.module.js +3 -0
  352. package/dist/orgs/orgs.service.d.ts +20 -7
  353. package/dist/orgs/orgs.service.js +32 -12
  354. package/dist/orgs/roles.d.ts +1 -1
  355. package/dist/orgs/roles.js +5 -1
  356. package/dist/orgs/settings.controller.d.ts +1 -1
  357. package/dist/orgs/settings.service.d.ts +20 -3
  358. package/dist/orgs/settings.service.js +19 -4
  359. package/dist/overrides.d.ts +3 -0
  360. package/dist/overrides.js +2 -0
  361. package/dist/platform/actor.d.ts +48 -0
  362. package/dist/platform/actor.js +100 -0
  363. package/dist/platform/agent-docs.d.ts +18 -0
  364. package/dist/platform/agent-docs.js +59 -0
  365. package/dist/platform/availability.d.ts +14 -0
  366. package/dist/platform/availability.js +43 -0
  367. package/dist/platform/errors.d.ts +11 -0
  368. package/dist/platform/errors.js +26 -0
  369. package/dist/platform/exclusions.d.ts +12 -0
  370. package/dist/platform/exclusions.js +1387 -0
  371. package/dist/platform/method.d.ts +6 -0
  372. package/dist/platform/method.js +15 -0
  373. package/dist/platform/operation.d.ts +92 -0
  374. package/dist/platform/operation.js +35 -0
  375. package/dist/platform/ops/agent-templates.ops.d.ts +14 -0
  376. package/dist/platform/ops/agent-templates.ops.js +92 -0
  377. package/dist/platform/ops/agents.ops.d.ts +19 -0
  378. package/dist/platform/ops/agents.ops.js +294 -0
  379. package/dist/platform/ops/connectors.ops.d.ts +15 -0
  380. package/dist/platform/ops/connectors.ops.js +126 -0
  381. package/dist/platform/ops/errors.d.ts +11 -0
  382. package/dist/platform/ops/errors.js +22 -0
  383. package/dist/platform/ops/extensions.ops.d.ts +19 -0
  384. package/dist/platform/ops/extensions.ops.js +116 -0
  385. package/dist/platform/ops/marketplaces.ops.d.ts +16 -0
  386. package/dist/platform/ops/marketplaces.ops.js +157 -0
  387. package/dist/platform/ops/paging.d.ts +14 -0
  388. package/dist/platform/ops/paging.js +20 -0
  389. package/dist/platform/ops/platform.ops.d.ts +23 -0
  390. package/dist/platform/ops/platform.ops.js +158 -0
  391. package/dist/platform/ops/plugins.ops.d.ts +33 -0
  392. package/dist/platform/ops/plugins.ops.js +377 -0
  393. package/dist/platform/ops/requests.ops.d.ts +14 -0
  394. package/dist/platform/ops/requests.ops.js +153 -0
  395. package/dist/platform/ops/role.d.ts +4 -0
  396. package/dist/platform/ops/role.js +10 -0
  397. package/dist/platform/ops/skills.ops.d.ts +13 -0
  398. package/dist/platform/ops/skills.ops.js +98 -0
  399. package/dist/platform/ops/summary.d.ts +10 -0
  400. package/dist/platform/ops/summary.js +18 -0
  401. package/dist/platform/platform-ops.module.d.ts +7 -0
  402. package/dist/platform/platform-ops.module.js +55 -0
  403. package/dist/platform/platform.module.d.ts +8 -0
  404. package/dist/platform/platform.module.js +25 -0
  405. package/dist/platform/redact-orgs.d.ts +7 -0
  406. package/dist/platform/redact-orgs.js +52 -0
  407. package/dist/platform/registry.d.ts +30 -0
  408. package/dist/platform/registry.js +111 -0
  409. package/dist/roles/worker-role.d.ts +6 -4
  410. package/dist/roles/worker-role.js +14 -7
  411. package/dist/roles/worker.module.d.ts +1 -1
  412. package/dist/roles/worker.module.js +15 -1
  413. package/dist/runtime/context/build.d.ts +11 -7
  414. package/dist/runtime/context/build.js +46 -19
  415. package/dist/runtime/context/claude-tools.d.ts +3 -1
  416. package/dist/runtime/context/claude-tools.js +8 -6
  417. package/dist/runtime/context/compaction.js +13 -0
  418. package/dist/runtime/context/reminders.d.ts +2 -0
  419. package/dist/runtime/context/reminders.js +2 -0
  420. package/dist/runtime/context/skills.js +9 -2
  421. package/dist/runtime/context/tool-changes.d.ts +27 -0
  422. package/dist/runtime/context/tool-changes.js +60 -0
  423. package/dist/runtime/hook-calls.js +2 -0
  424. package/dist/runtime/langgraph-loop.d.ts +3 -1
  425. package/dist/runtime/langgraph-loop.js +36 -17
  426. package/dist/runtime/loop.d.ts +34 -5
  427. package/dist/runtime/maintenance.d.ts +9 -4
  428. package/dist/runtime/maintenance.js +35 -8
  429. package/dist/runtime/model-call.d.ts +46 -8
  430. package/dist/runtime/model-call.js +72 -21
  431. package/dist/runtime/providers.d.ts +6 -0
  432. package/dist/runtime/providers.js +8 -0
  433. package/dist/runtime/run-control.d.ts +11 -1
  434. package/dist/runtime/run-control.js +12 -0
  435. package/dist/runtime/run-drafts.d.ts +85 -0
  436. package/dist/runtime/run-drafts.js +230 -0
  437. package/dist/runtime/run-jobs.d.ts +3 -5
  438. package/dist/runtime/run-jobs.js +3 -7
  439. package/dist/runtime/run-queue.d.ts +59 -2
  440. package/dist/runtime/run-queue.js +311 -38
  441. package/dist/runtime/run-worker.d.ts +11 -5
  442. package/dist/runtime/run-worker.js +69 -33
  443. package/dist/runtime/runtime.module.js +11 -3
  444. package/dist/runtime/step-log.d.ts +15 -4
  445. package/dist/runtime/step-log.js +24 -7
  446. package/dist/runtime/stream.controller.d.ts +23 -1
  447. package/dist/runtime/stream.controller.js +60 -3
  448. package/dist/runtime/stream.d.ts +4 -1
  449. package/dist/runtime/stream.js +27 -3
  450. package/dist/runtime/subagents/child.d.ts +55 -7
  451. package/dist/runtime/subagents/child.js +105 -7
  452. package/dist/runtime/subagents/definition.d.ts +12 -3
  453. package/dist/runtime/subagents/definition.js +44 -28
  454. package/dist/runtime/subagents/deliveries.d.ts +71 -0
  455. package/dist/runtime/subagents/deliveries.js +228 -0
  456. package/dist/runtime/subagents/dispatch.d.ts +115 -26
  457. package/dist/runtime/subagents/dispatch.js +212 -141
  458. package/dist/runtime/subagents/limits.d.ts +24 -5
  459. package/dist/runtime/subagents/limits.js +40 -6
  460. package/dist/runtime/subagents/messages.d.ts +95 -0
  461. package/dist/runtime/subagents/messages.js +328 -0
  462. package/dist/runtime/subagents/preamble.d.ts +4 -4
  463. package/dist/runtime/subagents/preamble.js +9 -7
  464. package/dist/runtime/subagents/progress.d.ts +8 -6
  465. package/dist/runtime/subagents/progress.js +11 -6
  466. package/dist/runtime/subagents/render.d.ts +30 -0
  467. package/dist/runtime/subagents/render.js +53 -0
  468. package/dist/runtime/subagents/roster.d.ts +24 -7
  469. package/dist/runtime/subagents/roster.js +47 -11
  470. package/dist/runtime/subagents/skill-fork.d.ts +3 -2
  471. package/dist/runtime/subagents/skill-fork.js +8 -4
  472. package/dist/runtime/subagents/status.d.ts +14 -0
  473. package/dist/runtime/subagents/status.js +23 -0
  474. package/dist/runtime/subagents/subagents.service.d.ts +7 -4
  475. package/dist/runtime/subagents/subagents.service.js +11 -6
  476. package/dist/runtime/usage-report.d.ts +2 -1
  477. package/dist/runtime/usage-report.js +19 -13
  478. package/dist/runtime/waits.d.ts +145 -36
  479. package/dist/runtime/waits.js +423 -109
  480. package/dist/sandbox/jobs.d.ts +40 -13
  481. package/dist/sandbox/jobs.js +57 -20
  482. package/dist/sandbox/leases.d.ts +37 -54
  483. package/dist/sandbox/leases.js +71 -115
  484. package/dist/sandbox/providers.d.ts +2 -2
  485. package/dist/sandbox/providers.js +1 -1
  486. package/dist/sandbox/sandbox.module.d.ts +3 -2
  487. package/dist/sandbox/sandbox.module.js +10 -4
  488. package/dist/sandbox/sandbox.service.d.ts +282 -129
  489. package/dist/sandbox/sandbox.service.js +736 -381
  490. package/dist/skills/catalog.d.ts +3 -2
  491. package/dist/skills/catalog.js +21 -43
  492. package/dist/skills/changes.controller.d.ts +7 -0
  493. package/dist/skills/changes.controller.js +19 -1
  494. package/dist/skills/invoke.js +8 -3
  495. package/dist/skills/package.d.ts +20 -1
  496. package/dist/skills/package.js +28 -1
  497. package/dist/skills/skills.controller.d.ts +39 -4
  498. package/dist/skills/skills.controller.js +88 -10
  499. package/dist/skills/skills.module.js +10 -1
  500. package/dist/skills/skills.service.d.ts +106 -26
  501. package/dist/skills/skills.service.js +421 -75
  502. package/dist/skills/usable.d.ts +81 -0
  503. package/dist/skills/usable.js +379 -0
  504. package/dist/tools/approvals.service.d.ts +20 -2
  505. package/dist/tools/approvals.service.js +25 -4
  506. package/dist/tools/builtin-names.d.ts +41 -7
  507. package/dist/tools/builtin-names.js +59 -7
  508. package/dist/tools/builtins/agent.d.ts +23 -21
  509. package/dist/tools/builtins/agent.js +62 -55
  510. package/dist/tools/builtins/builtin-tools.d.ts +19 -1
  511. package/dist/tools/builtins/builtin-tools.js +59 -2
  512. package/dist/tools/builtins/handback.d.ts +28 -0
  513. package/dist/tools/builtins/handback.js +53 -0
  514. package/dist/tools/builtins/platform.d.ts +34 -0
  515. package/dist/tools/builtins/platform.js +362 -0
  516. package/dist/tools/builtins/sandbox/bash.d.ts +1 -1
  517. package/dist/tools/builtins/sandbox/bash.js +241 -4
  518. package/dist/tools/builtins/sandbox/common.d.ts +69 -27
  519. package/dist/tools/builtins/sandbox/common.js +87 -48
  520. package/dist/tools/builtins/sandbox/deliver.js +1 -1
  521. package/dist/tools/builtins/sandbox/edit.js +2 -2
  522. package/dist/tools/builtins/sandbox/glob.js +2 -2
  523. package/dist/tools/builtins/sandbox/grep.js +2 -4
  524. package/dist/tools/builtins/sandbox/index.d.ts +3 -1
  525. package/dist/tools/builtins/sandbox/index.js +7 -1
  526. package/dist/tools/builtins/sandbox/read.js +1 -1
  527. package/dist/tools/builtins/sandbox/task-output.d.ts +74 -0
  528. package/dist/tools/builtins/sandbox/task-output.js +329 -0
  529. package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
  530. package/dist/tools/builtins/sandbox/task-stop.js +113 -0
  531. package/dist/tools/builtins/sandbox/write.js +2 -2
  532. package/dist/tools/builtins/send-message.d.ts +56 -0
  533. package/dist/tools/builtins/send-message.js +100 -0
  534. package/dist/tools/builtins/skill-load.d.ts +22 -14
  535. package/dist/tools/builtins/skill-load.js +86 -57
  536. package/dist/tools/builtins/skill-write.js +1 -1
  537. package/dist/tools/builtins/web/errors.d.ts +8 -0
  538. package/dist/tools/builtins/web/errors.js +53 -0
  539. package/dist/tools/builtins/web/extract.d.ts +62 -0
  540. package/dist/tools/builtins/web/extract.js +271 -0
  541. package/dist/tools/builtins/web/fetch.d.ts +55 -0
  542. package/dist/tools/builtins/web/fetch.js +175 -0
  543. package/dist/tools/builtins/web/index.d.ts +13 -0
  544. package/dist/tools/builtins/web/index.js +12 -0
  545. package/dist/tools/builtins/web/page-cache.d.ts +25 -0
  546. package/dist/tools/builtins/web/page-cache.js +77 -0
  547. package/dist/tools/builtins/web/search.d.ts +25 -0
  548. package/dist/tools/builtins/web/search.js +210 -0
  549. package/dist/tools/builtins/web/url.d.ts +17 -0
  550. package/dist/tools/builtins/web/url.js +43 -0
  551. package/dist/tools/connectors.controller.d.ts +10 -0
  552. package/dist/tools/connectors.controller.js +12 -0
  553. package/dist/tools/connectors.service.d.ts +46 -5
  554. package/dist/tools/connectors.service.js +94 -15
  555. package/dist/tools/extension-tools.controller.d.ts +14 -0
  556. package/dist/tools/extension-tools.controller.js +37 -0
  557. package/dist/tools/info.d.ts +42 -1
  558. package/dist/tools/info.js +64 -1
  559. package/dist/tools/oauth/flow-paths.d.ts +1 -1
  560. package/dist/tools/oauth/flow-paths.js +1 -1
  561. package/dist/tools/org-tool-switches.d.ts +74 -0
  562. package/dist/tools/org-tool-switches.js +184 -0
  563. package/dist/tools/pipeline.d.ts +46 -40
  564. package/dist/tools/pipeline.js +202 -364
  565. package/dist/tools/policy.d.ts +1 -1
  566. package/dist/tools/policy.js +36 -16
  567. package/dist/tools/registry.d.ts +120 -8
  568. package/dist/tools/registry.js +112 -19
  569. package/dist/tools/tools.module.js +24 -2
  570. package/dist/tools/validate.js +1 -1
  571. package/dist/ui/views.d.ts +2 -1
  572. package/dist/ui/views.js +17 -3
  573. package/package.json +3 -3
  574. package/src/migrations/0064_account_last_org.sql +7 -0
  575. package/src/migrations/0065_conversation_archive.sql +8 -0
  576. package/src/migrations/0066_extension_display_name.sql +4 -0
  577. package/src/migrations/0067_agent_profiles.sql +20 -0
  578. package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
  579. package/src/migrations/0069_attachments_agent_idx.sql +3 -0
  580. package/src/migrations/0070_background_tasks.sql +37 -0
  581. package/src/migrations/0071_background_tasks_reserve.sql +6 -0
  582. package/src/migrations/0072_background_tasks_stopping.sql +5 -0
  583. package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
  584. package/src/migrations/0074_subagent_tree.sql +50 -0
  585. package/src/migrations/0075_plugin_scope.sql +61 -0
  586. package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
  587. package/src/migrations/0077_scope_requests.sql +52 -0
  588. package/src/migrations/0078_scope_grant_switches.sql +18 -0
  589. package/src/migrations/0079_scope_live_install_switches.sql +19 -0
  590. package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
  591. package/src/migrations/0081_platform_components.sql +129 -0
  592. package/src/migrations/0082_platform_migration.sql +33 -0
  593. package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
  594. package/src/migrations/0084_org_owned_items.sql +85 -0
  595. package/src/migrations/0085_agent_templates_phase4.sql +45 -0
  596. package/src/migrations/0086_org_layering.sql +30 -0
  597. package/src/migrations/0087_approval_summary.sql +6 -0
  598. package/src/migrations/0088_environments.sql +80 -0
  599. package/dist/catalog/upgrade-targets.d.ts +0 -56
  600. package/dist/catalog/upgrade-targets.js +0 -90
  601. package/dist/conversations/sandbox-status.d.ts +0 -24
  602. package/dist/conversations/sandbox-status.js +0 -52
  603. package/dist/extensions/org-config.controller.d.ts +0 -24
  604. package/dist/extensions/org-config.controller.js +0 -62
@@ -1,6 +1,7 @@
1
1
  import type { Logger } from "@capybara-hq/plugin-sdk";
2
2
  import { type OnApplicationShutdown } from "@nestjs/common";
3
3
  import { type Job, type Queue } from "bullmq";
4
+ import { BackgroundTaskStopper } from "../background/stop.js";
4
5
  import { EventLog } from "../conversations/event-log.js";
5
6
  import type { KernelSchemaDb } from "../db/kernel-schema.js";
6
7
  import { KernelDb } from "../infra/database/kernel-db.js";
@@ -17,6 +18,7 @@ import { type WaitingFor } from "./loop.js";
17
18
  import { MAINTENANCE_QUEUE_NAME } from "./maintenance-queue.js";
18
19
  import { RunFinish } from "./run-finish.js";
19
20
  import { RunQueue } from "./run-queue.js";
21
+ import { SubagentDeliveries } from "./subagents/deliveries.js";
20
22
  /** 等待超时任务所在的内核维护队列(见 maintenance.ts)。 */
21
23
  export { MAINTENANCE_QUEUE_NAME };
22
24
  /** 等待超时任务的名字与 jobId(每个审批 / 输入请求一个,重复投递被 BullMQ 忽略)。 */
@@ -42,16 +44,29 @@ export interface WaitSweepResult {
42
44
  /** 运行已终态、被本次扫描取消的审批 / 输入请求。 */
43
45
  cancelled: number;
44
46
  /**
45
- * Finished parent runs whose open `Agent` calls had no `tool_result`, repaired (final review
46
- * I3: the next run would send an unpaired tool call, which providers refuse).
47
+ * Finished runs whose fork invocation had no report, repaired (`pairStoppedForks`; the next run
48
+ * would build on a fork lead without its report).
47
49
  */
48
50
  repaired: number;
49
51
  /** Queued sub-agent runs, and chat runs queued by a resume, whose job was lost, enqueued again. */
50
52
  requeued: number;
51
53
  /** Running sub-agent runs without job or lock, failed `run.orphaned` and reported to the parent. */
52
54
  orphaned: number;
53
- /** Active sub-agent runs of a finished parent run, asked to stop. */
55
+ /**
56
+ * Active fork sub-agent runs of a finished parent run, and active sub-agent runs of a deleted
57
+ * conversation's tree, asked to stop.
58
+ */
54
59
  stopped: number;
60
+ /**
61
+ * Finished background sub-agent runs whose `finished` delivery was never written (the finisher
62
+ * died after the child's terminal commit), delivered (agent map spec §10).
63
+ */
64
+ delivered: number;
65
+ /**
66
+ * Idle sub-agents with a parked message no run took (a `SendMessage` that reached a run after
67
+ * its last model call, whose replica died before the post-run `ensureRun`), started again.
68
+ */
69
+ restarted: number;
55
70
  }
56
71
  /** The data of a wait timeout job; `subagents` waits also carry their run and step. */
57
72
  export interface WaitTimeoutData {
@@ -90,11 +105,16 @@ export declare class Waits implements OnApplicationShutdown {
90
105
  private readonly abort;
91
106
  /** The maintenance queue: wait timeout jobs (`MaintenanceProcessor` consumes them). */
92
107
  private readonly timeouts;
108
+ private readonly events;
93
109
  private readonly log;
110
+ /** Stops a finished sub-agent run's background tasks ({@link childFinished}). */
111
+ private readonly background;
112
+ /** Delivers a background child's finish to its parent ({@link childFinished}). */
113
+ private readonly deliveries;
94
114
  readonly txHost: TransactionHost;
95
115
  /** Drops the `run.orphaned` subscription (the events may outlive this instance). */
96
116
  private readonly unsubscribe;
97
- constructor(kdb: KernelDb, eventLog: EventLog, approvals: Pick<ApprovalsService, "expire" | "cancelPendingIn">, questions: Pick<QuestionsService, "expire" | "cancelPendingIn">, runQueue: Pick<RunQueue, "enqueue" | "repairOrphan" | "abortIfOrphaned">,
117
+ constructor(kdb: KernelDb, eventLog: EventLog, approvals: Pick<ApprovalsService, "expire" | "cancelPendingIn">, questions: Pick<QuestionsService, "expire" | "cancelPendingIn">, runQueue: Pick<RunQueue, "enqueue" | "repairOrphan" | "abortIfOrphaned" | "ensureRun">,
98
118
  /**
99
119
  * Writes, in the caller's transaction, the results of a stopped run's open `Agent` calls;
100
120
  * `fire` runs their observe hooks after the commit.
@@ -109,7 +129,11 @@ export declare class Waits implements OnApplicationShutdown {
109
129
  */
110
130
  abort: Pick<RunAbort, "requested" | "request">,
111
131
  /** The maintenance queue: wait timeout jobs (`MaintenanceProcessor` consumes them). */
112
- timeouts: Pick<Queue, "add">, events: KernelEvents, log: Pick<Logger, "error" | "warn">, txHost: TransactionHost);
132
+ timeouts: Pick<Queue, "add">, events: KernelEvents, log: Pick<Logger, "error" | "warn">,
133
+ /** Stops a finished sub-agent run's background tasks ({@link childFinished}). */
134
+ background: Pick<BackgroundTaskStopper, "stopSubagentTasks">,
135
+ /** Delivers a background child's finish to its parent ({@link childFinished}). */
136
+ deliveries: Pick<SubagentDeliveries, "childFinished">, txHost: TransactionHost);
113
137
  /** Unsubscribes after the stop phases: events emitted while they drain are still handled. */
114
138
  onApplicationShutdown(): void;
115
139
  /** The context's handle (the transaction of a `@Transactional` method, else the pool). */
@@ -132,12 +156,14 @@ export declare class Waits implements OnApplicationShutdown {
132
156
  suspend(runId: string, conversationId: string, waitingFor: WaitingFor, abort?: RunAbortBy): Promise<void>;
133
157
  /**
134
158
  * A sub-agent's run waits for an approval or an input (sub-agents spec §9): appends
135
- * `subagent_waiting` to the parent conversation (idem `subagent_waiting:<childRunId>:<waitId>`),
136
- * so the web and the channel outbound show the card there. The approval or question itself stays
137
- * the child run's, with the parent run's starter as the person asked. Not a run of a sub-agent,
138
- * or a `subagents` wait: nothing. Display only: a failure is logged, the wait goes on.
159
+ * `subagent_waiting` to the **root** conversation of its tree, whatever its depth (agent map spec
160
+ * §7, {@link rootSurfaceOf}; idem `subagent_waiting:<childRunId>:<waitId>`), so the web and the
161
+ * channel outbound show the card where the person looks. The approval or question itself stays
162
+ * the child run's, with the run's trigger account (inherited down the chain) as the person asked.
163
+ * Not a run of a sub-agent, or a `subagents` wait: nothing. Display only: a failure is logged,
164
+ * the wait goes on.
139
165
  */
140
- private surfaceInParent;
166
+ private surfaceInRoot;
141
167
  /**
142
168
  * 续跑:一条条件更新 `waiting → queued`(且该运行没有 pending 的审批 / 输入请求),把本次等待时长累加进
143
169
  * `waited_ms`,记下续跑任务的 jobId;成功(只有一个调用方)则投递运行任务并返回 true。
@@ -177,9 +203,9 @@ export declare class Waits implements OnApplicationShutdown {
177
203
  private sweepOverdue;
178
204
  /**
179
205
  * Sub-agents waits past their `runs.wait_expires_at` (their timeout job was lost): expired the
180
- * way the timeout job would ({@link expire}: the step's active children stop as `timed out`, the
181
- * parent resumes once they are done). The step is the run's latest dispatch step: a waiting run
182
- * has active children only from the step it waits in. A run stays here until its children have
206
+ * way the timeout job would ({@link expire}: the fork invocation's active child stops as
207
+ * `timed out`, the parent resumes once it is done). Only fork invocations wait (agent map spec
208
+ * §5.4); their step is the run's fork dispatch step. A run stays here until its children have
183
209
  * stopped; a pass that neither stopped a child nor resumed the run is not counted.
184
210
  */
185
211
  private sweepOverdueSubagents;
@@ -193,22 +219,56 @@ export declare class Waits implements OnApplicationShutdown {
193
219
  */
194
220
  private sweepSubagentOrphans;
195
221
  /**
196
- * Finished parent runs (past the grace period, within the last day) with an `Agent` call that has
197
- * no `tool_result` (final review I3): a terminal path that skipped `stopOpenAgentCalls`, such as
198
- * an old replica's abort, would otherwise leave an unpaired tool call that every later request of
199
- * the conversation sends and providers refuse. Each is repaired under the conversation row lock
200
- * with the normal `stopOpenCalls` (a child that ended gives its result, an active one the
201
- * stopped text; idempotency keys make it safe against the regular paths); its active children
202
- * are then stopped by {@link sweepChildrenOfFinished}.
222
+ * Idle sub-agent conversations (no active run, not deleted) with a message newer than what they
223
+ * consumed, written past the grace period and within the last day: a `SendMessage` that reached a
224
+ * run after its last model call is started by that run's post-job `ensureRun`
225
+ * (`RunQueue.childWakeIn`), which a replica dying after the terminal commit skips. Re-derived with
226
+ * the same `ensureRun` (its rules decide: a paused root starts nothing). A sub-agent whose last
227
+ * run was stopped (`aborted`) can never start from a message, so it is left out here, and the
228
+ * newest conversations come first (active within the last day), so parked messages that cannot
229
+ * start never fill the batch. Returns how many runs started.
230
+ */
231
+ private sweepParkedMessages;
232
+ /**
233
+ * Finished runs (past the grace period, within the last day) triggered by a fork invocation that
234
+ * has no report ({@link unreportedForkRuns}): a terminal path that skipped
235
+ * `stopOpenAgentCalls`, such as an old replica's abort, would otherwise leave a fork lead without
236
+ * its report. Each is repaired under the conversation row lock with the normal
237
+ * `stopOpenAgentCalls` (an ended child gives its result, an active one the stopped text;
238
+ * idempotency keys make it safe against the regular paths); an active fork child is then stopped
239
+ * by {@link sweepForkChildrenOfFinished}. An `Agent` call has its result from its dispatch (agent
240
+ * map spec §4.1).
203
241
  */
204
242
  private sweepOpenAgentCalls;
205
243
  /** One run's repair of {@link sweepOpenAgentCalls}; its observe hooks go back through `st`. */
206
244
  private repairOpenAgentCallsIn;
207
245
  /**
208
- * Active sub-agent runs of a parent run that finished more than the grace period ago (spec §7.5,
209
- * §12: a parent's terminal state stops its children; this is the backstop) → stopped.
246
+ * Active fork sub-agent runs (phase D, `for_skill`) of a parent run that finished more than the
247
+ * grace period ago (§12: the run's terminal state stops its fork child and reports it stopped;
248
+ * this is the backstop) → stopped. Background `Agent` children of a finished run are the normal
249
+ * case and keep running (agent map spec §5.4).
250
+ */
251
+ private sweepForkChildrenOfFinished;
252
+ /**
253
+ * Active sub-agent runs with a deleted ancestor (agent map spec §10: deleting the root stops the
254
+ * whole tree; the delete's own {@link stopTree} is the normal path, this the backstop for a crash
255
+ * between marking the root deleted and stopping its tree, or a dispatch that raced it) → stopped
256
+ * on the deleter's behalf (no account). No grace period: nothing in a deleted tree should run.
257
+ */
258
+ private sweepTreesOfDeletedRoots;
259
+ /**
260
+ * Background sub-agent runs that finished more than the grace period ago (within the last day)
261
+ * whose parent has no `subagent_finished` for them (agent map spec §10: the finisher died after
262
+ * the child's terminal commit; the finish path writes `subagent_finished` and the delivery in one
263
+ * transaction) → {@link childFinished}, idempotent against a late finisher. Keyed on the child
264
+ * run, so a run nobody dispatched (a wake run, §5.3) is repaired too, and on
265
+ * `subagent_finished`, not on the delivery, so a child that finished before background
266
+ * dispatch (its result was the `Agent` call's, its `subagent_finished` written then) is never
267
+ * delivered a second time. Fork invocations' runs, a run without a terminal event in its log
268
+ * (nothing to deliver), a conversation never dispatched and a child whose parent conversation
269
+ * was deleted are skipped; only a written delivery counts.
210
270
  */
211
- private sweepChildrenOfFinished;
271
+ private sweepUndelivered;
212
272
  /**
213
273
  * 扫描 2:waiting 超过宽限期、却已没有 pending 等待的运行(决定提交后进程崩溃、续跑投递失败回滚等)→
214
274
  * {@link resume}(条件更新 `waiting → queued` + 投递)。续跑任务的 jobId 用该运行最近一次等待的 id
@@ -216,8 +276,8 @@ export declare class Waits implements OnApplicationShutdown {
216
276
  */
217
277
  private sweepStuckRuns;
218
278
  /**
219
- * The id of the run's latest wait (by creation time): an approval, an input request or a
220
- * sub-agent dispatch, whose wait id is its child run id (the id the child's finisher resumes
279
+ * The id of the run's latest wait (by creation time): an approval, an input request or a fork
280
+ * invocation's dispatch, whose wait id is its child run id (the id the child's finisher resumes
221
281
  * with, so a sweep resume and a late finisher resume share one job id).
222
282
  */
223
283
  private lastWaitId;
@@ -230,7 +290,7 @@ export declare class Waits implements OnApplicationShutdown {
230
290
  private scheduleTimeout;
231
291
  /**
232
292
  * Whether the wait is over: an approval or input request is no longer pending (decided, expired
233
- * or cancelled); `subagents`: no child run of the run is active.
293
+ * or cancelled); `subagents`: the run's fork invocation child is no longer active.
234
294
  */
235
295
  private isSettled;
236
296
  /** 审批所在的步(`approval_requested` 事件里记的)。 */
@@ -241,18 +301,30 @@ export declare class Waits implements OnApplicationShutdown {
241
301
  */
242
302
  private stoppedResults;
243
303
  /**
244
- * After a child run's terminal state committed (sub-agents spec §7.3): appends
245
- * `subagent_finished` to the parent log (idempotent; allowed while the parent waits, it is not
246
- * model-visible) and tries {@link resume}`(parentRunId, childRunId)`. Every finishing child tries;
247
- * the conditional resume lets exactly one succeed, the last to see all its siblings terminal. A
248
- * run that is not a dispatched child, or not terminal yet, is left alone. A crash in between is
249
- * repaired by the wait sweep and by the parent's tools node, which writes a missing
250
- * `subagent_finished` itself.
304
+ * After a child run's terminal state committed (sub-agents spec §7.3, agent map spec §4.5,
305
+ * §5.2): a background child's run, whether dispatched, sent a message or woken
306
+ * ({@link deliveryRowOfChildRun}), is delivered to its parent
307
+ * ({@link SubagentDeliveries.childFinished}: `subagent_finished` and a `finished` delivery,
308
+ * idempotent by the run); a fork invocation's child (phase D, `for_skill`) appends
309
+ * `subagent_finished` (idempotent; not model-visible) and tries
310
+ * {@link resume}`(parentRunId, childRunId)`, which succeeds once its parent run waits on nothing
311
+ * else. A run of a conversation never dispatched, or not terminal yet, is left alone. A crash in
312
+ * between is repaired by the wait sweep (the orphan repair calls this again). A fork child's
313
+ * running background tasks the terminal run started are then stopped (not those of a later run);
314
+ * a stopped background child's are all stopped, whichever of its runs started them; a background
315
+ * child that ended on its own keeps them, and their finish wakes it (agent map spec §5.3). True
316
+ * when a background child's finish was written by this call.
317
+ */
318
+ childFinished(childRunId: string): Promise<boolean>;
319
+ /**
320
+ * Whether the conversation has an active run other than `runId`, or one created after it (a
321
+ * sub-agent started again after `runId` ended).
251
322
  */
252
- childFinished(childRunId: string): Promise<void>;
323
+ private hasLaterRun;
253
324
  /**
254
- * Stops the active children of a parent run (sub-agents spec §12), or only those dispatched in
255
- * `opts.step`: a `waiting` child through its own {@link abortWaiting}, a `queued` / `running` one
325
+ * Stops the active fork invocation child of a parent run (sub-agents spec §12, phase D;
326
+ * `for_skill`), or only one dispatched in `opts.step`; background `Agent` children are never
327
+ * stopped with the run that dispatched them (agent map spec §5.4, §6): a `waiting` child through its own {@link abortWaiting}, a `queued` / `running` one
256
328
  * that no worker holds directly (`RunQueue.abortIfOrphaned`), any other through
257
329
  * `RunAbort.request` (the cross-replica broadcast plus the marker key, so a child that starts
258
330
  * later still sees it), after which a child found `waiting` is stopped through `abortWaiting`
@@ -267,6 +339,43 @@ export declare class Waits implements OnApplicationShutdown {
267
339
  step?: number;
268
340
  detail?: RunAbortDetail;
269
341
  }): Promise<number>;
342
+ /**
343
+ * Stops a sub-agent with its descendants (agent map spec §6: stopping an agent of the map stops
344
+ * it and everything below it; deleting the root stops the whole tree): every active run of
345
+ * `conversationId` (unless `includeSelf` is false) and of each sub-agent conversation below it,
346
+ * shallowest first, each the way {@link stopChildren} stops a child (a stopped agent delivers its
347
+ * finish to its own parent as `aborted`). A run a worker holds ends later; its worker's
348
+ * {@link stopDescendantsOfStopped} stops what it dispatched after this read. Then the running
349
+ * background tasks of every covered sub-agent conversation stop, whether it was running or idle.
350
+ * Returns the number of runs asked to stop.
351
+ *
352
+ * Lock order: nothing is held across runs. Each run's stop is its own transaction (or none), and
353
+ * one that writes the terminal state locks that run's conversation row, then its run row, the
354
+ * order of `StepLog.appendCounted` (conversation row, then the root's budget run row) and of
355
+ * dispatch (conversation, run, budget run). No stop here locks a budget run, let alone before a
356
+ * descendant's conversation row, so the order is never inverted.
357
+ */
358
+ stopTree(conversationId: string, byAccountId: string | null, opts?: {
359
+ includeSelf?: boolean;
360
+ }): Promise<number>;
361
+ /**
362
+ * After a sub-agent run's terminal commit (its worker): a run a person stopped (`run_aborted`
363
+ * with an account and no `detail`; only {@link stopTree} stops a sub-agent's run that way) stops
364
+ * the active runs below its conversation as well, so a descendant it dispatched after the tree
365
+ * stop read the tree still stops (dispatch needs its run `running`, so after its terminal commit
366
+ * the set is final). Any other end leaves its children running (agent map spec §5.4). Returns
367
+ * the number of runs asked to stop. A root conversation's run never stops its children here.
368
+ */
369
+ stopDescendantsOfStopped(runId: string): Promise<number>;
370
+ /**
371
+ * Stops one active sub-agent run: a `waiting` one through its own {@link abortWaiting}, a
372
+ * `queued` / `running` one that no worker holds directly (`RunQueue.abortIfOrphaned`, then
373
+ * reported through {@link childFinished}), any other through `RunAbort.request` (the
374
+ * cross-replica broadcast plus the marker key, so a run that starts later still sees it), after
375
+ * which a run found `waiting` is stopped through `abortWaiting` too. True when it was stopped
376
+ * while waiting.
377
+ */
378
+ private stopRun;
270
379
  }
271
380
  /**
272
381
  * Phase D: finished chat runs (past the grace period, within the last day) triggered by a fork