@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
@@ -0,0 +1,228 @@
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 { sql } from "kysely";
12
+ import { EventLog } from "../../conversations/event-log.js";
13
+ import { afterCommit } from "../../infra/database/after-commit.js";
14
+ import { KernelDb } from "../../infra/database/kernel-db.js";
15
+ import { TransactionHost } from "../../infra/database/transaction-host.js";
16
+ import { Transactional } from "../../infra/database/transactional.decorator.js";
17
+ import { KernelEvents } from "../../infra/events/kernel-events.js";
18
+ import { KERNEL_LOGGER } from "../../infra/tokens.js";
19
+ import { TERMINAL_STATUSES } from "../run-finish.js";
20
+ import { childResult, deliveryRowOfChildRun, finishedEvent } from "./child.js";
21
+ import { dispatchedIdemKey } from "./dispatch.js";
22
+ /** Idempotency key of a child run's finished delivery (one per child run). */
23
+ export const finishedDeliveryIdemKey = (childRunId) => `subagent_delivery:${childRunId}:finished`;
24
+ /** The longest `subagent_delivery.text` (the event schema's bound). */
25
+ const DELIVERY_TEXT_MAX = 200_000;
26
+ /**
27
+ * Deliveries from a sub-agent to its parent conversation (agent map spec §4.5, §5.2): each is one
28
+ * model-visible, absorbable `subagent_delivery` event in the parent's log. A parent run that is
29
+ * active absorbs it at its next model call; an idle parent is woken from the `subagent.delivered`
30
+ * domain event (emitted after the commit, with the log's notify).
31
+ *
32
+ * A background child's run reaching a terminal state ({@link childFinished}) writes the
33
+ * display-only `subagent_finished` and a `finished` delivery in one transaction, both idempotent by
34
+ * the child run, so of two finishers (the worker and a stop, the orphan sweep) exactly one writes
35
+ * them. A run that handed back a report and then completed writes no delivery (acceptance
36
+ * 2026-11-07): the report already told the parent everything, and a content-free "completed" line
37
+ * only woke an idle parent for nothing and pushed the report away from the end of its request. Fork invocations (phase D, `for_skill`) do not deliver: their parent run waits on the child
38
+ * and writes the report itself (`advanceSkillForks`).
39
+ */
40
+ let SubagentDeliveries = class SubagentDeliveries {
41
+ kdb;
42
+ eventLog;
43
+ events;
44
+ log;
45
+ txHost;
46
+ constructor(kdb, eventLog, events, log, txHost) {
47
+ this.kdb = kdb;
48
+ this.eventLog = eventLog;
49
+ this.events = events;
50
+ this.log = log;
51
+ this.txHost = txHost;
52
+ }
53
+ /** The context's handle (the transaction of a `@Transactional` method, else the pool). */
54
+ get db() {
55
+ return this.kdb.db;
56
+ }
57
+ /**
58
+ * Appends one delivery of the dispatch `row` to the parent log, in the caller's transaction or
59
+ * one of its own: the description is the dispatch's (`subagent_dispatched`), the trigger account
60
+ * the child run's (a wake runs as that person, §7). Idempotent by `opts.idemKey` (a finish's
61
+ * default is {@link finishedDeliveryIdemKey}; a report or a note must name its own): under the
62
+ * parent conversation's row lock, an existing delivery returns null and writes nothing. After
63
+ * the commit: the log's notify and `subagent.delivered`. Returns the new event's seq.
64
+ */
65
+ async deliverIn(row, d, opts = {}) {
66
+ const idemKey = opts.idemKey ?? (d.kind === "finished" ? finishedDeliveryIdemKey(row.childRunId) : undefined);
67
+ if (idemKey === undefined)
68
+ throw new Error(`a ${d.kind} delivery needs its idempotency key`);
69
+ const t = this.db;
70
+ const parent = row.parentConversationId;
71
+ await t
72
+ .selectFrom("conversations")
73
+ .select("id")
74
+ .where("id", "=", parent)
75
+ .forUpdate()
76
+ .executeTakeFirst();
77
+ const existing = await t
78
+ .selectFrom("conversation_events")
79
+ .select("seq")
80
+ .where("conversation_id", "=", parent)
81
+ .where("idem_key", "=", idemKey)
82
+ .executeTakeFirst();
83
+ if (existing)
84
+ return null;
85
+ const run = await t
86
+ .selectFrom("runs")
87
+ .select("trigger_account_id")
88
+ .where("id", "=", row.childRunId)
89
+ .executeTakeFirstOrThrow();
90
+ const [event] = await this.eventLog.appendIn(parent, [
91
+ {
92
+ type: "subagent_delivery",
93
+ idemKey,
94
+ payload: {
95
+ subagentId: row.childConversationId,
96
+ childRunId: row.childRunId,
97
+ description: await this.descriptionOf(row),
98
+ ...d,
99
+ text: d.text.length > DELIVERY_TEXT_MAX ? d.text.slice(0, DELIVERY_TEXT_MAX) : d.text,
100
+ triggerAccountId: run.trigger_account_id,
101
+ },
102
+ },
103
+ ]);
104
+ if (!event)
105
+ return null;
106
+ afterCommit(async () => {
107
+ await this.eventLog.notify(parent, event.seq);
108
+ await this.events.emit("subagent.delivered", { conversationId: parent });
109
+ });
110
+ return event.seq;
111
+ }
112
+ /**
113
+ * A background child run reached a terminal state (agent map spec §4.5, §5.2): appends the
114
+ * parent's `subagent_finished` (display only) and a `finished` delivery in one transaction, for
115
+ * every run of a child conversation (dispatched, sent a message or woken;
116
+ * {@link deliveryRowOfChildRun}), each once by its run. The delivery
117
+ * carries the final reply when the run handed back no report, else no text and `handedBack`; a
118
+ * failed run's error message and code, an aborted run who stopped it. A run that handed back and
119
+ * then `completed` gets only `subagent_finished` (not model-visible, wakes nothing); the log's
120
+ * notify still announces it to viewers. A run of a conversation never dispatched, a fork
121
+ * invocation's child, or not terminal yet is left alone. True when this call wrote the finish.
122
+ */
123
+ async childFinished(childRunId) {
124
+ const row = await deliveryRowOfChildRun(this.db, childRunId);
125
+ if (!row || row.forSkill === true)
126
+ return false;
127
+ const run = await this.db
128
+ .selectFrom("runs")
129
+ .select("status")
130
+ .where("id", "=", childRunId)
131
+ .executeTakeFirst();
132
+ if (!run || !TERMINAL_STATUSES.has(run.status))
133
+ return false;
134
+ const r = await childResult(this.eventLog, row);
135
+ if (!r) {
136
+ this.log.warn("sub-agent run is terminal without a terminal event", { childRunId });
137
+ return false;
138
+ }
139
+ return this.finishIn(row, r);
140
+ }
141
+ /** {@link childFinished}'s transaction. */
142
+ async finishIn(row, r) {
143
+ const { status, errorCode } = r.finished;
144
+ const handedBack = await this.handedBack(row);
145
+ if (handedBack && status === "completed")
146
+ return this.finishSilentlyIn(row, r.finished);
147
+ await this.eventLog.appendIn(row.parentConversationId, [finishedEvent(row, r.finished)]);
148
+ const text = handedBack
149
+ ? ""
150
+ : status === "failed"
151
+ ? (r.errorMessage ?? "")
152
+ : status === "aborted" || status === "timed_out"
153
+ ? ""
154
+ : r.reply;
155
+ const seq = await this.deliverIn(row, {
156
+ kind: "finished",
157
+ status,
158
+ text,
159
+ ...(handedBack && { handedBack: true }),
160
+ ...(errorCode !== undefined && { errorCode }),
161
+ ...(r.abortedBy !== undefined && { abortedBy: r.abortedBy }),
162
+ });
163
+ return seq !== null;
164
+ }
165
+ /**
166
+ * {@link finishIn} for a run that handed back and completed: only `subagent_finished`, written
167
+ * once under the parent conversation's row lock (idempotent by the child run), then the log's
168
+ * notify after the commit. No `subagent.delivered`: nothing model-visible arrived, so no wake.
169
+ * True when this call wrote it.
170
+ */
171
+ async finishSilentlyIn(row, finished) {
172
+ const parent = row.parentConversationId;
173
+ const event = finishedEvent(row, finished);
174
+ await this.db
175
+ .selectFrom("conversations")
176
+ .select("id")
177
+ .where("id", "=", parent)
178
+ .forUpdate()
179
+ .executeTakeFirst();
180
+ if (event.idemKey !== undefined && (await this.eventLog.findByIdem(parent, event.idemKey)))
181
+ return false;
182
+ const [written] = await this.eventLog.appendIn(parent, [event]);
183
+ if (!written)
184
+ return false;
185
+ afterCommit(() => this.eventLog.notify(parent, written.seq));
186
+ return true;
187
+ }
188
+ /** Whether the child run handed back a report (`SubagentHandback`) before it finished. */
189
+ async handedBack(row) {
190
+ const hit = await this.db
191
+ .selectFrom("conversation_events")
192
+ .select("seq")
193
+ .where("conversation_id", "=", row.parentConversationId)
194
+ .where("type", "=", "subagent_delivery")
195
+ .where(sql `payload ->> 'childRunId'`, "=", row.childRunId)
196
+ .where(sql `payload ->> 'kind'`, "=", "report")
197
+ .limit(1)
198
+ .executeTakeFirst();
199
+ return hit !== undefined;
200
+ }
201
+ /** The dispatch's task label (`subagent_dispatched.description`), else the child's title. */
202
+ async descriptionOf(row) {
203
+ const dispatched = await this.eventLog.findByIdem(row.parentConversationId, dispatchedIdemKey(row.parentRunId, row.parentCallId));
204
+ if (dispatched?.type === "subagent_dispatched")
205
+ return dispatched.payload.description;
206
+ const conv = await this.db
207
+ .selectFrom("conversations")
208
+ .select("title")
209
+ .where("id", "=", row.childConversationId)
210
+ .executeTakeFirst();
211
+ return conv?.title ?? "";
212
+ }
213
+ };
214
+ __decorate([
215
+ Transactional()
216
+ ], SubagentDeliveries.prototype, "deliverIn", null);
217
+ __decorate([
218
+ Transactional()
219
+ ], SubagentDeliveries.prototype, "finishIn", null);
220
+ SubagentDeliveries = __decorate([
221
+ Injectable(),
222
+ __param(0, Inject(KernelDb)),
223
+ __param(1, Inject(EventLog)),
224
+ __param(2, Inject(KernelEvents)),
225
+ __param(3, Inject(KERNEL_LOGGER)),
226
+ __param(4, Inject(TransactionHost))
227
+ ], SubagentDeliveries);
228
+ export { SubagentDeliveries };
@@ -1,15 +1,15 @@
1
1
  import type { Logger } from "@capybara-hq/plugin-sdk";
