@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
@@ -12,37 +12,52 @@ import { z } from "zod";
12
12
  import { ModelRef } from "../agents/definition.js";
13
13
  import { CurrentPrincipal, requireUser } from "../identity/principal.js";
14
14
  import { createZodDto } from "../infra/validation/create-zod-dto.js";
15
- import { ZBody, ZQuery } from "../infra/validation/zod-params.js";
15
+ import { ZBody, ZParam, ZQuery } from "../infra/validation/zod-params.js";
16
16
  import { CurrentOrg, OrgAction } from "../orgs/org.guard.js";
17
17
  import { CONTROL_OR_HIDDEN_RE } from "../text.js";
18
18
  import { MAX_ATTACHMENTS } from "../tools/connector-content.js";
19
19
  import { ConversationToolInfo, TOOL_INFO_KEY_MAX, TOOL_INFO_MAX_KEYS, } from "../tools/info.js";
20
20
  import { ARTIFACT_DOWNLOAD_CACHE_SECONDS, ConversationArtifacts, } from "./artifacts.js";
21
21
  import { CONVERSATION_TITLE_MAX_CHARS, ConversationsService, } from "./conversations.service.js";
22
+ import { ConversationEnvironmentStatus } from "./environment-status.js";
22
23
  import { ConversationFiles, FILE_CONTENT_MAX_BYTES, FILES_PAGE_MAX, } from "./files.js";
23
24
  import { ConversationOutputs, OUTPUT_PAGE_MAX_CHARS } from "./outputs-read.js";
24
25
  import { ConversationQueue } from "./queue.service.js";
25
- import { ConversationSandboxStatus } from "./sandbox-status.js";
26
+ /** Shared by the list and groups queries: title search, run activity and the archived list. */
27
+ const searchFields = {
28
+ q: z.string().min(1).max(100).optional(),
29
+ state: z.enum(["running", "waiting"]).optional(),
30
+ archived: z.enum(["1"]).optional(),
31
+ };
26
32
  const ListQuery = z.object({
27
33
  after: z.string().min(1).max(100).optional(),
28
34
  limit: z.coerce.number().int().min(1).max(200).default(50),
29
35
  /** Only this agent's conversations (the sidebar's per-group "More"). */
30
36
  agentId: z.string().min(1).max(100).optional(),
37
+ ...searchFields,
31
38
  });
32
39
  const GroupsQuery = z.object({
33
40
  perGroup: z.coerce.number().int().min(1).max(20).default(5),
34
41
  limit: z.coerce.number().int().min(1).max(50).default(20),
35
42
  /** The last group's agent id from the previous page (`next`). */
36
43
  after: z.string().min(1).max(100).optional(),
44
+ ...searchFields,
37
45
  });
38
46
  const SubagentsQuery = z.object({
39
47
  /** The previous page's last sub-agent id (`next`). */
40
48
  after: z.string().min(1).max(100).optional(),
41
49
  limit: z.coerce.number().int().min(1).max(100).default(50),
42
50
  });