2
- import { type AgentDefinition } from "../../agents/definition.js";
2
+ import type { AgentDefinition } from "../../agents/definition.js";
3
3
  import type { EventLog } from "../../conversations/event-log.js";
4
4
  import type { ConversationEvent, EventPayload } from "../../conversations/events.js";
5
5
  import type { ConversationKind, KernelSchemaDb } from "../../db/kernel-schema.js";
6
6
  import type { KernelConfigService } from "../../infra/config/kernel-config.service.js";
7
7
  import type { ModelPurposesService } from "../../models/purposes.js";
8
- import { type AgentToolInputT } from "../../tools/builtins/agent.js";
8
+ import { AGENT_REFUSALS, type AgentToolInputT } from "../../tools/builtins/agent.js";
9
9
  import type { ToolStepContext } from "../../tools/pipeline.js";
10
10
  import type { ProviderRegistry } from "../providers.js";
11
11
  import { type RunJobData } from "../run-jobs.js";
12
- import { type CheckedOrgAgent } from "./definition.js";
12
+ import { type CheckedOrgAgent, type FollowUpNarrowing } from "./definition.js";
13
13
  import { type RosterEntry } from "./roster.js";
14
14
  export interface DispatchDeps {
15
15
  /** The context's handle: inside {@link commitDispatchIn} it is the dispatch's transaction. */
@@ -33,7 +33,31 @@ export interface DispatchArgs {
33
33
  callId: string;
34
34
  input: AgentToolInputT;
35
35
  forSkill?: SkillForkDispatch;
36
+ /**
37
+ * The `Agent` call's own record (not for a fork invocation): the logged key its `tool_result`
38
+ * keeps (the rc `agent` for a call logged before the rename), the `tool.called` audit's
39
+ * authorization fields, and when the pipeline started it (the audit's duration).
40
+ */
41
+ call?: {
42
+ toolKey: string;
43
+ authorization: Record<string, unknown>;
44
+ startedAt: number;
45
+ };
46
+ /**
47
+ * A `SendMessage` that starts an idle sub-agent again (agent map spec §5.1, §6): its call's
48
+ * immediate result, written with the dispatch instead of `agentStartedText`, and the texts of
49
+ * the limit refusals. `input.description` is the sub-agent's task label, `input.prompt` the
50
+ * message.
51
+ */
52
+ sent?: {
53
+ content: string;
54
+ refusals: LimitRefusals;
55
+ };
36
56
  }
57
+ /** The texts of the limit refusals of a dispatch (§4.5, agent map spec §6), and of a stopped run. */
58
+ export type LimitRefusals = Pick<typeof AGENT_REFUSALS, "depthLimit" | "budget" | "tooManyDispatches" | "tooManyConcurrent"> & {
59
+ notAvailableHere: string;
60
+ };
37
61
  /**
38
62
  * Writes the child's events in the dispatch's transaction (`db` is its handle); `checked` is the
39
63
  * org agent version the in-lock gates passed. Null refuses.
@@ -42,6 +66,9 @@ export type ChildWriter = (db: KernelSchemaDb, checked?: CheckedOrgAgent) => Pro
42
66
  export type DispatchOutcome = {
43
67
  kind: "dispatched";
44
68
  childRunId: string;
69
+ childConversationId: string;
70
+ /** The call's immediate result (`agentStartedText`). */
71
+ content: string;
45
72
  } | {
46
73
  kind: "refused";
47
74
  content: string;
@@ -62,6 +89,11 @@ export interface SkillForkDispatch {
62
89
  /** The task for the sub-agent's effective definition (replaces `input.prompt`). */
63
90
  task: (child: AgentDefinition) => string;
64
91
  }
92
+ /**
93
+ * The depth of the run behind `ctx` below the root (agent map spec §6): 0 for a root
94
+ * conversation's run, its parent's depth plus one for a sub-agent's.
95
+ */
96
+ export declare const runDepth: (ctx: Pick<ToolStepContext, "parent">) => number;
65
97
  /** Idempotency key of the parent's `subagent_dispatched` event. */
66
98
  export declare const dispatchedIdemKey: (runId: string, callId: string) => string;
67
99
  /** What one dispatch writes, decided before its transaction. */
@@ -83,28 +115,74 @@ export interface DispatchPlan {
83
115
  tierFallback: boolean;
84
116
  }
85
117
  /**
86
- * Dispatches the sub-agent of one `Agent` call (spec §7.1), after the pipeline's validation,
87
- * policy, approval and `tool.preExecute` stages. A new sub-agent: resolves its type and effective
88
- * definition, then in one transaction (holding the parent run's row lock, so the dispatches of one
89
- * run serialize) inserts the child conversation, appends `subagent_started` and the task message,
90
- * inserts the child run (`queued`) and the `subagent_dispatches` row, appends `subagent_dispatched`
91
- * to the parent and audits `subagent.dispatched`. A `resume` appends the follow-up message and
92
- * starts the child's next run the same way. After commit the child run is enqueued; a failed
93
- * enqueue only logs (the dispatch is durable, the wait sweep re-enqueues it).
118
+ * Dispatches the sub-agent of one `Agent` call (spec §7.1, agent map spec §4.1), after the
119
+ * pipeline's validation, policy, approval and `tool.preExecute` stages: resolves its type and
120
+ * effective definition, then in one transaction (holding the parent run's row lock, so the
121
+ * dispatches of one run serialize) inserts the child conversation, appends `subagent_started` and
122
+ * the task message, inserts the child run (`queued`) and the `subagent_dispatches` row, appends
123
+ * `subagent_dispatched` and the call's `tool_result` ({@link agentStartedText}: the sub-agent runs
124
+ * in the background) to the parent and audits `subagent.dispatched` and `tool.called`. After
125
+ * commit the child run is enqueued; a failed enqueue only logs (the dispatch is durable, the wait
126
+ * sweep re-enqueues it). A fork invocation (`forSkill`) writes no `tool_result`: its run waits on
127
+ * the child (`advanceSkillForks`).
94
128
  *
95
- * Refusals (§4.5) start nothing: a call from a sub-agent, an unknown type, an org agent that fails
96
- * one of its gates ({@link orgAgentGates}, at every dispatch and follow-up; audited
97
- * `subagent.refused`), `resume` with `subagent_type` / `model`, a `resume` id that is not a
98
- * sub-agent of this conversation (whatever it is otherwise: no detail about other conversations),
99
- * or one whose run is still active.
129
+ * Refusals (§4.5) start nothing: a call from a run at `subagents.maxDepth` (agent map spec §4.1:
130
+ * its definition has no `Agent`, so only a forged call or a lowered limit gets here), an unknown
131
+ * type, or an org agent that fails one of its gates ({@link orgAgentGates}, checked at every
132
+ * level; audited `subagent.refused`).
133
+ */
134
+ export declare function dispatchSubagent(d: DispatchDeps, a: DispatchArgs): Promise<DispatchOutcome>;
135
+ /**
136
+ * The gates of an org agent sub-agent (§5.5) for this call: the allowlist of the parent agent's
137
+ * **current** version (R5), the agent's `dispatchable`, its visibility to the person who started
138
+ * the parent run, and not deleted. A refusal is audited `subagent.refused` and answers with the
139
+ * §4.5 text, which names only the roster type. Checked before the dispatch transaction (a new
140
+ * sub-agent freezes the definition read here) and again inside it under the parent run's row lock
141
+ * ({@link commit}), so a gate revoked in between refuses (batch 9 review M1).
100
142
  */
101
- export declare function dispatchSubagent(d: DispatchDeps, a: {
143
+ export declare function orgAgentGates(db: KernelSchemaDb, a: {
102
144
  ctx: ToolStepContext;
103
145
  callId: string;
104
- input: AgentToolInputT;
105
- /** Phase D: a person's fork invocation (see {@link SkillForkDispatch}). */
106
- forSkill?: SkillForkDispatch;
107
- }): Promise<DispatchOutcome>;
146
+ }, agentId: string, agentType: string, resumed: boolean): Promise<{
147
+ checked: CheckedOrgAgent;
148
+ } | {
149
+ refused: DispatchOutcome;
150
+ }>;
151
+ /**
152
+ * A sub-agent's task message, or (`message`) a `SendMessage` from its parent (agent map spec
153
+ * §5.1: `dispatch.kind: "message"`, idempotent by the sending call, with the follow-up narrowing
154
+ * the run it triggers uses).
155
+ */
156
+ export declare const taskMessage: (ctx: ToolStepContext, callId: string, prompt: string, narrowed?: FollowUpNarrowing, skill?: SkillForkDispatch["skill"], message?: boolean) => {
157
+ type: "user_message";
158
+ idemKey?: string;
159
+ payload: {
160
+ content: {
161
+ type: "text";
162
+ text: string;
163
+ }[];
164
+ skill?: {
165
+ id: string;
166
+ version: number;
167
+ source: string;
168
+ name: string;
169
+ plugin?: string | undefined;
170
+ arguments: string;
171
+ mode: "fork" | "inline";
172
+ agentType?: string | undefined;
173
+ };
174
+ authorAccountId: string;
175
+ dispatch: {
176
+ parentConversationId: string;
177
+ parentRunId: string;
178
+ callId: string;
179
+ kind?: "message";
180
+ narrowed?: FollowUpNarrowing;
181
+ };
182
+ };
183
+ };
184
+ /** Idempotency key of a `SendMessage`'s `user_message` in the sub-agent's log. */
185
+ export declare const sentMessageIdemKey: (runId: string, callId: string) => string;
108
186
  /**
109
187
  * The dispatch transaction shared by new sub-agents and follow-ups: locks the parent conversation
110
188
  * row, then the parent run row (the order every terminal path uses),
@@ -115,20 +193,27 @@ export declare function dispatchSubagent(d: DispatchDeps, a: {
115
193
  *
116
194
  * Under the parent run's row lock it first re-checks what the pipeline checked without it: a call
117
195
  * already dispatched (a second holder of the same step, e.g. after a stalled-job takeover) gets
118
- * the existing child run back and writes nothing, and a parent run that is no longer `running`
119
- * (stopped, orphaned) dispatches nothing. Then the run's limits (§8.2, {@link subagentLimits}),
120
- * read fresh: its children's token counter at or over the cap, its dispatches (follow-ups
121
- * included) at the cap, or as many active children as may run at once each refuse with the §4.5
122
- * text. The lock serializes the dispatches of one run, so the counts cannot race.
196
+ * the existing child run back and writes nothing but a missing `Agent` result, and a parent run that is no longer `running`
197
+ * (stopped, orphaned) dispatches nothing. Then the limits (§8.2, agent map spec §6,
198
+ * {@link subagentLimits}), read fresh: the depth, the tree's token counter at or over the cap,
199
+ * its dispatches (follow-ups included) at the cap, or as many active children of the parent
200
+ * conversation as may run at once each refuse with the §4.5 text. The budget run's row lock
201
+ * serializes the dispatches of one tree, so the counts cannot race.
123
202
  */
124
203
  /** What the dispatch transaction did. */
125
204
  export type DispatchCommit = {
126
205
  kind: "existing";
127
206
  childRunId: string;
207
+ childConversationId: string;
128
208
  requeue: {
129
209
  conversationId: string;
130
210
  seq: number;
131
211
  } | null;
212
+ /** The call's logged result (null for a fork dispatch) and its seq, to notify. */
213
+ result: {
214
+ content: string;
215
+ seq: number;
216
+ } | null;
132
217
  } | {
133
218
  kind: "stopped";
134
219
  } | {
@@ -142,9 +227,13 @@ export type DispatchCommit = {
142
227
  childRunId: string;
143
228
  childSeq: number;
144
229
  parentSeq: number;
230
+ content: string;
145
231
  };
146
232
  /**
147
233
  * {@link commit}'s transaction (run by `SubagentsService.commitDispatch`, `d.db` its handle).
148
234
  * Null when `child` refused.
149
235
  */
150
236
  export declare function commitDispatchIn(d: Pick<DispatchDeps, "db" | "eventLog" | "config">, a: DispatchArgs, plan: DispatchPlan, child: ChildWriter): Promise<DispatchCommit | null>;
237
+ export declare function commit(d: Pick<DispatchDeps, "commitDispatch" | "enqueue" | "log" | "eventLog">, a: DispatchArgs, plan: DispatchPlan,
238
+ /** Writes the child's events; `checked` is the org agent version the in-lock gates passed. */
239
+ child: ChildWriter): Promise<DispatchOutcome | null>;