43
- const EventsQuery = z.object({
44
- after: z.coerce.number().int().min(0).default(0),
51
+ const EventsQuery = z
52
+ .object({
53
+ after: z.coerce.number().int().min(0).optional(),
54
+ /** The page before this seq, or the log's last page (`end`); exclusive with `after`. */
55
+ before: z.union([z.literal("end"), z.coerce.number().int().min(1)]).optional(),
45
56
  limit: z.coerce.number().int().min(1).max(500).default(500),
57
+ })
58
+ .refine((q) => q.after === undefined || q.before === undefined, {
59
+ message: "after and before are exclusive",
60
+ path: ["before"],
46
61
  });
47
62
  /** `?keys=a,b`: 1–100 comma-separated tool keys of 1–200 characters each. */
48
63
  const ToolsQuery = z.object({
@@ -117,10 +132,13 @@ const MessageBody = MessageFields.strict().refine(...textRule);
117
132
  * `POST /conversations`: `message` creates the conversation with its first message (create on
118
133
  * first send; `clientMessageId` is required and makes a retry return the same conversation).
119
134
  * Without it the conversation is created empty (API clients; the web never does).
135
+ * `environmentId` binds it to one of the caller's environments; without it the caller's default
136
+ * environment (environments spec §4.1 item 1).
120
137
  */
121
138
  const CreateBody = z
122
139
  .object({
123
140
  agentId: z.string().min(1).max(100),
141
+ environmentId: z.string().min(1).max(100).optional(),
124
142
  message: MessageFields.omit({ retryOf: true })
125
143
  .extend({ clientMessageId: z.string().min(1).max(200) })
126
144
  .strict()
@@ -129,9 +147,7 @@ const CreateBody = z
129
147
  })
130
148
  .strict();
131
149
  /**
132
- * `POST …/queue`: the message fields that can be queued (no retry). A model / effort pick is checked
133
- * now and applied when the message is sent (final review I1). A skill invocation is rendered now
134
- * and checked again when sent (phase D Task 9).
150
+ * `POST …/queue` (deprecated, behaves as `POST …/messages`): the message fields (no retry).
135
151
  */
136
152
  const QueueBody = MessageFields.omit({ retryOf: true })
137
153
  .extend({ clientMessageId: z.string().min(1).max(200) })
@@ -143,7 +159,7 @@ const QueueEditBody = z.object({ text: z.string().max(100_000) }).strict();
143
159
  * A rename: 1–120 characters counted in code points after trimming, with no control or format
144
160
  * (bidi, zero-width) characters, the same rule generated and tool titles follow.
145
161
  */
146
- const RenameBody = z
162
+ const PatchBody = z
147
163
  .object({
148
164
  title: z
149
165
  .string()
@@ -151,12 +167,19 @@ const RenameBody = z
151
167
  .trim()
152
168
  .refine((t) => t.length > 0, "title must not be empty")
153
169
  .refine((t) => Array.from(t).length <= CONVERSATION_TITLE_MAX_CHARS, `title must be at most ${CONVERSATION_TITLE_MAX_CHARS} characters`)
154
- .refine((t) => !CONTROL_OR_HIDDEN_RE.test(t), "title must not contain control or format characters"),
170
+ .refine((t) => !CONTROL_OR_HIDDEN_RE.test(t), "title must not contain control or format characters")
171
+ .optional(),
172
+ /** true archives (hidden from the default lists), false unarchives. */
173
+ archived: z.boolean().optional(),
155
174
  })
156
- .strict();
175
+ .strict()
176
+ .refine((b) => b.title !== undefined || b.archived !== undefined, "title or archived is required");
177
+ const IdParams = z.object({ id: z.string().min(1).max(100) });
157
178
  class ConversationCreateBodyDto extends createZodDto(CreateBody, "ConversationCreateBody") {
158
179
  }
159
- class ConversationRenameBodyDto extends createZodDto(RenameBody, "ConversationRenameBody") {
180
+ class ConversationPatchBodyDto extends createZodDto(PatchBody, "ConversationPatchBody") {
181
+ }
182
+ class ConversationIdParamsDto extends createZodDto(IdParams, "ConversationIdParams") {
160
183
  }
161
184
  class ConversationListQueryDto extends createZodDto(ListQuery, "ConversationListQuery") {
162
185
  }
@@ -190,25 +213,30 @@ let ConversationsController = class ConversationsController {
190
213
  conversations;
191
214
  outputs;
192
215
  artifacts;
193
- sandboxStatus;
216
+ environmentStatus;
194
217
  toolInfo;
195
218
  queue;
196
219
  files;
197
- constructor(conversations, outputs, artifacts, sandboxStatus, toolInfo, queue, files) {
220
+ constructor(conversations, outputs, artifacts, environmentStatus, toolInfo, queue, files) {
198
221
  this.conversations = conversations;
199
222
  this.outputs = outputs;
200
223
  this.artifacts = artifacts;
201
- this.sandboxStatus = sandboxStatus;
224
+ this.environmentStatus = environmentStatus;
202
225
  this.toolInfo = toolInfo;
203
226
  this.queue = queue;
204
227
  this.files = files;
205
228
  }
206
- /** 201 when created; 200 when `message.clientMessageId` repeats an earlier first send. */
229
+ /**
230
+ * 201 when created; 200 when `message.clientMessageId` repeats an earlier first send. With a
231
+ * message the answer has `event` (the `user_message`) and `events`: every event the first send
232
+ * wrote, in seq order from seq 1 (a `model_switched` first when it switched).
233
+ */
207
234
  async create(principal, org, body, reply) {
208
235
  const p = requireUser(principal);
236
+ const pick = body.environmentId === undefined ? {} : { environmentId: body.environmentId };
209
237
  if (body.message === undefined) {
210
238
  return {
211
- conversation: await this.conversations.create(org.orgId, p.account.id, body.agentId),
239
+ conversation: await this.conversations.create(org.orgId, p.account.id, body.agentId, pick),
212
240
  };
213
241
  }
214
242
  const m = body.message;
@@ -220,17 +248,34 @@ let ConversationsController = class ConversationsController {
220
248
  ...(m.model !== undefined && { model: m.model }),
221
249
  ...(m.effort !== undefined && { effort: m.effort }),
222
250
  ...(m.skill !== undefined && { skill: m.skill }),
223
- });
251
+ }, pick);
224
252
  reply.status(out.created ? 201 : 200);
225
- return { conversation: out.conversation, event: out.event };
253
+ return { conversation: out.conversation, event: out.event, events: out.events };
226
254
  }
227
- /** Rename (owner only): `titleSource` becomes `manual` and the title is never regenerated. */
228
- async rename(principal, org, id, body) {
255
+ /**
256
+ * Rename and / or archive (owner only). A rename makes `titleSource` `manual`, so the title is
257
+ * never regenerated; `archived` archives or unarchives. Returns the final view.
258
+ */
259
+ async patch(principal, org, id, body) {
229
260
  const p = requireUser(principal);
261
+ const renamed = body.title === undefined
262
+ ? undefined
263
+ : await this.conversations.rename(org.orgId, id, p.account.id, body.title);
264
+ if (body.archived === undefined) {
265
+ // The refine guarantees a title when there is no `archived`
266
+ return {
267
+ conversation: renamed ?? (await this.conversations.get(org.orgId, id, p.account.id)),
268
+ };
269
+ }
230
270
  return {
231
- conversation: await this.conversations.rename(org.orgId, id, p.account.id, body.title),
271
+ conversation: await this.conversations.setArchived(org.orgId, id, p.account.id, body.archived),
232
272
  };
233
273
  }
274
+ /** Soft delete (owner only): stops an active run and hides the conversation everywhere. */
275
+ async remove(principal, org, { id }) {
276
+ const p = requireUser(principal);
277
+ await this.conversations.remove(org.orgId, id, p.account.id);
278
+ }
234
279
  /** 我的会话,最近更新的在前:`next` 为下一页游标(作为 `after` 传回),没有更多时为 null。 */
235
280
  async list(principal, org, q) {
236
281
  const p = requireUser(principal);
@@ -238,6 +283,9 @@ let ConversationsController = class ConversationsController {
238
283
  limit: q.limit + 1,
239
284
  ...(q.after !== undefined && { after: q.after }),
240
285
  ...(q.agentId !== undefined && { agentId: q.agentId }),
286
+ ...(q.q !== undefined && { q: q.q }),
287
+ ...(q.state !== undefined && { state: q.state }),
288
+ ...(q.archived !== undefined && { archived: true }),
241
289
  });
242
290
  const conversations = rows.slice(0, q.limit);
243
291
  const next = rows.length > q.limit ? (conversations.at(-1)?.id ?? null) : null;
@@ -254,17 +302,28 @@ let ConversationsController = class ConversationsController {
254
302
  perGroup: q.perGroup,
255
303
  limit: q.limit,
256
304
  ...(q.after !== undefined && { after: q.after }),
305
+ ...(q.q !== undefined && { q: q.q }),
306
+ ...(q.state !== undefined && { state: q.state }),
307
+ ...(q.archived !== undefined && { archived: true }),
257
308
  });
258
309
  }
259
310
  async get(principal, org, id) {
260
311
  const p = requireUser(principal);
261
312
  return { conversation: await this.conversations.get(org.orgId, id, p.account.id) };
262
313
  }
263
- /** `after` 之后的事件(seq 升序,最多 `limit` 条);客户端以最后一条的 seq 作为下一次的 `after`。 */
314
+ /**
315
+ * Events in ascending seq. `after`: those after it (at most `limit`; the client passes the last
316
+ * seq back as the next `after`). `before` (a seq, or `end` for the log's last page): the
317
+ * turn-aligned page before it, `{ events, turnsBefore }` (history paging spec §2).
318
+ */
264
319
  async events(principal, org, id, q) {
265
320
  const p = requireUser(principal);
321
+ if (q.before !== undefined) {
322
+ const before = q.before === "end" ? null : q.before;
323
+ return this.conversations.listEventsBefore(org.orgId, id, p.account.id, before, q.limit);
324
+ }
266
325
  return {
267
- events: await this.conversations.listEvents(org.orgId, id, p.account.id, q.after, q.limit),
326
+ events: await this.conversations.listEvents(org.orgId, id, p.account.id, q.after ?? 0, q.limit),
268
327
  };
269
328
  }
270
329
  /**
@@ -279,6 +338,15 @@ let ConversationsController = class ConversationsController {
279
338
  ...(q.after !== undefined && { after: q.after }),
280
339
  });
281
340
  }
341
+ /**
342
+ * The agent tree of a root conversation (agent map spec §8, §9.2): `{ root }`, each node with its
343
+ * status, model, time, tokens, tool calls and children. Owner only; a sub-agent's id is
344
+ * `conversation.not_found`.
345
+ */
346
+ async agentTree(principal, org, { id }) {
347
+ const p = requireUser(principal);
348
+ return this.conversations.agentTree(org.orgId, id, p.account.id);
349
+ }
282
350
  /**
283
351
  * The conversation's token usage, its sub-agents' included (sub-agents spec §8.3):
284
352
  * `{ usage: { inputTokens, outputTokens, cacheReadTokens, cacheWriteTokens } }`. Owner only.
@@ -347,13 +415,13 @@ let ConversationsController = class ConversationsController {
347
415
  await reply.send(c.body);
348
416
  }
349
417
  /**
350
- * 对话沙箱的状态。响应体**不套外层键**,直接是 `{ status: "running" | "suspended", lastUsedAt }`
351
- * (不同于 `{ preview }`、`{ conversation }` 等;网页 `getSandboxStatus` 按此解析);
352
- * 没有可用的沙箱(未创建、已销毁)→ 404 `sandbox.not_found`。可见性与会话流相同。
418
+ * The environment the conversation works in (a sub-agent: its root's), as its owner sees it,
419
+ * with its instance state; `null` while unbound, or when the environment was deleted. Same
420
+ * visibility as the event stream.
353
421
  */
354
- async sandbox(principal, org, id) {
422
+ async environment(principal, org, id) {
355
423
  const p = requireUser(principal);
356
- return this.sandboxStatus.get(org.orgId, id, p.account.id);
424
+ return { environment: await this.environmentStatus.get(org.orgId, id, p.account.id) };
357
425
  }
358
426
  /**
359
427
  * Display metadata (title, kind, key arguments, source) of the tools a conversation's calls name,
@@ -387,22 +455,23 @@ let ConversationsController = class ConversationsController {
387
455
  return this.queue.list(org.orgId, id, p.account.id);
388
456
  }
389
457
  /**
390
- * Queues a message (201). The same `clientMessageId` again: 200 with the queued item, or with
391
- * `item: null` and the sent `event` once it went out. An idle conversation sends it at once.
458
+ * Deprecated: behaves as `POST …/messages` (202 `{ event }`): an interjection while a run is
459
+ * active, a new run otherwise; nothing is queued any more. Kept for older clients for one release;
460
+ * the leftover-item routes below keep working until the queue table is dropped (contract step).
392
461
  */
393
- async enqueue(principal, org, id, body, reply) {
462
+ async enqueue(principal, org, id, body) {
394
463
  const p = requireUser(principal);
395
- const out = await this.queue.add(org.orgId, id, p.account.id, {
396
- text: body.text,
397
- clientMessageId: body.clientMessageId,
398
- ...(body.attachments !== undefined && { attachments: body.attachments }),
399
- ...(body.files !== undefined && { files: body.files }),
400
- ...(body.model !== undefined && { model: body.model }),
401
- ...(body.effort !== undefined && { effort: body.effort }),
402
- ...(body.skill !== undefined && { skill: body.skill }),
403
- });
404
- reply.status(out.created ? 201 : 200);
405
- return { item: out.item, ...(out.event !== undefined && { event: out.event }) };
464
+ return {
465
+ event: await this.conversations.postUserMessage(org.orgId, id, p.account.id, {
466
+ text: body.text,
467
+ clientMessageId: body.clientMessageId,
468
+ ...(body.attachments !== undefined && { attachments: body.attachments }),
469
+ ...(body.files !== undefined && { files: body.files }),
470
+ ...(body.model !== undefined && { model: body.model }),
471
+ ...(body.effort !== undefined && { effort: body.effort }),
472
+ ...(body.skill !== undefined && { skill: body.skill }),
473
+ }),
474
+ };
406
475
  }
407
476
  /** "Continue sending" after a pause (202). Declared before `:itemId` routes. */
408
477
  async resumeQueue(principal, org, id) {
@@ -423,7 +492,13 @@ let ConversationsController = class ConversationsController {
423
492
  const p = requireUser(principal);
424
493
  return { event: await this.queue.sendNow(org.orgId, id, p.account.id, itemId) };
425
494
  }
426
- /** 中止当前运行(会话所有者):202 `{ runId }`;没有活跃运行 → 409 `run.not_active`。 */
495
+ /**
496
+ * Stops the current run (the conversation's owner): 202 `{ runId }`; nothing active → 409
497
+ * `run.not_active`. On a root conversation `runId` is the stopped run, and its background
498
+ * sub-agents keep working. On a sub-agent's conversation (the root's owner, at any depth) the
499
+ * sub-agent stops with every sub-agent below it, and `runId` is the sub-agent's latest run,
500
+ * which may already be finished when only its descendants were working (agent map spec §6).
501
+ */
427
502
  async abort(principal, org, id) {
428
503
  const p = requireUser(principal);
429
504
  return { runId: await this.conversations.abort(org.orgId, id, p.account.id) };
@@ -443,8 +518,16 @@ __decorate([
443
518
  __param(0, CurrentPrincipal()),
444
519
  __param(1, CurrentOrg()),
445
520
  __param(2, Param("id")),
446
- __param(3, ZBody(ConversationRenameBodyDto))
447
- ], ConversationsController.prototype, "rename", null);
521
+ __param(3, ZBody(ConversationPatchBodyDto))
522
+ ], ConversationsController.prototype, "patch", null);
523
+ __decorate([
524
+ Delete(":id"),
525
+ HttpCode(204),
526
+ OrgAction("agents.use"),
527
+ __param(0, CurrentPrincipal()),
528
+ __param(1, CurrentOrg()),
529
+ __param(2, ZParam(ConversationIdParamsDto))
530
+ ], ConversationsController.prototype, "remove", null);
448
531
  __decorate([
449
532
  Get(),
450
533
  OrgAction("agents.use"),
@@ -483,6 +566,14 @@ __decorate([
483
566
  __param(2, Param("id")),
484
567
  __param(3, ZQuery(ConversationSubagentsQueryDto))
485
568
  ], ConversationsController.prototype, "subagents", null);
569
+ __decorate([
570
+ Get(":id/agent-tree"),
571
+ Header("cache-control", "private, no-store"),
572
+ OrgAction("agents.use"),
573
+ __param(0, CurrentPrincipal()),
574
+ __param(1, CurrentOrg()),
575
+ __param(2, ZParam(ConversationIdParamsDto))
576
+ ], ConversationsController.prototype, "agentTree", null);
486
577
  __decorate([
487
578
  Get(":id/usage"),
488
579
  Header("cache-control", "private, no-store"),
@@ -539,13 +630,13 @@ __decorate([
539
630
  __param(5, Res())
540
631
  ], ConversationsController.prototype, "fileContent", null);
541
632
  __decorate([
542
- Get(":id/sandbox"),
633
+ Get(":id/environment"),
543
634
  Header("cache-control", "private, no-store"),
544
635
  OrgAction("agents.use"),
545
636
  __param(0, CurrentPrincipal()),
546
637
  __param(1, CurrentOrg()),
547
638
  __param(2, Param("id"))
548
- ], ConversationsController.prototype, "sandbox", null);
639
+ ], ConversationsController.prototype, "environment", null);
549
640
  __decorate([
550
641
  Get(":id/tools"),
551
642
  Header("cache-control", "private, no-store"),
@@ -574,12 +665,12 @@ __decorate([
574
665
  ], ConversationsController.prototype, "listQueue", null);
575
666
  __decorate([
576
667
  Post(":id/queue"),
668
+ HttpCode(202),
577
669
  OrgAction("agents.use"),
578
670
  __param(0, CurrentPrincipal()),
579
671
  __param(1, CurrentOrg()),
580
672
  __param(2, Param("id")),
581
- __param(3, ZBody(ConversationQueueBodyDto)),
582
- __param(4, Res({ passthrough: true }))
673
+ __param(3, ZBody(ConversationQueueBodyDto))
583
674
  ], ConversationsController.prototype, "enqueue", null);
584
675
  __decorate([
585
676
  Post(":id/queue/resume"),
@@ -629,7 +720,7 @@ ConversationsController = __decorate([
629
720
  __param(0, Inject(ConversationsService)),
630
721
  __param(1, Inject(ConversationOutputs)),
631
722
  __param(2, Inject(ConversationArtifacts)),
632
- __param(3, Inject(ConversationSandboxStatus)),
723
+ __param(3, Inject(ConversationEnvironmentStatus)),
633
724
  __param(4, Inject(ConversationToolInfo)),
634
725
  __param(5, Inject(ConversationQueue)),
635
726
  __param(6, Inject(ConversationFiles))
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Conversations: the one {@link ConversationsService} (messages, model switches, skill
3
3
  * invocations, sub-agent views, abort), the queue, the file / artifact / output reads and the
4
- * sandbox status. The event log, the access check and the attachments are their own modules (the
4
+ * conversation's environment. The event log, the access check and the attachments are their own modules (the
5
5
  * skills and tools use them too) and are re-exported here.
6
6
  */
7
7
  export declare class ConversationsModule {
@@ -6,9 +6,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { Module } from "@nestjs/common";
8
8
  import { AgentLookupModule } from "../agents/agent-lookup.js";
9
+ import { BackgroundModule } from "../background/background.module.js";
10
+ import { EnvironmentsModule } from "../environments/environments.module.js";
9
11
  import { ProvidersModule } from "../runtime/providers.js";
10
12
  import { RuntimeModule } from "../runtime/runtime.module.js";
11
- import { SandboxModule } from "../sandbox/sandbox.module.js";
12
13
  import { SkillsModule } from "../skills/skills.module.js";
13
14
  import { StorageModule } from "../storage/storage.module.js";
14
15
  import { ToolsModule } from "../tools/tools.module.js";
@@ -16,15 +17,15 @@ import { ConversationAccessModule } from "./access.js";
16
17
  import { ConversationArtifacts } from "./artifacts.js";
17
18
  import { AttachmentsModule } from "./attachments.module.js";
18
19
  import { ConversationsService } from "./conversations.service.js";
20
+ import { ConversationEnvironmentStatus } from "./environment-status.js";
19
21
  import { EventLogModule } from "./event-log.js";
20
22
  import { ConversationFiles } from "./files.js";
21
23
  import { ConversationOutputs } from "./outputs-read.js";
22
24
  import { ConversationQueue } from "./queue.service.js";
23
- import { ConversationSandboxStatus } from "./sandbox-status.js";
24
25
  /**
25
26
  * Conversations: the one {@link ConversationsService} (messages, model switches, skill
26
27
  * invocations, sub-agent views, abort), the queue, the file / artifact / output reads and the
27
- * sandbox status. The event log, the access check and the attachments are their own modules (the
28
+ * conversation's environment. The event log, the access check and the attachments are their own modules (the
28
29
  * skills and tools use them too) and are re-exported here.
29
30
  */
30
31
  let ConversationsModule = class ConversationsModule {
@@ -42,8 +43,10 @@ ConversationsModule = __decorate([
42
43
  // the run control (start a run after a message, stop runs) and the model provider registry
43
44
  RuntimeModule,
44
45
  ProvidersModule,
45
- // the sandbox status
46
- SandboxModule,
46
+ // the environment a conversation is bound to, and its view
47
+ EnvironmentsModule,
48
+ // the stop of a deleted conversation's background tasks
49
+ BackgroundModule,
47
50
  ],
48
51
  providers: [
49
52
  ConversationsService,
@@ -51,7 +54,7 @@ ConversationsModule = __decorate([
51
54
  ConversationOutputs,
52
55
  ConversationArtifacts,
53
56
  ConversationFiles,
54
- ConversationSandboxStatus,
57
+ ConversationEnvironmentStatus,
55
58
  ],
56
59
  exports: [
57
60
  EventLogModule,
@@ -62,7 +65,7 @@ ConversationsModule = __decorate([
62
65
  ConversationOutputs,
63
66
  ConversationArtifacts,
64
67
  ConversationFiles,
65
- ConversationSandboxStatus,
68
+ ConversationEnvironmentStatus,
66
69
  ],
67
70
  })
68
71
  ], ConversationsModule);