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

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 (1170) hide show
  1. package/bootstrap.json +85 -5
  2. package/dist/admin/admin.controller.d.ts +52 -71
  3. package/dist/admin/admin.controller.js +117 -63
  4. package/dist/admin/admin.module.d.ts +3 -0
  5. package/dist/admin/admin.module.js +22 -0
  6. package/dist/admin/admin.schemas.d.ts +60 -0
  7. package/dist/admin/admin.schemas.js +50 -0
  8. package/dist/admin/extensions.controller.d.ts +47 -16
  9. package/dist/admin/extensions.controller.js +94 -23
  10. package/dist/admin/extensions.schemas.d.ts +7 -0
  11. package/dist/admin/extensions.schemas.js +10 -0
  12. package/dist/admin/limit-defaults.d.ts +20 -0
  13. package/dist/admin/limit-defaults.js +10 -0
  14. package/dist/admin/setup-lock.d.ts +16 -0
  15. package/dist/admin/setup-lock.js +47 -0
  16. package/dist/admin/setup.controller.d.ts +9 -9
  17. package/dist/admin/setup.controller.js +28 -26
  18. package/dist/admin/setup.service.d.ts +20 -28
  19. package/dist/admin/setup.service.js +65 -65
  20. package/dist/agents/agent-lookup.d.ts +72 -0
  21. package/dist/agents/agent-lookup.js +208 -0
  22. package/dist/agents/agent-profile.service.d.ts +31 -0
  23. package/dist/agents/agent-profile.service.js +122 -0
  24. package/dist/agents/agents.controller.d.ts +54 -169
  25. package/dist/agents/agents.controller.js +172 -37
  26. package/dist/agents/agents.module.d.ts +10 -0
  27. package/dist/agents/agents.module.js +71 -0
  28. package/dist/agents/agents.schemas.d.ts +389 -0
  29. package/dist/agents/agents.schemas.js +126 -0
  30. package/dist/agents/agents.service.d.ts +104 -76
  31. package/dist/agents/agents.service.js +509 -383
  32. package/dist/agents/definition.d.ts +133 -21
  33. package/dist/agents/definition.js +361 -41
  34. package/dist/agents/from-template.d.ts +106 -0
  35. package/dist/agents/from-template.js +680 -0
  36. package/dist/agents/from-template.service.d.ts +72 -0
  37. package/dist/agents/from-template.service.js +178 -0
  38. package/dist/agents/instruction-files.d.ts +60 -0
  39. package/dist/agents/instruction-files.js +111 -0
  40. package/dist/agents/models.controller.d.ts +44 -6
  41. package/dist/agents/models.controller.js +84 -8
  42. package/dist/agents/org-templates.d.ts +186 -0
  43. package/dist/agents/org-templates.js +868 -0
  44. package/dist/agents/pending-connector-requests.d.ts +79 -0
  45. package/dist/agents/pending-connector-requests.js +215 -0
  46. package/dist/agents/pending-connectors.controller.d.ts +39 -0
  47. package/dist/agents/pending-connectors.controller.js +91 -0
  48. package/dist/agents/pending-connectors.service.d.ts +62 -0
  49. package/dist/agents/pending-connectors.service.js +282 -0
  50. package/dist/agents/profile.d.ts +114 -0
  51. package/dist/agents/profile.js +55 -0
  52. package/dist/agents/readiness.controller.d.ts +26 -0
  53. package/dist/agents/readiness.controller.js +56 -0
  54. package/dist/agents/templates.controller.d.ts +78 -6
  55. package/dist/agents/templates.controller.js +154 -8
  56. package/dist/agents/templates.d.ts +132 -30
  57. package/dist/agents/templates.js +500 -46
  58. package/dist/agents/templates.schemas.d.ts +20 -0
  59. package/dist/agents/templates.schemas.js +45 -0
  60. package/dist/app.d.ts +93 -0
  61. package/dist/app.js +150 -0
  62. package/dist/background/background.controller.d.ts +38 -0
  63. package/dist/background/background.controller.js +88 -0
  64. package/dist/background/background.module.d.ts +10 -0
  65. package/dist/background/background.module.js +39 -0
  66. package/dist/background/background.schemas.d.ts +10 -0
  67. package/dist/background/background.schemas.js +16 -0
  68. package/dist/background/finish.d.ts +44 -0
  69. package/dist/background/finish.js +95 -0
  70. package/dist/background/launch-lock.d.ts +15 -0
  71. package/dist/background/launch-lock.js +40 -0
  72. package/dist/background/launch.d.ts +42 -0
  73. package/dist/background/launch.js +77 -0
  74. package/dist/background/poll.job.d.ts +56 -0
  75. package/dist/background/poll.job.js +195 -0
  76. package/dist/background/render.d.ts +23 -0
  77. package/dist/background/render.js +48 -0
  78. package/dist/background/session.d.ts +48 -0
  79. package/dist/background/session.js +80 -0
  80. package/dist/background/status.d.ts +35 -0
  81. package/dist/background/status.js +57 -0
  82. package/dist/background/stop.d.ts +68 -0
  83. package/dist/background/stop.js +244 -0
  84. package/dist/background/store.d.ts +167 -0
  85. package/dist/background/store.js +361 -0
  86. package/dist/background/store.module.d.ts +6 -0
  87. package/dist/background/store.module.js +22 -0
  88. package/dist/background/tasks.service.d.ts +77 -0
  89. package/dist/background/tasks.service.js +216 -0
  90. package/dist/background/wake-rules.d.ts +66 -0
  91. package/dist/background/wake-rules.js +113 -0
  92. package/dist/background/wake.d.ts +30 -0
  93. package/dist/background/wake.js +63 -0
  94. package/dist/catalog/admin-catalog.controller.d.ts +102 -52
  95. package/dist/catalog/admin-catalog.controller.js +222 -67
  96. package/dist/catalog/admin-catalog.schemas.d.ts +72 -0
  97. package/dist/catalog/admin-catalog.schemas.js +92 -0
  98. package/dist/catalog/catalog-content.d.ts +264 -0
  99. package/dist/catalog/catalog-content.js +430 -0
  100. package/dist/catalog/catalog-files.d.ts +41 -0
  101. package/dist/catalog/catalog-files.js +86 -0
  102. package/dist/catalog/catalog-import.module.d.ts +7 -0
  103. package/dist/catalog/catalog-import.module.js +60 -0
  104. package/dist/catalog/catalog-items.d.ts +290 -0
  105. package/dist/catalog/catalog-items.js +677 -0
  106. package/dist/catalog/catalog-scope.service.d.ts +286 -0
  107. package/dist/catalog/catalog-scope.service.js +1196 -0
  108. package/dist/catalog/catalog.module.d.ts +12 -0
  109. package/dist/catalog/catalog.module.js +81 -0
  110. package/dist/catalog/catalog.service.d.ts +144 -207
  111. package/dist/catalog/catalog.service.js +258 -528
  112. package/dist/catalog/claude/agents.js +15 -10
  113. package/dist/catalog/claude/translate.js +3 -0
  114. package/dist/catalog/cli.d.ts +14 -3
  115. package/dist/catalog/cli.js +39 -32
  116. package/dist/catalog/component-promotion.d.ts +96 -0
  117. package/dist/catalog/component-promotion.js +395 -0
  118. package/dist/catalog/component-scope.controller.d.ts +90 -0
  119. package/dist/catalog/component-scope.controller.js +234 -0
  120. package/dist/catalog/component-scope.schemas.d.ts +118 -0
  121. package/dist/catalog/component-scope.schemas.js +97 -0
  122. package/dist/catalog/component-scope.service.d.ts +366 -0
  123. package/dist/catalog/component-scope.service.js +1115 -0
  124. package/dist/catalog/component-state.d.ts +197 -0
  125. package/dist/catalog/component-state.js +473 -0
  126. package/dist/catalog/git-source.d.ts +9 -1
  127. package/dist/catalog/git-source.js +29 -2
  128. package/dist/catalog/job-ids.d.ts +45 -0
  129. package/dist/catalog/job-ids.js +40 -0
  130. package/dist/catalog/jobs.d.ts +27 -0
  131. package/dist/catalog/jobs.js +70 -0
  132. package/dist/catalog/locks.d.ts +24 -0
  133. package/dist/catalog/locks.js +63 -0
  134. package/dist/catalog/marketplace-fetch.d.ts +1 -1
  135. package/dist/catalog/marketplace-icons.d.ts +64 -0
  136. package/dist/catalog/marketplace-icons.js +131 -0
  137. package/dist/catalog/marketplaces.controller.d.ts +53 -44
  138. package/dist/catalog/marketplaces.controller.js +146 -51
  139. package/dist/catalog/marketplaces.schemas.d.ts +48 -0
  140. package/dist/catalog/marketplaces.schemas.js +53 -0
  141. package/dist/catalog/marketplaces.service.d.ts +136 -26
  142. package/dist/catalog/marketplaces.service.js +663 -281
  143. package/dist/catalog/org-catalog.controller.d.ts +115 -63
  144. package/dist/catalog/org-catalog.controller.js +207 -100
  145. package/dist/catalog/org-catalog.schemas.d.ts +88 -0
  146. package/dist/catalog/org-catalog.schemas.js +93 -0
  147. package/dist/catalog/org-catalog.service.d.ts +89 -216
  148. package/dist/catalog/org-catalog.service.js +434 -472
  149. package/dist/catalog/org-extension-switch.d.ts +41 -0
  150. package/dist/catalog/org-extension-switch.js +115 -0
  151. package/dist/catalog/org-extension.controller.d.ts +113 -0
  152. package/dist/catalog/org-extension.controller.js +271 -0
  153. package/dist/catalog/org-extension.schemas.d.ts +15 -0
  154. package/dist/catalog/org-extension.schemas.js +22 -0
  155. package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
  156. package/dist/catalog/org-plugin-uploads.controller.js +200 -0
  157. package/dist/catalog/org-plugin-uploads.d.ts +71 -0
  158. package/dist/catalog/org-plugin-uploads.js +122 -0
  159. package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
  160. package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
  161. package/dist/catalog/owned-items.d.ts +188 -0
  162. package/dist/catalog/owned-items.js +808 -0
  163. package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
  164. package/dist/catalog/owned-plugin-cleanup.js +194 -0
  165. package/dist/catalog/ownership.d.ts +172 -0
  166. package/dist/catalog/ownership.js +326 -0
  167. package/dist/catalog/platform-components.d.ts +243 -0
  168. package/dist/catalog/platform-components.js +872 -0
  169. package/dist/catalog/platform-migration.d.ts +115 -0
  170. package/dist/catalog/platform-migration.js +583 -0
  171. package/dist/catalog/plugin-import.d.ts +293 -71
  172. package/dist/catalog/plugin-import.js +1039 -281
  173. package/dist/catalog/plugin-install.d.ts +271 -66
  174. package/dist/catalog/plugin-install.js +1198 -344
  175. package/dist/catalog/plugin-package.d.ts +41 -4
  176. package/dist/catalog/plugin-package.js +140 -7
  177. package/dist/catalog/plugin-upgrade.d.ts +312 -188
  178. package/dist/catalog/plugin-upgrade.js +1371 -1065
  179. package/dist/catalog/request-rules.d.ts +65 -0
  180. package/dist/catalog/request-rules.js +217 -0
  181. package/dist/catalog/requests.service.d.ts +205 -117
  182. package/dist/catalog/requests.service.js +612 -369
  183. package/dist/catalog/reserved-names.d.ts +8 -0
  184. package/dist/catalog/reserved-names.js +42 -0
  185. package/dist/catalog/scope-orgs.d.ts +21 -0
  186. package/dist/catalog/scope-orgs.js +67 -0
  187. package/dist/catalog/scope-state.d.ts +35 -0
  188. package/dist/catalog/scope-state.js +87 -0
  189. package/dist/catalog/scope-sync-workers.d.ts +7 -0
  190. package/dist/catalog/scope-sync-workers.js +29 -0
  191. package/dist/catalog/scope-sync.d.ts +176 -0
  192. package/dist/catalog/scope-sync.js +576 -0
  193. package/dist/catalog/scope.d.ts +42 -0
  194. package/dist/catalog/scope.js +42 -0
  195. package/dist/catalog/unshare.d.ts +22 -0
  196. package/dist/catalog/unshare.js +119 -0
  197. package/dist/channels/actions.d.ts +6 -4
  198. package/dist/channels/actions.js +11 -4
  199. package/dist/channels/cards.d.ts +33 -11
  200. package/dist/channels/cards.js +96 -24
  201. package/dist/channels/channels.module.d.ts +40 -0
  202. package/dist/channels/channels.module.js +130 -0
  203. package/dist/channels/channels.schemas.d.ts +37 -0
  204. package/dist/channels/channels.schemas.js +38 -0
  205. package/dist/channels/connections.controller.d.ts +44 -37
  206. package/dist/channels/connections.controller.js +83 -38
  207. package/dist/channels/connections.service.d.ts +101 -30
  208. package/dist/channels/connections.service.js +380 -147
  209. package/dist/channels/inbound.d.ts +44 -38
  210. package/dist/channels/inbound.js +190 -44
  211. package/dist/channels/job-ids.d.ts +10 -0
  212. package/dist/channels/job-ids.js +10 -0
  213. package/dist/channels/jobs.d.ts +85 -0
  214. package/dist/channels/jobs.js +157 -0
  215. package/dist/channels/outbound.d.ts +71 -80
  216. package/dist/channels/outbound.js +219 -202
  217. package/dist/channels/phrases.d.ts +33 -2
  218. package/dist/channels/phrases.js +29 -1
  219. package/dist/channels/supervisor.d.ts +88 -46
  220. package/dist/channels/supervisor.js +230 -132
  221. package/dist/channels/threads.d.ts +34 -8
  222. package/dist/channels/threads.js +79 -13
  223. package/dist/channels/webhook.d.ts +20 -14
  224. package/dist/channels/webhook.js +51 -20
  225. package/dist/config/docs.js +5 -1
  226. package/dist/config/load.d.ts +3 -2
  227. package/dist/config/load.js +3 -2
  228. package/dist/config/nacos-source.js +11 -2
  229. package/dist/config/schema.d.ts +36 -2
  230. package/dist/config/schema.js +226 -25
  231. package/dist/conversations/access.d.ts +31 -0
  232. package/dist/conversations/access.js +110 -0
  233. package/dist/conversations/agent-tree.d.ts +46 -0
  234. package/dist/conversations/agent-tree.js +92 -0
  235. package/dist/conversations/artifacts.d.ts +11 -11
  236. package/dist/conversations/artifacts.js +36 -10
  237. package/dist/conversations/attachments.controller.d.ts +1 -1
  238. package/dist/conversations/attachments.controller.js +8 -6
  239. package/dist/conversations/attachments.module.d.ts +7 -0
  240. package/dist/conversations/attachments.module.js +25 -0
  241. package/dist/conversations/attachments.service.d.ts +60 -22
  242. package/dist/conversations/attachments.service.js +249 -51
  243. package/dist/conversations/conversations.controller.d.ts +86 -50
  244. package/dist/conversations/conversations.controller.js +184 -103
  245. package/dist/conversations/conversations.module.d.ts +8 -0
  246. package/dist/conversations/conversations.module.js +72 -0
  247. package/dist/conversations/conversations.schemas.d.ts +52 -0
  248. package/dist/conversations/conversations.schemas.js +79 -0
  249. package/dist/conversations/conversations.service.d.ts +166 -49
  250. package/dist/conversations/conversations.service.js +383 -179
  251. package/dist/conversations/environment-status.d.ts +24 -0
  252. package/dist/conversations/environment-status.js +71 -0
  253. package/dist/conversations/event-log.d.ts +64 -27
  254. package/dist/conversations/event-log.js +167 -31
  255. package/dist/conversations/events.d.ts +252 -9
  256. package/dist/conversations/events.js +243 -32
  257. package/dist/conversations/files.d.ts +10 -10
  258. package/dist/conversations/files.js +37 -11
  259. package/dist/conversations/idem-keys.d.ts +5 -0
  260. package/dist/conversations/idem-keys.js +5 -0
  261. package/dist/conversations/job-ids.d.ts +6 -0
  262. package/dist/conversations/job-ids.js +6 -0
  263. package/dist/conversations/message-context.d.ts +79 -0
  264. package/dist/conversations/message-context.js +145 -0
  265. package/dist/conversations/outputs-read.d.ts +11 -11
  266. package/dist/conversations/outputs-read.js +31 -7
  267. package/dist/conversations/queue.d.ts +53 -58
  268. package/dist/conversations/queue.js +37 -293
  269. package/dist/conversations/queue.service.d.ts +60 -0
  270. package/dist/conversations/queue.service.js +350 -0
  271. package/dist/conversations/titles.d.ts +83 -27
  272. package/dist/conversations/titles.js +195 -71
  273. package/dist/conversations/tree.d.ts +17 -0
  274. package/dist/conversations/tree.js +42 -0
  275. package/dist/ctx/bus.js +9 -3
  276. package/dist/ctx/create-ctx.d.ts +26 -1
  277. package/dist/ctx/create-ctx.js +45 -16
  278. package/dist/ctx/lock.d.ts +7 -3
  279. package/dist/ctx/lock.js +9 -20
  280. package/dist/ctx/secrets.d.ts +10 -2
  281. package/dist/ctx/secrets.js +7 -3
  282. package/dist/db/kernel-schema.d.ts +589 -27
  283. package/dist/db/pool.d.ts +10 -0
  284. package/dist/db/pool.js +4 -0
  285. package/dist/devices/device-auth.controller.d.ts +42 -0
  286. package/dist/devices/device-auth.controller.js +116 -0
  287. package/dist/devices/device-auth.d.ts +119 -0
  288. package/dist/devices/device-auth.js +403 -0
  289. package/dist/devices/device-auth.module.d.ts +7 -0
  290. package/dist/devices/device-auth.module.js +25 -0
  291. package/dist/devices/device-gateway.d.ts +128 -0
  292. package/dist/devices/device-gateway.js +530 -0
  293. package/dist/devices/device-provider.d.ts +89 -0
  294. package/dist/devices/device-provider.js +151 -0
  295. package/dist/devices/device-routes.d.ts +36 -0
  296. package/dist/devices/device-routes.js +90 -0
  297. package/dist/devices/devices.module.d.ts +16 -0
  298. package/dist/devices/devices.module.js +44 -0
  299. package/dist/devices/dto.d.ts +66 -0
  300. package/dist/devices/dto.js +44 -0
  301. package/dist/devices/keys.d.ts +25 -0
  302. package/dist/devices/keys.js +25 -0
  303. package/dist/devices/machines.d.ts +118 -0
  304. package/dist/devices/machines.js +366 -0
  305. package/dist/devices/relay.d.ts +100 -0
  306. package/dist/devices/relay.js +373 -0
  307. package/dist/devices/targets.d.ts +28 -0
  308. package/dist/devices/targets.js +73 -0
  309. package/dist/environments/access.d.ts +66 -0
  310. package/dist/environments/access.js +113 -0
  311. package/dist/environments/conversation-environments.d.ts +75 -0
  312. package/dist/environments/conversation-environments.js +231 -0
  313. package/dist/environments/dto.d.ts +25 -0
  314. package/dist/environments/dto.js +12 -0
  315. package/dist/environments/environments.controller.d.ts +36 -0
  316. package/dist/environments/environments.controller.js +124 -0
  317. package/dist/environments/environments.module.d.ts +8 -0
  318. package/dist/environments/environments.module.js +31 -0
  319. package/dist/environments/environments.schemas.d.ts +3 -0
  320. package/dist/environments/environments.schemas.js +14 -0
  321. package/dist/environments/environments.service.d.ts +251 -0
  322. package/dist/environments/environments.service.js +791 -0
  323. package/dist/environments/label.d.ts +11 -0
  324. package/dist/environments/label.js +25 -0
  325. package/dist/environments/legacy-cleanup.job.d.ts +34 -0
  326. package/dist/environments/legacy-cleanup.job.js +141 -0
  327. package/dist/errors.d.ts +160 -2
  328. package/dist/errors.js +160 -2
  329. package/dist/evals/budget.d.ts +42 -21
  330. package/dist/evals/budget.js +114 -62
  331. package/dist/evals/evals.module.d.ts +31 -0
  332. package/dist/evals/evals.module.js +114 -0
  333. package/dist/evals/evals.schemas.d.ts +110 -0
  334. package/dist/evals/evals.schemas.js +107 -0
  335. package/dist/evals/jobs.d.ts +20 -0
  336. package/dist/evals/jobs.js +45 -0
  337. package/dist/evals/reconstruct.d.ts +18 -9
  338. package/dist/evals/reconstruct.js +36 -10
  339. package/dist/evals/recorded-tools.d.ts +37 -1
  340. package/dist/evals/recorded-tools.js +120 -10
  341. package/dist/evals/run-replay.d.ts +75 -10
  342. package/dist/evals/run-replay.js +218 -94
  343. package/dist/evals/runs.controller.d.ts +3 -58
  344. package/dist/evals/runs.controller.js +18 -50
  345. package/dist/evals/runs.service.d.ts +31 -52
  346. package/dist/evals/runs.service.js +281 -255
  347. package/dist/evals/sets.controller.d.ts +3 -29
  348. package/dist/evals/sets.controller.js +18 -39
  349. package/dist/evals/sets.service.d.ts +29 -13
  350. package/dist/evals/sets.service.js +262 -202
  351. package/dist/evals/snapshot.d.ts +5 -4
  352. package/dist/evals/snapshot.js +17 -4
  353. package/dist/evals/step-replay.d.ts +6 -8
  354. package/dist/evals/step-replay.js +17 -10
  355. package/dist/evals/trajectory.controller.d.ts +1 -1
  356. package/dist/evals/trajectory.controller.js +11 -7
  357. package/dist/evals/trajectory.d.ts +2 -2
  358. package/dist/evals/trajectory.js +1 -1
  359. package/dist/evals/trajectory.service.d.ts +13 -7
  360. package/dist/evals/trajectory.service.js +56 -21
  361. package/dist/evals/worker.d.ts +48 -31
  362. package/dist/evals/worker.js +229 -124
  363. package/dist/extensions/admin-ops.d.ts +133 -41
  364. package/dist/extensions/admin-ops.js +378 -172
  365. package/dist/extensions/admin-view.d.ts +82 -32
  366. package/dist/extensions/admin-view.js +284 -71
  367. package/dist/extensions/approvals.d.ts +24 -10
  368. package/dist/extensions/approvals.js +73 -46
  369. package/dist/extensions/blobs.d.ts +27 -10
  370. package/dist/extensions/blobs.js +112 -45
  371. package/dist/extensions/bootstrap.d.ts +99 -36
  372. package/dist/extensions/bootstrap.js +290 -134
  373. package/dist/extensions/cli.d.ts +32 -10
  374. package/dist/extensions/cli.js +52 -98
  375. package/dist/extensions/config-hash.d.ts +10 -0
  376. package/dist/extensions/config-hash.js +38 -0
  377. package/dist/extensions/config-issues.d.ts +19 -0
  378. package/dist/extensions/config-issues.js +48 -0
  379. package/dist/extensions/config-json-schema.d.ts +43 -7
  380. package/dist/extensions/config-json-schema.js +124 -58
  381. package/dist/extensions/deployment-config-store.d.ts +55 -0
  382. package/dist/extensions/deployment-config-store.js +133 -0
  383. package/dist/extensions/deployment-config.d.ts +146 -70
  384. package/dist/extensions/deployment-config.js +439 -246
  385. package/dist/extensions/display-name.d.ts +22 -0
  386. package/dist/extensions/display-name.js +77 -0
  387. package/dist/extensions/effective-config.d.ts +127 -0
  388. package/dist/extensions/effective-config.js +368 -0
  389. package/dist/extensions/enabled.d.ts +5 -5
  390. package/dist/extensions/extensions.module.d.ts +8 -0
  391. package/dist/extensions/extensions.module.js +96 -0
  392. package/dist/extensions/hooks.d.ts +40 -6
  393. package/dist/extensions/hooks.js +83 -17
  394. package/dist/extensions/host.d.ts +161 -80
  395. package/dist/extensions/host.js +505 -213
  396. package/dist/extensions/installs.d.ts +73 -19
  397. package/dist/extensions/installs.js +174 -37
  398. package/dist/extensions/job-ids.d.ts +6 -0
  399. package/dist/extensions/job-ids.js +6 -0
  400. package/dist/extensions/lifecycle-topics.d.ts +18 -0
  401. package/dist/extensions/lifecycle-topics.js +18 -0
  402. package/dist/extensions/lifecycle.d.ts +35 -47
  403. package/dist/extensions/lifecycle.js +103 -39
  404. package/dist/extensions/locks.d.ts +45 -0
  405. package/dist/extensions/locks.js +112 -0
  406. package/dist/extensions/migrate-lock.d.ts +3 -4
  407. package/dist/extensions/org-config.d.ts +141 -49
  408. package/dist/extensions/org-config.js +471 -243
  409. package/dist/extensions/org-levels.d.ts +37 -0
  410. package/dist/extensions/org-levels.js +71 -0
  411. package/dist/extensions/org-overrides.d.ts +151 -0
  412. package/dist/extensions/org-overrides.js +524 -0
  413. package/dist/extensions/package.d.ts +14 -1
  414. package/dist/extensions/package.js +51 -2
  415. package/dist/extensions/permission-view.d.ts +59 -6
  416. package/dist/extensions/permission-view.js +7 -5
  417. package/dist/extensions/plugin-guides.d.ts +129 -0
  418. package/dist/extensions/plugin-guides.js +283 -0
  419. package/dist/extensions/plugin-icons.d.ts +54 -0
  420. package/dist/extensions/plugin-icons.js +125 -0
  421. package/dist/extensions/plugin-items.d.ts +21 -0
  422. package/dist/extensions/plugin-items.js +42 -0
  423. package/dist/extensions/point-defaults.controller.d.ts +28 -0
  424. package/dist/extensions/point-defaults.controller.js +69 -0
  425. package/dist/extensions/point-defaults.d.ts +73 -0
  426. package/dist/extensions/point-defaults.js +236 -0
  427. package/dist/extensions/point-defaults.schemas.d.ts +9 -0
  428. package/dist/extensions/point-defaults.schemas.js +14 -0
  429. package/dist/extensions/registry.d.ts +50 -2
  430. package/dist/extensions/registry.js +91 -4
  431. package/dist/extensions/resolve.d.ts +51 -1
  432. package/dist/extensions/resolve.js +85 -3
  433. package/dist/extensions/single-provider.d.ts +92 -0
  434. package/dist/extensions/single-provider.js +180 -0
  435. package/dist/extensions/sources.d.ts +19 -10
  436. package/dist/extensions/sources.js +34 -13
  437. package/dist/extensions/state.module.d.ts +9 -0
  438. package/dist/extensions/state.module.js +38 -0
  439. package/dist/extensions/unavailable.d.ts +50 -0
  440. package/dist/extensions/unavailable.js +115 -0
  441. package/dist/files/files.module.d.ts +3 -0
  442. package/dist/files/files.module.js +22 -0
  443. package/dist/files/previewers.controller.d.ts +7 -2
  444. package/dist/files/previewers.controller.js +19 -12
  445. package/dist/files/previewers.d.ts +21 -19
  446. package/dist/files/previewers.js +114 -38
  447. package/dist/files/previewers.schemas.d.ts +10 -0
  448. package/dist/files/previewers.schemas.js +9 -0
  449. package/dist/http/adapter.d.ts +3 -0
  450. package/dist/http/adapter.js +25 -0
  451. package/dist/http/api.module.d.ts +3 -110
  452. package/dist/http/api.module.js +93 -358
  453. package/dist/http/app.d.ts +22 -17
  454. package/dist/http/app.js +46 -65
  455. package/dist/http/error-filter.module.d.ts +5 -0
  456. package/dist/http/error-filter.module.js +18 -0
  457. package/dist/http/error.filter.js +2 -2
  458. package/dist/http/{gateway.module.d.ts → gateway-routes.d.ts} +7 -3
  459. package/dist/http/gateway-routes.js +16 -0
  460. package/dist/http/nest-logger.d.ts +6 -5
  461. package/dist/http/nest-logger.js +24 -10
  462. package/dist/http/plugin-dispatch.d.ts +4 -1
  463. package/dist/http/plugin-dispatch.js +14 -2
  464. package/dist/identity/accounts.d.ts +137 -38
  465. package/dist/identity/accounts.js +386 -186
  466. package/dist/identity/api-tokens.d.ts +11 -7
  467. package/dist/identity/api-tokens.js +71 -44
  468. package/dist/identity/audit.d.ts +9 -5
  469. package/dist/identity/audit.js +5 -1
  470. package/dist/identity/auth.controller.d.ts +11 -10
  471. package/dist/identity/auth.controller.js +40 -30
  472. package/dist/identity/auth.guard.d.ts +16 -8
  473. package/dist/identity/auth.guard.js +41 -13
  474. package/dist/identity/binding.d.ts +9 -11
  475. package/dist/identity/binding.js +41 -13
  476. package/dist/identity/cookies.d.ts +26 -5
  477. package/dist/identity/cookies.js +58 -6
  478. package/dist/identity/external-identity-lock.d.ts +17 -0
  479. package/dist/identity/external-identity-lock.js +39 -0
  480. package/dist/identity/external.d.ts +19 -15
  481. package/dist/identity/external.js +163 -125
  482. package/dist/identity/identity.module.d.ts +6 -0
  483. package/dist/identity/identity.module.js +59 -0
  484. package/dist/identity/initial-passwords.controller.d.ts +22 -0
  485. package/dist/identity/initial-passwords.controller.js +49 -0
  486. package/dist/identity/initial-passwords.d.ts +61 -0
  487. package/dist/identity/initial-passwords.job.d.ts +16 -0
  488. package/dist/identity/initial-passwords.job.js +46 -0
  489. package/dist/identity/initial-passwords.js +159 -0
  490. package/dist/identity/me.controller.d.ts +32 -15
  491. package/dist/identity/me.controller.js +80 -33
  492. package/dist/identity/me.schemas.d.ts +24 -0
  493. package/dist/identity/me.schemas.js +25 -0
  494. package/dist/identity/principal.d.ts +11 -3
  495. package/dist/identity/principal.js +11 -3
  496. package/dist/identity/sessions.d.ts +24 -10
  497. package/dist/identity/sessions.js +119 -42
  498. package/dist/identity/settings.d.ts +69 -23
  499. package/dist/identity/settings.js +201 -72
  500. package/dist/identity/sso.controller.d.ts +7 -7
  501. package/dist/identity/sso.controller.js +13 -9
  502. package/dist/identity/sso.d.ts +9 -12
  503. package/dist/identity/sso.js +54 -24
  504. package/dist/identity/super-admin.d.ts +20 -0
  505. package/dist/identity/super-admin.js +81 -0
  506. package/dist/inbox/inbox.module.d.ts +6 -0
  507. package/dist/inbox/inbox.module.js +26 -0
  508. package/dist/inbox/inbox.schemas.d.ts +8 -0
  509. package/dist/inbox/inbox.schemas.js +11 -0
  510. package/dist/inbox/inbox.service.d.ts +68 -11
  511. package/dist/inbox/inbox.service.js +104 -13
  512. package/dist/inbox/org-notices.d.ts +63 -0
  513. package/dist/inbox/org-notices.js +91 -0
  514. package/dist/inbox/platform-inbox.controller.d.ts +23 -0
  515. package/dist/inbox/platform-inbox.controller.js +58 -0
  516. package/dist/inbox/platform-inbox.service.d.ts +151 -0
  517. package/dist/inbox/platform-inbox.service.js +263 -0
  518. package/dist/inbox/platform-notices.d.ts +19 -0
  519. package/dist/inbox/platform-notices.js +9 -0
  520. package/dist/index.d.ts +22 -13
  521. package/dist/index.js +16 -7
  522. package/dist/infra/cache/cache.module.d.ts +3 -0
  523. package/dist/infra/cache/cache.module.js +16 -0
  524. package/dist/infra/cache/cache.service.d.ts +21 -0
  525. package/dist/infra/cache/cache.service.js +80 -0
  526. package/dist/infra/cache/cacheable.decorator.d.ts +32 -0
  527. package/dist/infra/cache/cacheable.decorator.js +83 -0
  528. package/dist/infra/cli/kernel-cli.module.d.ts +66 -0
  529. package/dist/infra/cli/kernel-cli.module.js +173 -0
  530. package/dist/infra/close-within.d.ts +15 -0
  531. package/dist/infra/close-within.js +36 -0
  532. package/dist/infra/config/config.module.d.ts +13 -0
  533. package/dist/infra/config/config.module.js +39 -0
  534. package/dist/infra/config/kernel-config.service.d.ts +25 -0
  535. package/dist/infra/config/kernel-config.service.js +157 -0
  536. package/dist/infra/database/after-commit.d.ts +6 -0
  537. package/dist/infra/database/after-commit.js +9 -0
  538. package/dist/infra/database/database.module.d.ts +25 -0
  539. package/dist/infra/database/database.module.js +91 -0
  540. package/dist/infra/database/kernel-db.d.ts +22 -0
  541. package/dist/infra/database/kernel-db.js +65 -0
  542. package/dist/infra/database/transaction-host.d.ts +50 -0
  543. package/dist/infra/database/transaction-host.js +125 -0
  544. package/dist/infra/database/transactional.decorator.d.ts +15 -0
  545. package/dist/infra/database/transactional.decorator.js +27 -0
  546. package/dist/infra/database/xact-lock.d.ts +17 -0
  547. package/dist/infra/database/xact-lock.js +43 -0
  548. package/dist/infra/events/kernel-events.d.ts +121 -0
  549. package/dist/infra/events/kernel-events.js +65 -0
  550. package/dist/infra/health/health.controller.d.ts +26 -0
  551. package/dist/infra/health/health.controller.js +104 -0
  552. package/dist/infra/health/health.module.d.ts +9 -0
  553. package/dist/infra/health/health.module.js +24 -0
  554. package/dist/infra/health/health.options.d.ts +10 -0
  555. package/dist/infra/health/health.options.js +15 -0
  556. package/dist/infra/health/shutdown-state.d.ts +6 -0
  557. package/dist/infra/health/shutdown-state.js +2 -0
  558. package/dist/infra/lifecycle/graceful-shutdown.module.d.ts +6 -0
  559. package/dist/infra/lifecycle/graceful-shutdown.module.js +23 -0
  560. package/dist/infra/lifecycle/graceful-shutdown.service.d.ts +70 -0
  561. package/dist/infra/lifecycle/graceful-shutdown.service.js +135 -0
  562. package/dist/infra/lifecycle/process-guards.d.ts +52 -0
  563. package/dist/infra/lifecycle/process-guards.js +90 -0
  564. package/dist/infra/lifecycle/shutdown-signals.d.ts +30 -0
  565. package/dist/infra/lifecycle/shutdown-signals.js +48 -0
  566. package/dist/infra/lock/key-template.d.ts +13 -0
  567. package/dist/infra/lock/key-template.js +46 -0
  568. package/dist/infra/lock/lock.module.d.ts +3 -0
  569. package/dist/infra/lock/lock.module.js +16 -0
  570. package/dist/infra/lock/lock.service.d.ts +120 -0
  571. package/dist/infra/lock/lock.service.js +343 -0
  572. package/dist/infra/lock/shared-lease.d.ts +44 -0
  573. package/dist/infra/lock/shared-lease.js +121 -0
  574. package/dist/infra/lock/with-lock.decorator.d.ts +28 -0
  575. package/dist/infra/lock/with-lock.decorator.js +49 -0
  576. package/dist/infra/logging/logging.module.d.ts +18 -0
  577. package/dist/infra/logging/logging.module.js +52 -0
  578. package/dist/infra/queue/add-job-once.d.ts +14 -0
  579. package/dist/infra/queue/add-job-once.js +16 -0
  580. package/dist/infra/queue/configured-processor.d.ts +18 -0
  581. package/dist/infra/queue/configured-processor.js +23 -0
  582. package/dist/infra/queue/job-failure.d.ts +18 -0
  583. package/dist/infra/queue/job-failure.js +26 -0
  584. package/dist/infra/queue/queue-shutdown.d.ts +27 -0
  585. package/dist/infra/queue/queue-shutdown.js +81 -0
  586. package/dist/infra/queue/queue.module.d.ts +16 -0
  587. package/dist/infra/queue/queue.module.js +61 -0
  588. package/dist/infra/queue/redis-connection.d.ts +13 -0
  589. package/dist/infra/queue/redis-connection.js +25 -0
  590. package/dist/infra/queue/retired-schedulers.d.ts +7 -0
  591. package/dist/infra/queue/retired-schedulers.js +9 -0
  592. package/dist/infra/queue/run-job.d.ts +16 -0
  593. package/dist/infra/queue/run-job.js +19 -0
  594. package/dist/infra/redis/redis.module.d.ts +24 -0
  595. package/dist/infra/redis/redis.module.js +91 -0
  596. package/dist/infra/schedule/cron-tick.d.ts +12 -0
  597. package/dist/infra/schedule/cron-tick.js +25 -0
  598. package/dist/infra/schedule/locked-cron.decorator.d.ts +27 -0
  599. package/dist/infra/schedule/locked-cron.decorator.js +53 -0
  600. package/dist/infra/schedule/locked-interval.d.ts +69 -0
  601. package/dist/infra/schedule/locked-interval.js +190 -0
  602. package/dist/infra/schedule/locked-tick.d.ts +90 -0
  603. package/dist/infra/schedule/locked-tick.js +137 -0
  604. package/dist/infra/schedule/schedule.module.d.ts +8 -0
  605. package/dist/infra/schedule/schedule.module.js +27 -0
  606. package/dist/infra/schedule/scheduled-runs.d.ts +69 -0
  607. package/dist/infra/schedule/scheduled-runs.js +163 -0
  608. package/dist/infra/swagger/swagger.d.ts +16 -0
  609. package/dist/infra/swagger/swagger.js +31 -0
  610. package/dist/infra/throttler/credential-throttler.d.ts +35 -0
  611. package/dist/infra/throttler/credential-throttler.js +77 -0
  612. package/dist/infra/throttler/named-throttlers.d.ts +36 -0
  613. package/dist/infra/throttler/named-throttlers.js +157 -0
  614. package/dist/infra/throttler/redis-throttler-storage.d.ts +38 -0
  615. package/dist/infra/throttler/redis-throttler-storage.js +130 -0
  616. package/dist/infra/throttler/throttler.guard.d.ts +23 -0
  617. package/dist/infra/throttler/throttler.guard.js +68 -0
  618. package/dist/infra/throttler/throttler.module.d.ts +15 -0
  619. package/dist/infra/throttler/throttler.module.js +53 -0
  620. package/dist/infra/tokens.d.ts +20 -0
  621. package/dist/infra/tokens.js +20 -0
  622. package/dist/infra/validation/create-zod-dto.d.ts +23 -0
  623. package/dist/infra/validation/create-zod-dto.js +35 -0
  624. package/dist/infra/validation/parse-with-zod.d.ts +7 -0
  625. package/dist/infra/validation/parse-with-zod.js +12 -0
  626. package/dist/infra/validation/validation.module.d.ts +3 -0
  627. package/dist/infra/validation/validation.module.js +16 -0
  628. package/dist/infra/validation/zod-params.d.ts +7 -0
  629. package/dist/infra/validation/zod-params.js +42 -0
  630. package/dist/infra/validation/zod-validation.pipe.d.ts +11 -0
  631. package/dist/infra/validation/zod-validation.pipe.js +31 -0
  632. package/dist/kernel.d.ts +9 -244
  633. package/dist/kernel.js +8 -1305
  634. package/dist/kernel.module.d.ts +17 -0
  635. package/dist/kernel.module.js +145 -0
  636. package/dist/lifecycle/kernel-lifecycle.d.ts +140 -0
  637. package/dist/lifecycle/kernel-lifecycle.js +465 -0
  638. package/dist/lifecycle/tokens.d.ts +3 -0
  639. package/dist/lifecycle/tokens.js +3 -0
  640. package/dist/log-context.d.ts +2 -0
  641. package/dist/log-context.js +4 -0
  642. package/dist/log.d.ts +13 -1
  643. package/dist/log.js +93 -17
  644. package/dist/models/embeddings.d.ts +82 -0
  645. package/dist/models/embeddings.js +326 -0
  646. package/dist/models/enablement.controller.d.ts +40 -0
  647. package/dist/models/enablement.controller.js +74 -0
  648. package/dist/models/enablement.d.ts +101 -0
  649. package/dist/models/enablement.js +264 -0
  650. package/dist/models/models.module.d.ts +7 -0
  651. package/dist/models/models.module.js +36 -0
  652. package/dist/models/org-models.schemas.d.ts +8 -0
  653. package/dist/models/org-models.schemas.js +22 -0
  654. package/dist/models/prices.d.ts +13 -5
  655. package/dist/models/prices.js +69 -39
  656. package/dist/models/purposes.controller.d.ts +6 -4
  657. package/dist/models/purposes.controller.js +16 -11
  658. package/dist/models/purposes.d.ts +103 -23
  659. package/dist/models/purposes.js +208 -77
  660. package/dist/orgs/directory-sync.controller.d.ts +1 -1
  661. package/dist/orgs/directory-sync.controller.js +2 -2
  662. package/dist/orgs/directory-sync.d.ts +74 -35
  663. package/dist/orgs/directory-sync.js +243 -132
  664. package/dist/orgs/invitations.controller.d.ts +8 -8
  665. package/dist/orgs/invitations.controller.js +27 -26
  666. package/dist/orgs/invitations.service.d.ts +12 -9
  667. package/dist/orgs/invitations.service.js +130 -92
  668. package/dist/orgs/job-ids.d.ts +8 -0
  669. package/dist/orgs/job-ids.js +8 -0
  670. package/dist/orgs/members.service.d.ts +19 -12
  671. package/dist/orgs/members.service.js +161 -117
  672. package/dist/orgs/offboarding.d.ts +61 -60
  673. package/dist/orgs/offboarding.js +206 -95
  674. package/dist/orgs/org-lock.d.ts +33 -19
  675. package/dist/orgs/org-lock.js +94 -35
  676. package/dist/orgs/org.guard.d.ts +11 -1
  677. package/dist/orgs/org.guard.js +45 -34
  678. package/dist/orgs/orgs.controller.d.ts +13 -16
  679. package/dist/orgs/orgs.controller.js +29 -20
  680. package/dist/orgs/orgs.module.d.ts +6 -0
  681. package/dist/orgs/orgs.module.js +71 -0
  682. package/dist/orgs/orgs.schemas.d.ts +8 -0
  683. package/dist/orgs/orgs.schemas.js +16 -0
  684. package/dist/orgs/orgs.service.d.ts +47 -21
  685. package/dist/orgs/orgs.service.js +166 -91
  686. package/dist/orgs/roles.d.ts +1 -1
  687. package/dist/orgs/roles.js +5 -1
  688. package/dist/orgs/settings.controller.d.ts +2 -2
  689. package/dist/orgs/settings.controller.js +8 -6
  690. package/dist/orgs/settings.service.d.ts +76 -14
  691. package/dist/orgs/settings.service.js +140 -51
  692. package/dist/overrides.d.ts +63 -0
  693. package/dist/overrides.js +34 -0
  694. package/dist/platform/actor.d.ts +48 -0
  695. package/dist/platform/actor.js +100 -0
  696. package/dist/platform/agent-docs.d.ts +18 -0
  697. package/dist/platform/agent-docs.js +59 -0
  698. package/dist/platform/availability.d.ts +14 -0
  699. package/dist/platform/availability.js +43 -0
  700. package/dist/platform/errors.d.ts +28 -0
  701. package/dist/platform/errors.js +65 -0
  702. package/dist/platform/exclusions.d.ts +11 -0
  703. package/dist/platform/exclusions.js +683 -0
  704. package/dist/platform/method.d.ts +6 -0
  705. package/dist/platform/method.js +15 -0
  706. package/dist/platform/operation.d.ts +169 -0
  707. package/dist/platform/operation.js +94 -0
  708. package/dist/platform/ops/accounts.ops.d.ts +32 -0
  709. package/dist/platform/ops/accounts.ops.js +291 -0
  710. package/dist/platform/ops/admin.ops.d.ts +38 -0
  711. package/dist/platform/ops/admin.ops.js +407 -0
  712. package/dist/platform/ops/agent-skills.ops.d.ts +24 -0
  713. package/dist/platform/ops/agent-skills.ops.js +226 -0
  714. package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
  715. package/dist/platform/ops/agent-templates.ops.js +272 -0
  716. package/dist/platform/ops/agents.ops.d.ts +37 -0
  717. package/dist/platform/ops/agents.ops.js +717 -0
  718. package/dist/platform/ops/approvals.ops.d.ts +30 -0
  719. package/dist/platform/ops/approvals.ops.js +116 -0
  720. package/dist/platform/ops/background.ops.d.ts +14 -0
  721. package/dist/platform/ops/background.ops.js +134 -0
  722. package/dist/platform/ops/catalog-admin.ops.d.ts +74 -0
  723. package/dist/platform/ops/catalog-admin.ops.js +599 -0
  724. package/dist/platform/ops/channels.ops.d.ts +16 -0
  725. package/dist/platform/ops/channels.ops.js +195 -0
  726. package/dist/platform/ops/components.ops.d.ts +46 -0
  727. package/dist/platform/ops/components.ops.js +854 -0
  728. package/dist/platform/ops/connectors.ops.d.ts +17 -0
  729. package/dist/platform/ops/connectors.ops.js +188 -0
  730. package/dist/platform/ops/conversations.ops.d.ts +30 -0
  731. package/dist/platform/ops/conversations.ops.js +470 -0
  732. package/dist/platform/ops/environments.ops.d.ts +26 -0
  733. package/dist/platform/ops/environments.ops.js +311 -0
  734. package/dist/platform/ops/errors.d.ts +16 -0
  735. package/dist/platform/ops/errors.js +30 -0
  736. package/dist/platform/ops/evals.ops.d.ts +28 -0
  737. package/dist/platform/ops/evals.ops.js +783 -0
  738. package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
  739. package/dist/platform/ops/extensions-admin.ops.js +372 -0
  740. package/dist/platform/ops/extensions.ops.d.ts +25 -0
  741. package/dist/platform/ops/extensions.ops.js +347 -0
  742. package/dist/platform/ops/inbox.ops.d.ts +25 -0
  743. package/dist/platform/ops/inbox.ops.js +378 -0
  744. package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
  745. package/dist/platform/ops/marketplaces.ops.js +466 -0
  746. package/dist/platform/ops/models.ops.d.ts +25 -0
  747. package/dist/platform/ops/models.ops.js +232 -0
  748. package/dist/platform/ops/org-plugins.ops.d.ts +29 -0
  749. package/dist/platform/ops/org-plugins.ops.js +329 -0
  750. package/dist/platform/ops/org-settings.ops.d.ts +18 -0
  751. package/dist/platform/ops/org-settings.ops.js +127 -0
  752. package/dist/platform/ops/orgs.ops.d.ts +28 -0
  753. package/dist/platform/ops/orgs.ops.js +296 -0
  754. package/dist/platform/ops/other-orgs.d.ts +20 -0
  755. package/dist/platform/ops/other-orgs.js +72 -0
  756. package/dist/platform/ops/paging.d.ts +14 -0
  757. package/dist/platform/ops/paging.js +20 -0
  758. package/dist/platform/ops/platform.ops.d.ts +30 -0
  759. package/dist/platform/ops/platform.ops.js +231 -0
  760. package/dist/platform/ops/plugins.ops.d.ts +35 -0
  761. package/dist/platform/ops/plugins.ops.js +476 -0
  762. package/dist/platform/ops/previewers.ops.d.ts +14 -0
  763. package/dist/platform/ops/previewers.ops.js +109 -0
  764. package/dist/platform/ops/requests.ops.d.ts +14 -0
  765. package/dist/platform/ops/requests.ops.js +191 -0
  766. package/dist/platform/ops/role.d.ts +4 -0
  767. package/dist/platform/ops/role.js +10 -0
  768. package/dist/platform/ops/skills.ops.d.ts +17 -0
  769. package/dist/platform/ops/skills.ops.js +216 -0
  770. package/dist/platform/ops/summary.d.ts +10 -0
  771. package/dist/platform/ops/summary.js +18 -0
  772. package/dist/platform/ops/themes.ops.d.ts +14 -0
  773. package/dist/platform/ops/themes.ops.js +47 -0
  774. package/dist/platform/ops/unavailable.d.ts +23 -0
  775. package/dist/platform/ops/unavailable.js +118 -0
  776. package/dist/platform/parity.d.ts +33 -0
  777. package/dist/platform/parity.js +272 -0
  778. package/dist/platform/platform-ops.module.d.ts +40 -0
  779. package/dist/platform/platform-ops.module.js +127 -0
  780. package/dist/platform/platform.module.d.ts +8 -0
  781. package/dist/platform/platform.module.js +25 -0
  782. package/dist/platform/registry.d.ts +30 -0
  783. package/dist/platform/registry.js +111 -0
  784. package/dist/platform/route-schemas.d.ts +18 -0
  785. package/dist/platform/route-schemas.js +66 -0
  786. package/dist/roles/gateway-role.d.ts +54 -0
  787. package/dist/roles/gateway-role.js +118 -0
  788. package/dist/roles/gateway.module.d.ts +9 -0
  789. package/dist/roles/gateway.module.js +31 -0
  790. package/dist/roles/worker-role.d.ts +65 -0
  791. package/dist/roles/worker-role.js +151 -0
  792. package/dist/roles/worker.module.d.ts +14 -0
  793. package/dist/roles/worker.module.js +106 -0
  794. package/dist/runtime/abort.js +19 -2
  795. package/dist/runtime/checkpointer.d.ts +8 -3
  796. package/dist/runtime/checkpointer.js +87 -55
  797. package/dist/runtime/context/build.d.ts +21 -13
  798. package/dist/runtime/context/build.js +106 -29
  799. package/dist/runtime/context/claude-tools.d.ts +4 -1
  800. package/dist/runtime/context/claude-tools.js +13 -12
  801. package/dist/runtime/context/compaction.js +24 -1
  802. package/dist/runtime/context/environment-paths.d.ts +40 -0
  803. package/dist/runtime/context/environment-paths.js +48 -0
  804. package/dist/runtime/context/legacy-text.d.ts +22 -0
  805. package/dist/runtime/context/legacy-text.js +37 -0
  806. package/dist/runtime/context/reminders.d.ts +2 -0
  807. package/dist/runtime/context/reminders.js +2 -0
  808. package/dist/runtime/context/run-context.d.ts +65 -0
  809. package/dist/runtime/context/run-context.js +215 -0
  810. package/dist/runtime/context/skills.d.ts +29 -11
  811. package/dist/runtime/context/skills.js +46 -32
  812. package/dist/runtime/context/tool-changes.d.ts +27 -0
  813. package/dist/runtime/context/tool-changes.js +60 -0
  814. package/dist/runtime/conversation-lock.d.ts +20 -11
  815. package/dist/runtime/conversation-lock.js +62 -72
  816. package/dist/runtime/hook-calls.d.ts +11 -4
  817. package/dist/runtime/hook-calls.js +41 -13
  818. package/dist/runtime/job-ids.d.ts +10 -0
  819. package/dist/runtime/job-ids.js +10 -0
  820. package/dist/runtime/langgraph-loop.d.ts +3 -1
  821. package/dist/runtime/langgraph-loop.js +37 -18
  822. package/dist/runtime/loop.d.ts +42 -6
  823. package/dist/runtime/loop.js +14 -0
  824. package/dist/runtime/maintenance-queue.d.ts +10 -0
  825. package/dist/runtime/maintenance-queue.js +10 -0
  826. package/dist/runtime/maintenance.d.ts +50 -74
  827. package/dist/runtime/maintenance.js +166 -137
  828. package/dist/runtime/model-call.d.ts +61 -15
  829. package/dist/runtime/model-call.js +128 -84
  830. package/dist/runtime/providers.d.ts +158 -27
  831. package/dist/runtime/providers.js +373 -63
  832. package/dist/runtime/quota.d.ts +17 -3
  833. package/dist/runtime/quota.js +27 -2
  834. package/dist/runtime/retired-schedulers.d.ts +7 -0
  835. package/dist/runtime/retired-schedulers.js +31 -0
  836. package/dist/runtime/run-context.service.d.ts +65 -0
  837. package/dist/runtime/run-context.service.js +236 -0
  838. package/dist/runtime/run-control.d.ts +43 -0
  839. package/dist/runtime/run-control.js +89 -0
  840. package/dist/runtime/run-drafts.d.ts +85 -0
  841. package/dist/runtime/run-drafts.js +230 -0
  842. package/dist/runtime/run-finish.d.ts +27 -18
  843. package/dist/runtime/run-finish.js +98 -51
  844. package/dist/runtime/run-jobs.d.ts +46 -0
  845. package/dist/runtime/run-jobs.js +91 -0
  846. package/dist/runtime/run-processors.d.ts +60 -0
  847. package/dist/runtime/run-processors.js +185 -0
  848. package/dist/runtime/run-queue.d.ts +90 -58
  849. package/dist/runtime/run-queue.js +566 -297
  850. package/dist/runtime/run-steps.d.ts +39 -0
  851. package/dist/runtime/run-steps.js +96 -0
  852. package/dist/runtime/run-worker.d.ts +134 -77
  853. package/dist/runtime/run-worker.js +412 -237
  854. package/dist/runtime/runtime.module.d.ts +10 -0
  855. package/dist/runtime/runtime.module.js +122 -0
  856. package/dist/runtime/step-log.d.ts +51 -0
  857. package/dist/runtime/step-log.js +111 -0
  858. package/dist/runtime/stream.controller.d.ts +28 -9
  859. package/dist/runtime/stream.controller.js +72 -13
  860. package/dist/runtime/stream.d.ts +27 -6
  861. package/dist/runtime/stream.js +102 -7
  862. package/dist/runtime/subagents/child.d.ts +58 -51
  863. package/dist/runtime/subagents/child.js +105 -86
  864. package/dist/runtime/subagents/definition.d.ts +32 -28
  865. package/dist/runtime/subagents/definition.js +89 -143
  866. package/dist/runtime/subagents/deliveries.d.ts +71 -0
  867. package/dist/runtime/subagents/deliveries.js +228 -0
  868. package/dist/runtime/subagents/dispatch.d.ts +197 -27
  869. package/dist/runtime/subagents/dispatch.js +336 -270
  870. package/dist/runtime/subagents/limits.d.ts +32 -8
  871. package/dist/runtime/subagents/limits.js +44 -8
  872. package/dist/runtime/subagents/messages.d.ts +95 -0
  873. package/dist/runtime/subagents/messages.js +328 -0
  874. package/dist/runtime/subagents/org-agents.d.ts +4 -4
  875. package/dist/runtime/subagents/org-agents.js +3 -2
  876. package/dist/runtime/subagents/preamble.d.ts +4 -4
  877. package/dist/runtime/subagents/preamble.js +9 -7
  878. package/dist/runtime/subagents/progress.d.ts +10 -8
  879. package/dist/runtime/subagents/progress.js +11 -6
  880. package/dist/runtime/subagents/render.d.ts +30 -0
  881. package/dist/runtime/subagents/render.js +53 -0
  882. package/dist/runtime/subagents/roster.d.ts +27 -10
  883. package/dist/runtime/subagents/roster.js +49 -13
  884. package/dist/runtime/subagents/skill-fork.d.ts +10 -10
  885. package/dist/runtime/subagents/skill-fork.js +23 -8
  886. package/dist/runtime/subagents/status.d.ts +14 -0
  887. package/dist/runtime/subagents/status.js +23 -0
  888. package/dist/runtime/subagents/subagents.service.d.ts +43 -0
  889. package/dist/runtime/subagents/subagents.service.js +106 -0
  890. package/dist/runtime/usage-report-jobs.d.ts +88 -0
  891. package/dist/runtime/usage-report-jobs.js +158 -0
  892. package/dist/runtime/usage-report.d.ts +121 -83
  893. package/dist/runtime/usage-report.js +355 -181
  894. package/dist/runtime/waits.d.ts +258 -81
  895. package/dist/runtime/waits.js +800 -263
  896. package/dist/sandbox/job-ids.d.ts +10 -0
  897. package/dist/sandbox/job-ids.js +10 -0
  898. package/dist/sandbox/jobs.d.ts +68 -0
  899. package/dist/sandbox/jobs.js +150 -0
  900. package/dist/sandbox/leases.d.ts +73 -82
  901. package/dist/sandbox/leases.js +162 -346
  902. package/dist/sandbox/providers.d.ts +46 -0
  903. package/dist/sandbox/providers.js +83 -0
  904. package/dist/sandbox/sandbox.module.d.ts +9 -0
  905. package/dist/sandbox/sandbox.module.js +36 -0
  906. package/dist/sandbox/sandbox.service.d.ts +359 -151
  907. package/dist/sandbox/sandbox.service.js +950 -435
  908. package/dist/sandbox/unreachable.d.ts +30 -0
  909. package/dist/sandbox/unreachable.js +108 -0
  910. package/dist/skills/catalog.d.ts +40 -26
  911. package/dist/skills/catalog.js +120 -99
  912. package/dist/skills/changes.controller.d.ts +11 -4
  913. package/dist/skills/changes.controller.js +34 -9
  914. package/dist/skills/changes.service.d.ts +31 -21
  915. package/dist/skills/changes.service.js +426 -368
  916. package/dist/skills/invocable.controller.d.ts +2 -2
  917. package/dist/skills/invocable.controller.js +10 -7
  918. package/dist/skills/invocation-keys.d.ts +1 -1
  919. package/dist/skills/invocation-keys.js +1 -1
  920. package/dist/skills/invoke.d.ts +19 -18
  921. package/dist/skills/invoke.js +68 -24
  922. package/dist/skills/package.d.ts +20 -1
  923. package/dist/skills/package.js +28 -1
  924. package/dist/skills/skills.controller.d.ts +33 -7
  925. package/dist/skills/skills.controller.js +79 -12
  926. package/dist/skills/skills.module.d.ts +6 -0
  927. package/dist/skills/skills.module.js +39 -0
  928. package/dist/skills/skills.schemas.d.ts +48 -0
  929. package/dist/skills/skills.schemas.js +61 -0
  930. package/dist/skills/skills.service.d.ts +151 -44
  931. package/dist/skills/skills.service.js +636 -204
  932. package/dist/skills/usable.d.ts +81 -0
  933. package/dist/skills/usable.js +379 -0
  934. package/dist/storage/job-ids.d.ts +6 -0
  935. package/dist/storage/job-ids.js +6 -0
  936. package/dist/storage/purge.d.ts +22 -7
  937. package/dist/storage/purge.js +55 -3
  938. package/dist/storage/storage.module.d.ts +6 -0
  939. package/dist/storage/storage.module.js +23 -0
  940. package/dist/storage/storage.service.d.ts +18 -4
  941. package/dist/storage/storage.service.js +44 -3
  942. package/dist/themes/render-css.d.ts +12 -0
  943. package/dist/themes/render-css.js +132 -0
  944. package/dist/themes/theme-delivery.service.d.ts +34 -0
  945. package/dist/themes/theme-delivery.service.js +111 -0
  946. package/dist/themes/theme-state.d.ts +95 -0
  947. package/dist/themes/theme-state.js +203 -0
  948. package/dist/themes/theme-usage.d.ts +61 -0
  949. package/dist/themes/theme-usage.js +98 -0
  950. package/dist/themes/themes-public.controller.d.ts +28 -0
  951. package/dist/themes/themes-public.controller.js +92 -0
  952. package/dist/themes/themes.controller.d.ts +13 -0
  953. package/dist/themes/themes.controller.js +38 -0
  954. package/dist/themes/themes.module.d.ts +3 -0
  955. package/dist/themes/themes.module.js +21 -0
  956. package/dist/themes/themes.schemas.d.ts +3 -0
  957. package/dist/themes/themes.schemas.js +2 -0
  958. package/dist/themes/themes.service.d.ts +50 -0
  959. package/dist/themes/themes.service.js +99 -0
  960. package/dist/time-zone.d.ts +5 -0
  961. package/dist/time-zone.js +19 -0
  962. package/dist/tools/approvals.controller.d.ts +1 -1
  963. package/dist/tools/approvals.controller.js +14 -11
  964. package/dist/tools/approvals.schemas.d.ts +21 -0
  965. package/dist/tools/approvals.schemas.js +15 -0
  966. package/dist/tools/approvals.service.d.ts +53 -27
  967. package/dist/tools/approvals.service.js +365 -260
  968. package/dist/tools/breaker.d.ts +2 -2
  969. package/dist/tools/breaker.js +21 -3
  970. package/dist/tools/builtin-names.d.ts +109 -0
  971. package/dist/tools/builtin-names.js +173 -0
  972. package/dist/tools/builtins/agent.d.ts +27 -25
  973. package/dist/tools/builtins/agent.js +66 -63
  974. package/dist/tools/builtins/ask-user.d.ts +3 -3
  975. package/dist/tools/builtins/ask-user.js +3 -3
  976. package/dist/tools/builtins/builtin-tools.d.ts +41 -0
  977. package/dist/tools/builtins/builtin-tools.js +151 -0
  978. package/dist/tools/builtins/current-time.d.ts +26 -0
  979. package/dist/tools/builtins/current-time.js +99 -0
  980. package/dist/tools/builtins/handback.d.ts +28 -0
  981. package/dist/tools/builtins/handback.js +53 -0
  982. package/dist/tools/builtins/platform.d.ts +51 -0
  983. package/dist/tools/builtins/platform.js +451 -0
  984. package/dist/tools/builtins/read-tool-output.d.ts +3 -3
  985. package/dist/tools/builtins/read-tool-output.js +3 -3
  986. package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
  987. package/dist/tools/builtins/sandbox/bash.js +293 -41
  988. package/dist/tools/builtins/sandbox/common.d.ts +137 -37
  989. package/dist/tools/builtins/sandbox/common.js +222 -62
  990. package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
  991. package/dist/tools/builtins/sandbox/deliver.js +21 -18
  992. package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
  993. package/dist/tools/builtins/sandbox/edit.js +65 -51
  994. package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
  995. package/dist/tools/builtins/sandbox/file-state.js +34 -0
  996. package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
  997. package/dist/tools/builtins/sandbox/glob-match.js +1 -1
  998. package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
  999. package/dist/tools/builtins/sandbox/glob.js +19 -14
  1000. package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
  1001. package/dist/tools/builtins/sandbox/grep.js +155 -36
  1002. package/dist/tools/builtins/sandbox/index.d.ts +9 -5
  1003. package/dist/tools/builtins/sandbox/index.js +13 -5
  1004. package/dist/tools/builtins/sandbox/read.d.ts +2 -2
  1005. package/dist/tools/builtins/sandbox/read.js +30 -20
  1006. package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
  1007. package/dist/tools/builtins/sandbox/task-output.js +334 -0
  1008. package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
  1009. package/dist/tools/builtins/sandbox/task-stop.js +113 -0
  1010. package/dist/tools/builtins/sandbox/write.d.ts +1 -1
  1011. package/dist/tools/builtins/sandbox/write.js +52 -45
  1012. package/dist/tools/builtins/send-message.d.ts +56 -0
  1013. package/dist/tools/builtins/send-message.js +100 -0
  1014. package/dist/tools/builtins/skill-load.d.ts +32 -21
  1015. package/dist/tools/builtins/skill-load.js +125 -74
  1016. package/dist/tools/builtins/skill-write.d.ts +4 -4
  1017. package/dist/tools/builtins/skill-write.js +12 -12
  1018. package/dist/tools/builtins/tool-search.d.ts +13 -9
  1019. package/dist/tools/builtins/tool-search.js +25 -14
  1020. package/dist/tools/builtins/web/errors.d.ts +8 -0
  1021. package/dist/tools/builtins/web/errors.js +53 -0
  1022. package/dist/tools/builtins/web/extract.d.ts +62 -0
  1023. package/dist/tools/builtins/web/extract.js +271 -0
  1024. package/dist/tools/builtins/web/fetch.d.ts +55 -0
  1025. package/dist/tools/builtins/web/fetch.js +175 -0
  1026. package/dist/tools/builtins/web/index.d.ts +13 -0
  1027. package/dist/tools/builtins/web/index.js +12 -0
  1028. package/dist/tools/builtins/web/page-cache.d.ts +25 -0
  1029. package/dist/tools/builtins/web/page-cache.js +77 -0
  1030. package/dist/tools/builtins/web/search.d.ts +25 -0
  1031. package/dist/tools/builtins/web/search.js +210 -0
  1032. package/dist/tools/builtins/web/url.d.ts +17 -0
  1033. package/dist/tools/builtins/web/url.js +43 -0
  1034. package/dist/tools/canonical-json.d.ts +6 -0
  1035. package/dist/tools/canonical-json.js +16 -0
  1036. package/dist/tools/connector-content.controller.d.ts +1 -1
  1037. package/dist/tools/connector-content.controller.js +11 -6
  1038. package/dist/tools/connector-content.d.ts +12 -15
  1039. package/dist/tools/connector-content.js +53 -18
  1040. package/dist/tools/connectors.controller.d.ts +16 -3
  1041. package/dist/tools/connectors.controller.js +34 -14
  1042. package/dist/tools/connectors.schemas.d.ts +12 -0
  1043. package/dist/tools/connectors.schemas.js +19 -0
  1044. package/dist/tools/connectors.service.d.ts +80 -18
  1045. package/dist/tools/connectors.service.js +529 -358
  1046. package/dist/tools/credentials.d.ts +20 -20
  1047. package/dist/tools/credentials.js +55 -34
  1048. package/dist/tools/display-names.d.ts +9 -0
  1049. package/dist/tools/display-names.js +24 -0
  1050. package/dist/tools/drift.d.ts +29 -41
  1051. package/dist/tools/drift.js +116 -84
  1052. package/dist/tools/elicitation.js +1 -1
  1053. package/dist/tools/extension-tools.controller.d.ts +14 -0
  1054. package/dist/tools/extension-tools.controller.js +37 -0
  1055. package/dist/tools/info.d.ts +73 -13
  1056. package/dist/tools/info.js +151 -39
  1057. package/dist/tools/job-ids.d.ts +13 -0
  1058. package/dist/tools/job-ids.js +15 -0
  1059. package/dist/tools/jobs.d.ts +24 -0
  1060. package/dist/tools/jobs.js +69 -0
  1061. package/dist/tools/legacy-data.d.ts +34 -0
  1062. package/dist/tools/legacy-data.js +76 -0
  1063. package/dist/tools/legacy-keys.d.ts +51 -0
  1064. package/dist/tools/legacy-keys.js +115 -0
  1065. package/dist/tools/naming.d.ts +1 -5
  1066. package/dist/tools/naming.js +1 -7
  1067. package/dist/tools/oauth/flow-paths.d.ts +16 -0
  1068. package/dist/tools/oauth/flow-paths.js +38 -0
  1069. package/dist/tools/oauth/flow.d.ts +30 -30
  1070. package/dist/tools/oauth/flow.js +109 -81
  1071. package/dist/tools/oauth/oauth.controller.d.ts +3 -3
  1072. package/dist/tools/oauth/oauth.controller.js +12 -9
  1073. package/dist/tools/oauth/tokens.d.ts +45 -10
  1074. package/dist/tools/oauth/tokens.js +70 -24
  1075. package/dist/tools/org-tool-switches.d.ts +88 -0
  1076. package/dist/tools/org-tool-switches.js +201 -0
  1077. package/dist/tools/outputs.d.ts +13 -4
  1078. package/dist/tools/outputs.js +48 -4
  1079. package/dist/tools/pipeline.d.ts +108 -80
  1080. package/dist/tools/pipeline.js +396 -409
  1081. package/dist/tools/policy.d.ts +4 -17
  1082. package/dist/tools/policy.js +49 -35
  1083. package/dist/tools/questions.controller.d.ts +2 -2
  1084. package/dist/tools/questions.controller.js +9 -6
  1085. package/dist/tools/questions.service.d.ts +26 -25
  1086. package/dist/tools/questions.service.js +201 -142
  1087. package/dist/tools/registry.d.ts +215 -84
  1088. package/dist/tools/registry.js +382 -264
  1089. package/dist/tools/resources.d.ts +1 -1
  1090. package/dist/tools/resources.js +1 -1
  1091. package/dist/tools/specs.d.ts +5 -4
  1092. package/dist/tools/specs.js +3 -1
  1093. package/dist/tools/tools.module.d.ts +10 -0
  1094. package/dist/tools/tools.module.js +113 -0
  1095. package/dist/tools/validate.js +1 -1
  1096. package/dist/ui/call-extension.d.ts +16 -0
  1097. package/dist/ui/call-extension.js +38 -0
  1098. package/dist/ui/embed-token.d.ts +9 -5
  1099. package/dist/ui/embed-token.js +34 -6
  1100. package/dist/ui/ui-stream.d.ts +22 -17
  1101. package/dist/ui/ui-stream.js +72 -12
  1102. package/dist/ui/ui.module.d.ts +7 -0
  1103. package/dist/ui/ui.module.js +28 -0
  1104. package/dist/ui/views.controller.d.ts +14 -12
  1105. package/dist/ui/views.controller.js +32 -25
  1106. package/dist/ui/views.d.ts +10 -57
  1107. package/dist/ui/views.js +58 -46
  1108. package/package.json +13 -3
  1109. package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
  1110. package/src/migrations/0064_account_last_org.sql +7 -0
  1111. package/src/migrations/0065_conversation_archive.sql +8 -0
  1112. package/src/migrations/0066_extension_display_name.sql +4 -0
  1113. package/src/migrations/0067_agent_profiles.sql +20 -0
  1114. package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
  1115. package/src/migrations/0069_attachments_agent_idx.sql +3 -0
  1116. package/src/migrations/0070_background_tasks.sql +37 -0
  1117. package/src/migrations/0071_background_tasks_reserve.sql +6 -0
  1118. package/src/migrations/0072_background_tasks_stopping.sql +5 -0
  1119. package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
  1120. package/src/migrations/0074_subagent_tree.sql +50 -0
  1121. package/src/migrations/0075_plugin_scope.sql +61 -0
  1122. package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
  1123. package/src/migrations/0077_scope_requests.sql +52 -0
  1124. package/src/migrations/0078_scope_grant_switches.sql +18 -0
  1125. package/src/migrations/0079_scope_live_install_switches.sql +19 -0
  1126. package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
  1127. package/src/migrations/0081_platform_components.sql +129 -0
  1128. package/src/migrations/0082_platform_migration.sql +33 -0
  1129. package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
  1130. package/src/migrations/0084_org_owned_items.sql +85 -0
  1131. package/src/migrations/0085_agent_templates_phase4.sql +45 -0
  1132. package/src/migrations/0086_org_layering.sql +30 -0
  1133. package/src/migrations/0087_approval_summary.sql +6 -0
  1134. package/src/migrations/0088_environments.sql +80 -0
  1135. package/src/migrations/0089_model_kinds_usage.sql +38 -0
  1136. package/src/migrations/0090_initial_passwords.sql +27 -0
  1137. package/src/migrations/0091_account_time_zone.sql +4 -0
  1138. package/src/migrations/0092_tools_default_on.sql +27 -0
  1139. package/src/migrations/0093_connected_environments.sql +37 -0
  1140. package/src/migrations/0094_environment_paths_idx.sql +7 -0
  1141. package/src/migrations/0095_environment_files_resets.sql +5 -0
  1142. package/src/migrations/0096_environment_demoted_default.sql +18 -0
  1143. package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
  1144. package/src/migrations/0098_single_provider_running_first.sql +41 -0
  1145. package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
  1146. package/src/migrations/0100_catalog_files.sql +13 -0
  1147. package/src/migrations/0101_marketplace_icons.sql +32 -0
  1148. package/src/migrations/0102_themes.sql +64 -0
  1149. package/src/migrations/0103_ui_theme_setting.sql +7 -0
  1150. package/dist/catalog/upgrade-targets.d.ts +0 -59
  1151. package/dist/catalog/upgrade-targets.js +0 -90
  1152. package/dist/conversations/sandbox-status.d.ts +0 -21
  1153. package/dist/conversations/sandbox-status.js +0 -24
  1154. package/dist/extensions/org-config.controller.d.ts +0 -24
  1155. package/dist/extensions/org-config.controller.js +0 -59
  1156. package/dist/http/gateway.module.js +0 -13
  1157. package/dist/http/health.controller.d.ts +0 -26
  1158. package/dist/http/health.controller.js +0 -79
  1159. package/dist/http/tokens.d.ts +0 -131
  1160. package/dist/http/tokens.js +0 -131
  1161. package/dist/http/zod.pipe.d.ts +0 -8
  1162. package/dist/http/zod.pipe.js +0 -14
  1163. package/dist/identity/enterprise-admin.d.ts +0 -14
  1164. package/dist/identity/enterprise-admin.js +0 -27
  1165. package/dist/identity/rate-limit.d.ts +0 -55
  1166. package/dist/identity/rate-limit.js +0 -121
  1167. package/dist/sandbox/lifecycle.d.ts +0 -21
  1168. package/dist/sandbox/lifecycle.js +0 -68
  1169. package/dist/tools/builtins/sandbox/names.d.ts +0 -7
  1170. package/dist/tools/builtins/sandbox/names.js +0 -20
@@ -1,14 +1,60 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
8
+ return function (target, key) { decorator(target, key, paramIndex); }
9
+ };
1
10
  import { randomUUID } from "node:crypto";
11
+ import { Inject, Injectable } from "@nestjs/common";
2
12
  import { sql } from "kysely";
3
- import { visibleTo } from "../agents/agents.service.js";
13
+ import { AgentLookup, visibleTo } from "../agents/agent-lookup.js";
14
+ import { BackgroundTaskStopper } from "../background/stop.js";
15
+ import { unbindConversation } from "../channels/threads.js";
16
+ import { ConversationEnvironments, } from "../environments/conversation-environments.js";
4
17
  import { ApiError } from "../errors.js";
5
- import { NO_SELECTION, planSelection, readSelection, sameModel, sameSelection, } from "./selection.js";
6
- const notFound = () => new ApiError("conversation.not_found", "Conversation not found");
18
+ import { KernelDb } from "../infra/database/kernel-db.js";
19
+ import { TransactionHost } from "../infra/database/transaction-host.js";
20
+ import { Transactional } from "../infra/database/transactional.decorator.js";
21
+ import { KERNEL_LOGGER } from "../infra/tokens.js";
22
+ import { ProviderRegistry } from "../runtime/providers.js";
23
+ import { RunControl as RunControlService } from "../runtime/run-control.js";
24
+ import { rootConversationOf } from "../runtime/subagents/child.js";
25
+ import { SkillInvoker } from "../skills/invoke.js";
26
+ import { ConnectorContent } from "../tools/connector-content.js";
27
+ import { ConversationAccess, parentReachable } from "./access.js";
28
+ import { readAgentTree } from "./agent-tree.js";
29
+ import { AttachmentsService } from "./attachments.service.js";
30
+ import { EventLog } from "./event-log.js";
31
+ import { userMessageIdemKey } from "./idem-keys.js";
32
+ import { readMessageContext, } from "./message-context.js";
33
+ import { NO_SELECTION, planSelection, readSelection } from "./selection.js";
34
+ import { conversationTree } from "./tree.js";
35
+ /** Escapes `\`, `%` and `_` so user text is matched literally by `LIKE … ESCAPE '\'`. */
36
+ export function escapeLike(s) {
37
+ return s.replace(/[\\%_]/g, (ch) => `\\${ch}`);
38
+ }
7
39
  /**
8
- * 用户消息的幂等键:客户端的 `clientMessageId` 加前缀,与运行流水线自用的幂等键分开,
9
- * 避免客户端恰好选中内部键而命中别的事件。
40
+ * SQL for the activity of the conversation row aliased/named `ref` (a correlated subquery).
41
+ * A run waiting on its sub-agents (status waiting with `wait_expires_at`, set only for a
42
+ * `subagents` wait) is still working, so it reports `running`; only a wait for a person
43
+ * (approval, input) reports `waiting`.
10
44
  */
11
- export const userMessageIdemKey = (clientMessageId) => `msg:${clientMessageId}`;
45
+ function activitySql(ref) {
46
+ const id = sql.ref(`${ref}.id`);
47
+ return sql `(
48
+ SELECT CASE
49
+ WHEN lr.status IN ('queued', 'running') THEN 'running'
50
+ WHEN lr.status = 'waiting' AND lr.wait_expires_at IS NOT NULL THEN 'running'
51
+ WHEN lr.status = 'waiting' THEN 'waiting' END
52
+ FROM capybara.runs lr WHERE lr.conversation_id = ${id}
53
+ ORDER BY lr.created_at DESC, lr.id DESC LIMIT 1
54
+ )`;
55
+ }
56
+ const notFound = () => new ApiError("conversation.not_found", "Conversation not found");
57
+ export { userMessageIdemKey } from "./idem-keys.js";
12
58
  const COLUMNS = [
13
59
  "id",
14
60
  "org_id",
@@ -22,6 +68,8 @@ const COLUMNS = [
22
68
  "updated_at",
23
69
  "parent_conversation_id",
24
70
  "subagent_type",
71
+ "archived_at",
72
+ "environment_id",
25
73
  ];
26
74
  function toView(r) {
27
75
  return {
@@ -37,29 +85,18 @@ function toView(r) {
37
85
  updatedAt: r.updated_at,
38
86
  parentConversationId: r.parent_conversation_id,
39
87
  subagentType: r.subagent_type,
88
+ archivedAt: r.archived_at,
89
+ environmentId: r.environment_id,
90
+ activity: r.activity ?? null,
40
91
  };
41
92
  }
42
93
  /** The longest conversation title (characters, after trimming). */
43
94
  export const CONVERSATION_TITLE_MAX_CHARS = 120;
44
95
  /**
45
- * A sub-agent's conversation is reached through its parent (sub-agents spec §6.1, review m6, the
46
- * same rule as its trajectory): the parent is a chat conversation of the same owner whose agent is
47
- * not deleted and still visible to the viewer. Any other kind passes. The child's own `agent_id`
48
- * (the dispatched agent for an org agent, §5.5) is checked on top by the callers.
96
+ * How far back a `before` page of events reaches past its `limit` for the start of a turn (history
97
+ * paging spec §2); a longer run starts mid-run.
49
98
  */
50
- const parentReachable = (viewerAccountId) => (eb) => eb.or([
51
- eb("conversations.kind", "<>", "subagent"),
52
- eb.exists(eb
53
- .selectFrom("conversations as p")
54
- .innerJoin("agents", "agents.id", "p.agent_id")
55
- .select(sql `1`.as("one"))
56
- .whereRef("p.id", "=", "conversations.parent_conversation_id")
57
- .whereRef("p.org_id", "=", "conversations.org_id")
58
- .where("p.account_id", "=", viewerAccountId)
59
- .where("p.kind", "=", "chat")
60
- .where("agents.deleted_at", "is", null)
61
- .where(visibleTo(viewerAccountId))),
62
- ]);
99
+ export const EVENTS_TURN_EXTEND = 2000;
63
100
  /** The sums of the `usage` events matching `where` (over `conversation_events e`), one row. */
64
101
  const usageSums = (where) => sql `
65
102
  SELECT
@@ -80,48 +117,76 @@ const toUsage = (r) => ({
80
117
  * 会话:只有所有者可见;每次访问都实时复核 agent 对所有者仍可用(spec 3.6 R5),
81
118
  * 不可用时会话也按不存在处理(`conversation.not_found`)。
82
119
  */
83
- export class ConversationsService {
120
+ let ConversationsService = class ConversationsService {
84
121
  db;
85
122
  eventLog;
86
123
  agents;
124
+ access;
87
125
  runs;
126
+ providers;
88
127
  log;
89
- resolveAttachments;
90
- bindFiles;
91
- models;
128
+ content;
129
+ attachments;
92
130
  invoker;
93
- constructor(db, eventLog, agents, runs, log, resolveAttachments, bindFiles,
131
+ background;
132
+ environments;
133
+ txHost;
134
+ constructor(db, eventLog, agents, access,
135
+ /** Starts and stops the conversation's runs. */
136
+ runs,
94
137
  /** Resolves a switched-to model and its declared parameters (UI refresh B). */
95
- models,
96
- /** Renders a person's skill invocation (phase D); without it `skill` is refused. */
97
- invoker) {
138
+ providers, log,
139
+ /** Reads `@` resources with the sender's credentials. */
140
+ content,
141
+ /** Binds uploaded files to the conversation in the message's transaction. */
142
+ attachments,
143
+ /** Renders a person's skill invocation (phase D). */
144
+ invoker,
145
+ /** Stops a deleted conversation's background tasks. */
146
+ background,
147
+ /** The environment a new conversation is bound to (environments spec §4.1 item 1). */
148
+ environments, txHost) {
98
149
  this.db = db;
99
150
  this.eventLog = eventLog;
100
151
  this.agents = agents;
152
+ this.access = access;
101
153
  this.runs = runs;
154
+ this.providers = providers;
102
155
  this.log = log;
103
- this.resolveAttachments = resolveAttachments;
104
- this.bindFiles = bindFiles;
105
- this.models = models;
156
+ this.content = content;
157
+ this.attachments = attachments;
106
158
  this.invoker = invoker;
159
+ this.background = background;
160
+ this.environments = environments;
161
+ this.txHost = txHost;
107
162
  }
108
163
  /**
109
164
  * 不阻塞地调用一次 `ensureRun`(打开 SSE、读事件时):它幂等,并顺带清理孤儿运行,
110
165
  * 会话不会因为某次运行结束后的投递失败而永远停在「运行中」。失败只记日志。
111
166
  */
112
167
  kickRun(conversationId) {
113
- if (!this.runs)
114
- return;
115
168
  this.runs
116
169
  .ensureRun(conversationId)
117
- .catch((err) => this.log?.warn("ensureRun on conversation open failed", { conversationId, err }));
170
+ .catch((err) => this.log.warn("ensureRun on conversation open failed", { conversationId, err }));
118
171
  }
119
- /** 新建会话;agent 对该账号不可用 → `agent.not_found`。 */
120
- async create(orgId, accountId, agentId) {
172
+ /**
173
+ * Creates an empty conversation bound to its environment (`pick`, see
174
+ * {@link ConversationEnvironments.forNew}); an agent the account cannot use →
175
+ * `agent.not_found`, an environment it may not use → `environment.not_found` /
176
+ * `environment.unavailable`, and nothing is created.
177
+ */
178
+ async create(orgId, accountId, agentId, pick = {}) {
121
179
  await this.agents.get(orgId, agentId, accountId);
180
+ const environmentId = await this.environments.forNew(orgId, accountId, pick);
122
181
  const row = await this.db
123
182
  .insertInto("conversations")
124
- .values({ id: randomUUID(), org_id: orgId, agent_id: agentId, account_id: accountId })
183
+ .values({
184
+ id: randomUUID(),
185
+ org_id: orgId,
186
+ agent_id: agentId,
187
+ account_id: accountId,
188
+ environment_id: environmentId,
189
+ })
125
190
  .returning(COLUMNS)
126
191
  .executeTakeFirstOrThrow();
127
192
  return toView(row);
@@ -132,48 +197,56 @@ export class ConversationsService {
132
197
  * message's `clientMessageId` (`create_request_id`), so a retried send returns the same
133
198
  * conversation and event with `created: false`. An agent the caller cannot use →
134
199
  * `agent.not_found` and nothing is written. Queues a run afterwards, like `postUserMessage`.
200
+ * `events` are every event the create wrote, in seq order from seq 1 (a `model_switched` before
201
+ * the message when the send switched), so a client can seed the new conversation's log whole.
135
202
  */
136
- async createWithMessage(orgId, accountId, agentId, input) {
203
+ async createWithMessage(orgId, accountId, agentId, input, pick = {}) {
137
204
  const agent = await this.agents.get(orgId, agentId, accountId);
138
205
  const prior = await this.findCreated(orgId, accountId, agentId, input.clientMessageId);
139
206
  if (prior)
140
207
  return prior;
141
- this.checkFilesSupported(input);
142
- const next = await this.planSwitch(agent.definition, NO_SELECTION, input);
208
+ const environmentId = await this.environments.forNew(orgId, accountId, pick);
209
+ const next = await this.planSwitch(orgId, agent.definition, NO_SELECTION, input);
143
210
  const extra = await this.resolveExtra(orgId, accountId, input);
144
211
  const invoked = await this.prepareSkill(orgId, agentId, undefined, agent.definition, input);
145
212
  const id = randomUUID();
146
- const written = await this.db.transaction().execute(async (t) => {
147
- const row = await t
148
- .insertInto("conversations")
149
- .values({
150
- id,
151
- org_id: orgId,
152
- agent_id: agentId,
153
- account_id: accountId,
154
- create_request_id: input.clientMessageId,
155
- })
156
- .onConflict((oc) => oc
157
- .columns(["org_id", "account_id", "create_request_id"])
158
- .where("create_request_id", "is not", null)
159
- .doNothing())
160
- .returning("id")
161
- .executeTakeFirst();
162
- // a concurrent retry committed first: answer with its conversation below
163
- if (!row)
164
- return undefined;
165
- const blocks = await this.bindIn(t, orgId, id, accountId, input.files ?? []);
166
- return this.writeMessage(t, id, accountId, input, next, extra, blocks, invoked);
167
- });
168
- if (!written) {
213
+ const all = await this.createIn({ id, orgId, accountId, agentId, environmentId }, input, next, extra, invoked);
214
+ const written = all?.at(-1);
215
+ if (!all || !written) {
169
216
  const raced = await this.findCreated(orgId, accountId, agentId, input.clientMessageId);
170
217
  if (!raced)
171
218
  throw new ApiError("conflict", "The conversation is being created; retry");
172
219
  return raced;
173
220
  }
174
221
  await this.eventLog.notify(id, written.seq);
175
- await this.runs?.ensureRun(id);
176
- return { conversation: await this.rowView(id), event: written, created: true };
222
+ await this.runs.ensureRun(id);
223
+ return { conversation: await this.rowView(id), event: written, events: all, created: true };
224
+ }
225
+ /** The conversation row and its first message (undefined: a concurrent retry committed first). */
226
+ // its own transaction: the caller notifies and publishes after the commit
227
+ async createIn(conv, input, next, extra, invoked) {
228
+ const { id, orgId, accountId } = conv;
229
+ const row = await this.db
230
+ .insertInto("conversations")
231
+ .values({
232
+ id,
233
+ org_id: orgId,
234
+ agent_id: conv.agentId,
235
+ account_id: accountId,
236
+ environment_id: conv.environmentId,
237
+ create_request_id: input.clientMessageId,
238
+ })
239
+ .onConflict((oc) => oc
240
+ .columns(["org_id", "account_id", "create_request_id"])
241
+ .where("create_request_id", "is not", null)
242
+ .doNothing())
243
+ .returning("id")
244
+ .executeTakeFirst();
245
+ // a concurrent retry committed first: answer with its conversation below
246
+ if (!row)
247
+ return undefined;
248
+ const blocks = await this.bindIn(orgId, id, accountId, input.files ?? []);
249
+ return this.writeMessage(orgId, id, accountId, input, next, extra, blocks, invoked);
177
250
  }
178
251
  /**
179
252
  * The conversation (and its first event) an earlier first send with this id created. The id used
@@ -197,8 +270,10 @@ export class ConversationsService {
197
270
  const event = await this.eventLog.findByIdem(row.id, userMessageIdemKey(clientMessageId));
198
271
  if (!event)
199
272
  return null;
200
- await this.runs?.ensureRun(row.id);
201
- return { conversation: toView(row), event, created: false };
273
+ // what the first send wrote: the log from its start up to the message
274
+ const events = (await this.eventLog.readAfter(row.id, 0, event.seq)).filter((e) => e.seq <= event.seq);
275
+ await this.runs.ensureRun(row.id);
276
+ return { conversation: toView(row), event, events, created: false };
202
277
  }
203
278
  async rowView(id) {
204
279
  return toView(await this.db
@@ -222,6 +297,65 @@ export class ConversationsService {
222
297
  await this.eventLog.publishChanged(conversationId, "title");
223
298
  return toView(row);
224
299
  }
300
+ /**
301
+ * Archives or unarchives a conversation (owner only, as {@link rename}). An archived
302
+ * conversation leaves the default lists but stays readable. Publishes `changed: archived`.
303
+ */
304
+ async setArchived(orgId, conversationId, accountId, archived) {
305
+ await this.writable(orgId, conversationId, accountId);
306
+ const row = await this.db
307
+ .updateTable("conversations")
308
+ .set({ archived_at: archived ? sql `now()` : null })
309
+ .where("id", "=", conversationId)
310
+ .returning(COLUMNS)
311
+ .executeTakeFirstOrThrow();
312
+ await this.eventLog.publishChanged(conversationId, "archived");
313
+ return toView(row);
314
+ }
315
+ /**
316
+ * Soft-deletes a conversation (owner only; a sub-agent's conversation is `conversation.read_only`):
317
+ * stops an active run, hides the conversation everywhere for its owner and drops its channel
318
+ * bindings, stops every running background task in its sandbox (its sub-agents' too; outside
319
+ * the delete's transaction, a task whose sandbox cannot be reached ends `lost` with
320
+ * `kill_pending`), then every active run of its sub-agent tree (agent map spec §10). The tasks
321
+ * are stopped after the conversation is marked deleted, so no finish
322
+ * (the stops' own, or one the poller writes meanwhile) can wake a run on it: `ensureRun` refuses a
323
+ * deleted conversation (the stops' finishes carry `stoppedBy: "deletion"` as well). The event
324
+ * log, runs and trajectory stay (super admins still see them).
325
+ */
326
+ async remove(orgId, conversationId, accountId) {
327
+ await this.writable(orgId, conversationId, accountId);
328
+ try {
329
+ await this.abort(orgId, conversationId, accountId);
330
+ }
331
+ catch (e) {
332
+ if (!(e instanceof ApiError && e.code === "run.not_active"))
333
+ throw e;
334
+ }
335
+ await this.markDeleted(conversationId);
336
+ // after the mark, so no finish or delivery of the stops below can start a run on the deleted
337
+ // root (`ensureRun` refuses it). The sandbox's tasks stop first, so the sub-agents' tasks end
338
+ // as a deletion; the tree stop then only stops a task a sub-agent started in between
339
+ // (`stoppedBy: "subagent_end"`, which never wakes either)
340
+ await this.background.stopForDeletedConversation(conversationId);
341
+ // the whole tree stops (agent map spec §10)
342
+ await this.runs.stopTree(conversationId, accountId, { includeSelf: false });
343
+ await this.eventLog.publishChanged(conversationId, "deleted");
344
+ }
345
+ // the publish happens after the commit, in the caller
346
+ async markDeleted(conversationId) {
347
+ await this.db
348
+ .updateTable("conversations")
349
+ .set({ deleted_at: sql `now()` })
350
+ .where("id", "=", conversationId)
351
+ .execute();
352
+ // Queued messages must not start a run on a deleted conversation
353
+ await this.db
354
+ .deleteFrom("conversation_queue")
355
+ .where("conversation_id", "=", conversationId)
356
+ .execute();
357
+ await unbindConversation(this.db.db, conversationId);
358
+ }
225
359
  /** 读会话:非所有者、或 agent 已对所有者不可用 → `conversation.not_found`。 */
226
360
  async get(orgId, conversationId, viewerAccountId) {
227
361
  const { kind: _kind, ...row } = await this.readable(orgId, conversationId, viewerAccountId);
@@ -246,6 +380,7 @@ export class ConversationsService {
246
380
  .where("id", "=", conversationId)
247
381
  .where("org_id", "=", orgId)
248
382
  .where("account_id", "=", viewerAccountId)
383
+ .where("deleted_at", "is", null)
249
384
  // Hidden eval replay conversations (kind 'eval') are not reachable here (only the trajectory
250
385
  // viewer shows them); a sub-agent's conversation is, for its owner (sub-agents spec §6.1)
251
386
  .where("kind", "in", ["chat", "subagent"])
@@ -263,35 +398,9 @@ export class ConversationsService {
263
398
  }
264
399
  return row;
265
400
  }
266
- /**
267
- * 轻量的可见性判定(一条查询,不加载 agent 视图),供长连接(SSE)建立时与定期复核用:
268
- * 会话属于该组织且归 viewer 所有、viewer 账号仍为 active、agent 未删除且对 viewer 仍可见
269
- * (`visibleTo` 已含「组织未删除、viewer 仍是成员」)。
270
- */
271
- async isAccessible(orgId, conversationId, viewerAccountId) {
272
- const row = await this.db
273
- .selectFrom("conversations")
274
- .select("conversations.id")
275
- .where("conversations.id", "=", conversationId)
276
- .where("conversations.org_id", "=", orgId)
277
- .where("conversations.account_id", "=", viewerAccountId)
278
- .where("conversations.kind", "in", ["chat", "subagent"])
279
- .where(parentReachable(viewerAccountId))
280
- .where((eb) => eb.and([
281
- eb.exists(eb
282
- .selectFrom("accounts")
283
- .select(sql `1`.as("one"))
284
- .where("accounts.id", "=", viewerAccountId)
285
- .where("accounts.status", "=", "active")),
286
- eb.exists(eb
287
- .selectFrom("agents")
288
- .select(sql `1`.as("one"))
289
- .whereRef("agents.id", "=", "conversations.agent_id")
290
- .where("agents.deleted_at", "is", null)
291
- .where(visibleTo(viewerAccountId))),
292
- ]))
293
- .executeTakeFirst();
294
- return row !== undefined;
401
+ /** The stream's visibility check ({@link ConversationAccess.isAccessible}). */
402
+ isAccessible(orgId, conversationId, viewerAccountId) {
403
+ return this.access.isAccessible(orgId, conversationId, viewerAccountId);
295
404
  }
296
405
  /**
297
406
  * 我的会话,最近更新的在前;只含 agent 仍可用的会话。`after` 为上一页最后一个会话的 id,
@@ -301,10 +410,13 @@ export class ConversationsService {
301
410
  let q = this.db
302
411
  .selectFrom("conversations")
303
412
  .select(COLUMNS)
413
+ .select(activitySql("conversations").as("activity"))
304
414
  .where("org_id", "=", orgId)
305
415
  .where("account_id", "=", accountId)
306
416
  // 评测回放的隐藏对话(kind = 'eval')不在「我的对话」里
307
417
  .where("kind", "=", "chat")
418
+ .where("deleted_at", "is", null)
419
+ .where("archived_at", opts.archived === true ? "is not" : "is", null)
308
420
  .where((eb) => eb.exists(eb
309
421
  .selectFrom("agents")
310
422
  .select(sql `1`.as("one"))
@@ -316,6 +428,12 @@ export class ConversationsService {
316
428
  .limit(opts.limit);
317
429
  if (opts.agentId !== undefined)
318
430
  q = q.where("agent_id", "=", opts.agentId);
431
+ if (opts.q !== undefined) {
432
+ q = q.where(sql `conversations.title ILIKE ${`%${escapeLike(opts.q)}%`} ESCAPE '\\'`);
433
+ }
434
+ if (opts.state !== undefined) {
435
+ q = q.where(sql `${activitySql("conversations")} = ${opts.state}`);
436
+ }
319
437
  if (opts.after !== undefined) {
320
438
  const after = opts.after;
321
439
  q = q.where((eb) => sql `(${eb.ref("updated_at")}, ${eb.ref("id")}) < (
@@ -339,6 +457,11 @@ export class ConversationsService {
339
457
  .where("agents.org_id", "=", orgId)
340
458
  .where("agents.deleted_at", "is", null)
341
459
  .where(visibleTo(accountId));
460
+ const archivedFilter = opts.archived === true ? sql `c.archived_at IS NOT NULL` : sql `c.archived_at IS NULL`;
461
+ const searchFilter = opts.q === undefined
462
+ ? sql ``
463
+ : sql `AND c.title ILIKE ${`%${escapeLike(opts.q)}%`} ESCAPE '\\'`;
464
+ const stateFilter = opts.state === undefined ? sql `` : sql `AND ${activitySql("c")} = ${opts.state}`;
342
465
  const cursor = opts.after === undefined
343
466
  ? sql ``
344
467
  : sql `WHERE (g.latest_at, g.agent_id) < (
@@ -349,6 +472,7 @@ export class ConversationsService {
349
472
  SELECT c.agent_id, max(c.updated_at) AS latest_at
350
473
  FROM capybara.conversations c
351
474
  WHERE c.org_id = ${orgId} AND c.account_id = ${accountId} AND c.kind = 'chat'
475
+ AND c.deleted_at IS NULL AND ${archivedFilter} ${searchFilter} ${stateFilter}
352
476
  AND c.agent_id IN ${visibleAgents}
353
477
  GROUP BY c.agent_id
354
478
  ), page AS (
@@ -359,21 +483,24 @@ export class ConversationsService {
359
483
  )
360
484
  SELECT page.agent_id, page.latest_at, v.definition ->> 'name' AS agent_name,
361
485
  cs.id, cs.org_id, cs.account_id, cs.title, cs.title_source, cs.selection, cs.last_seq,
362
- cs.created_at, cs.updated_at, cs.parent_conversation_id, cs.subagent_type
486
+ cs.created_at, cs.updated_at, cs.parent_conversation_id, cs.subagent_type,
487
+ cs.archived_at, cs.environment_id, cs.activity
363
488
  FROM page
364
489
  JOIN capybara.agents a ON a.id = page.agent_id
365
490
  JOIN capybara.agent_versions v ON v.agent_id = a.id AND v.version = a.current_version
366
491
  CROSS JOIN LATERAL (
367
492
  SELECT c.id, c.org_id, c.account_id, c.title, c.title_source, c.selection, c.last_seq,
368
- c.created_at, c.updated_at, c.parent_conversation_id, c.subagent_type
493
+ c.created_at, c.updated_at, c.parent_conversation_id, c.subagent_type,
494
+ c.archived_at, c.environment_id, ${activitySql("c")} AS activity
369
495
  FROM capybara.conversations c
370
496
  WHERE c.org_id = ${orgId} AND c.account_id = ${accountId} AND c.kind = 'chat'
497
+ AND c.deleted_at IS NULL AND ${archivedFilter} ${searchFilter} ${stateFilter}
371
498
  AND c.agent_id = page.agent_id
372
499
  ORDER BY c.updated_at DESC, c.id DESC
373
500
  LIMIT ${opts.perGroup + 1}
374
501
  ) cs
375
502
  ORDER BY page.latest_at DESC, page.agent_id DESC, cs.updated_at DESC, cs.id DESC
376
- `.execute(this.db);
503
+ `.execute(this.db.db);
377
504
  const groups = [];
378
505
  let current;
379
506
  for (const r of rows) {
@@ -394,7 +521,14 @@ export class ConversationsService {
394
521
  }
395
522
  const page = groups.slice(0, opts.limit);
396
523
  const next = groups.length > opts.limit ? (page.at(-1)?.agent.id ?? null) : null;
397
- return { groups: page, next };
524
+ // The archived entry's count ignores `q` and `state`
525
+ const counted = await sql `
526
+ SELECT count(*) AS n FROM capybara.conversations c
527
+ WHERE c.org_id = ${orgId} AND c.account_id = ${accountId} AND c.kind = 'chat'
528
+ AND c.deleted_at IS NULL AND c.archived_at IS NOT NULL
529
+ AND c.agent_id IN ${visibleAgents}
530
+ `.execute(this.db.db);
531
+ return { groups: page, next, archivedCount: Number(counted.rows[0]?.n ?? 0) };
398
532
  }
399
533
  /**
400
534
  * The sub-agents of a conversation, newest first (sub-agents spec §14.3); owner only, as
@@ -459,7 +593,7 @@ export class ConversationsService {
459
593
  CROSS JOIN LATERAL (${usageSums(sql `e.conversation_id = c.id`)}) u
460
594
  LEFT JOIN described d ON d.id = c.id
461
595
  ORDER BY c.created_at DESC, c.id DESC
462
- `.execute(this.db);
596
+ `.execute(this.db.db);
463
597
  const subagents = rows.slice(0, opts.limit).map((r) => ({
464
598
  id: r.id,
465
599
  agentType: r.subagent_type ?? "",
@@ -476,26 +610,38 @@ export class ConversationsService {
476
610
  return { subagents, next };
477
611
  }
478
612
  /**
479
- * A conversation's token usage: its own `usage` events (compaction included) plus those of its
480
- * sub-agents (sub-agents spec §8.3), whose logs keep their own. Owner only, as {@link get}.
613
+ * The agent tree of a root conversation (agent map spec §8, §9.2): the root and every sub-agent
614
+ * below it with status, model, time, tokens and tool calls. Owner only, as {@link isAccessible};
615
+ * a sub-agent's id (not a root) is `conversation.not_found` too.
616
+ */
617
+ async agentTree(orgId, conversationId, viewerAccountId) {
618
+ if (!(await this.isAccessible(orgId, conversationId, viewerAccountId)))
619
+ throw notFound();
620
+ const root = await readAgentTree(this.db.db, orgId, conversationId);
621
+ if (!root)
622
+ throw notFound();
623
+ return { root };
624
+ }
625
+ /**
626
+ * A conversation's token usage: its own `usage` events (compaction included) plus those of every
627
+ * sub-agent below it, at any depth (sub-agents spec §8.3, agent map spec §6: every descendant
628
+ * counts toward the root; `conversationTree`), whose logs keep their own. Owner only, as
629
+ * {@link get}.
481
630
  */
482
631
  async usage(orgId, conversationId, viewerAccountId) {
483
632
  if (!(await this.isAccessible(orgId, conversationId, viewerAccountId)))
484
633
  throw notFound();
485
- const { rows } = await sql `${usageSums(sql `e.conversation_id IN (
486
- SELECT ${conversationId}::text
487
- UNION ALL
488
- SELECT c.id FROM capybara.conversations c
489
- WHERE c.parent_conversation_id = ${conversationId} AND c.kind = 'subagent'
490
- )`)}`.execute(this.db);
634
+ const ids = (await conversationTree(this.db.db, conversationId)).map((c) => c.id);
635
+ const { rows } = await sql `${usageSums(sql `e.conversation_id IN (${sql.join(ids.length > 0 ? ids : [conversationId])})`)}`.execute(this.db.db);
491
636
  const row = rows[0];
492
637
  return row
493
638
  ? toUsage(row)
494
639
  : { inputTokens: 0, outputTokens: 0, cacheReadTokens: 0, cacheWriteTokens: 0 };
495
640
  }
496
641
  /**
497
- * The conversation whose sandbox `conversationId` works in: a sub-agent's is its parent's
498
- * (sub-agents spec §10.1), any other its own. Call only after an access check.
642
+ * The conversation whose sandbox `conversationId` works in: a sub-agent's is its root
643
+ * conversation's at any depth (sub-agents spec §10.1, agent map spec §6), any other its own. Call
644
+ * only after an access check.
499
645
  */
500
646
  async sandboxConversationOf(orgId, conversationId) {
501
647
  const row = await this.db
@@ -504,7 +650,9 @@ export class ConversationsService {
504
650
  .where("id", "=", conversationId)
505
651
  .where("org_id", "=", orgId)
506
652
  .executeTakeFirst();
507
- return row?.parent_conversation_id ?? conversationId;
653
+ if (!row?.parent_conversation_id)
654
+ return conversationId;
655
+ return rootConversationOf(this.db.db, row.parent_conversation_id);
508
656
  }
509
657
  /** 读事件(先做 `get` 的可见性判定);顺带不阻塞地 {@link kickRun}。 */
510
658
  async listEvents(orgId, conversationId, viewerAccountId, afterSeq, limit) {
@@ -512,6 +660,16 @@ export class ConversationsService {
512
660
  this.kickRun(conversationId);
513
661
  return this.eventLog.readAfter(conversationId, afterSeq, limit);
514
662
  }
663
+ /**
664
+ * The turn-aligned page of events before `beforeSeq` (`null`: the log's last page), with how
665
+ * many runs started before it ({@link EventLog.readTurnPageBefore}; history paging spec §2).
666
+ * Visibility as {@link get}; kicks a stalled run as {@link listEvents} does.
667
+ */
668
+ async listEventsBefore(orgId, conversationId, viewerAccountId, beforeSeq, limit) {
669
+ await this.get(orgId, conversationId, viewerAccountId);
670
+ this.kickRun(conversationId);
671
+ return this.eventLog.readTurnPageBefore(conversationId, beforeSeq, limit, EVENTS_TURN_EXTEND);
672
+ }
515
673
  /**
516
674
  * 追加一条用户消息;带 `clientMessageId` 时重复提交返回同一事件。写入后调用 `ensureRun`:
517
675
  * 没有进行中的运行时投递一轮;运行中则由当前运行在步骤间隙吸收,或在它结束时再次 `ensureRun`。
@@ -529,13 +687,12 @@ export class ConversationsService {
529
687
  const conv = await this.writable(orgId, conversationId, accountId);
530
688
  const refs = input.attachments ?? [];
531
689
  const files = input.files ?? [];
532
- this.checkFilesSupported(input);
533
690
  // A retry returns the written event (no resource read, no file check, no skill resolution)
534
691
  if ((refs.length > 0 || files.length > 0 || input.skill !== undefined) &&
535
692
  input.clientMessageId !== undefined) {
536
693
  const existing = await this.eventLog.findByIdem(conversationId, userMessageIdemKey(input.clientMessageId));
537
694
  if (existing) {
538
- await this.runs?.ensureRun(conversationId);
695
+ await this.runs.ensureRun(conversationId);
539
696
  return existing;
540
697
  }
541
698
  }
@@ -545,48 +702,54 @@ export class ConversationsService {
545
702
  : undefined;
546
703
  const next = agent === undefined || (input.model === undefined && input.effort === undefined)
547
704
  ? null
548
- : await this.planSwitch(agent, conv.selection, input);
705
+ : await this.planSwitch(orgId, agent, conv.selection, input);
549
706
  const extra = await this.resolveExtra(orgId, accountId, input);
550
707
  const invoked = agent === undefined
551
708
  ? undefined
552
709
  : await this.prepareSkill(orgId, conv.agentId, conversationId, agent, input);
553
- let event;
554
- if (files.length > 0 || next !== null) {
555
- event = await this.db.transaction().execute(async (t) => {
556
- const blocks = await this.bindIn(t, orgId, conversationId, accountId, files);
557
- return this.writeMessage(t, conversationId, accountId, input, next, extra, blocks, invoked);
558
- });
559
- await this.eventLog.notify(conversationId, event.seq);
560
- if (next !== null)
561
- await this.eventLog.publishChanged(conversationId, "selection");
562
- }
563
- else {
564
- [event] = await this.eventLog.append(conversationId, [
565
- this.userMessage(accountId, input, extra, [], invoked),
566
- ]);
710
+ // one transaction: the sender, time zone and language are read with the message's write
711
+ // (run context spec §3.2)
712
+ const event = await this.postIn(orgId, conversationId, accountId, input, next, extra, invoked);
713
+ await this.eventLog.notify(conversationId, event.seq);
714
+ if (next !== null)
715
+ await this.eventLog.publishChanged(conversationId, "selection");
716
+ // The message is written: it brings an archived conversation back into the default lists
717
+ if (conv.archivedAt !== null) {
718
+ await this.db
719
+ .updateTable("conversations")
720
+ .set({ archived_at: null })
721
+ .where("id", "=", conversationId)
722
+ .execute();
723
+ await this.eventLog.publishChanged(conversationId, "archived");
567
724
  }
568
- await this.runs?.ensureRun(conversationId);
725
+ await this.runs.ensureRun(conversationId);
569
726
  return event;
570
727
  }
728
+ /**
729
+ * Writes a message in one transaction: binds its files, reads its sender context and appends it
730
+ * (after its `model_switched` when it switches).
731
+ */
732
+ // its own transaction: the caller notifies and publishes after the commit
733
+ async postIn(orgId, conversationId, accountId, input, next, extra, invoked) {
734
+ const blocks = await this.bindIn(orgId, conversationId, accountId, input.files ?? []);
735
+ const written = await this.writeMessage(orgId, conversationId, accountId, input, next, extra, blocks, invoked);
736
+ return written.at(-1);
737
+ }
571
738
  /**
572
739
  * The selection a message switches to, or null when it changes nothing. A model equal to the
573
740
  * agent's means "back to the agent's model" (null); a model change without `effort` resets the
574
741
  * effort. The target model must resolve (`agent.model_unavailable`) and declare the effort
575
- * (`validation_failed`). Resolving is the agent editor's check: providers are deployment-scoped
576
- * and serve chat models only. If per-org provider enablement is added, this check and the run
577
- * worker's `fallBackIfUnavailable` must follow it.
742
+ * (`validation_failed`). Resolving is the agent editor's check, for the org (its effective
743
+ * provider config, spec B §5.5) and its disabled lists: a model the platform or the org disabled,
744
+ * or a non-chat model, is refused (spec B §5.3), as the run worker's `fallBackIfUnavailable` falls
745
+ * back from it.
578
746
  */
579
- async planSwitch(agent, current, input) {
747
+ async planSwitch(orgId, agent, current, input) {
580
748
  const next = planSelection(agent.model, current, input);
581
749
  if (next === null)
582
750
  return null;
583
751
  const { model, effort } = next;
584
- if (!this.models) {
585
- throw new ApiError("validation_failed", "Request validation failed", [
586
- { path: "model", message: "Model switching is not supported" },
587
- ]);
588
- }
589
- const { info } = await this.models.resolve(model ?? agent.model);
752
+ const { info } = await this.providers.resolve(orgId, model ?? agent.model);
590
753
  if (effort !== null) {
591
754
  const knob = info.parameters.find((p) => p.key === "effort");
592
755
  const values = knob?.schema?.enum ?? [];
@@ -607,13 +770,14 @@ export class ConversationsService {
607
770
  if (pick.model === undefined && pick.effort === undefined)
608
771
  return;
609
772
  const agent = await this.agents.get(orgId, conv.agentId, accountId);
610
- await this.planSwitch(agent.definition, conv.selection, pick);
773
+ await this.planSwitch(orgId, agent.definition, conv.selection, pick);
611
774
  }
612
775
  /**
613
776
  * Writes the message (preceded by its `model_switched` when it switches) inside `t` and updates
614
- * `conversations.selection`; returns the `user_message` event. The caller notifies after commit.
777
+ * `conversations.selection`; returns the events written, in seq order (the `user_message`
778
+ * last). The caller notifies after commit.
615
779
  */
616
- async writeMessage(t, conversationId, accountId, input, next, extra, blocks, invoked) {
780
+ async writeMessage(orgId, conversationId, accountId, input, next, extra, blocks, invoked) {
617
781
  const events = [];
618
782
  if (next !== null) {
619
783
  events.push({
@@ -624,9 +788,17 @@ export class ConversationsService {
624
788
  payload: { ...next, byAccountId: accountId, reason: "user" },
625
789
  });
626
790
  }
627
- events.push(this.userMessage(accountId, input, extra, blocks, invoked));
628
- const written = await this.eventLog.append(conversationId, events, t);
791
+ const context = await readMessageContext(this.db.db, {
792
+ orgId,
793
+ accountId,
794
+ senderName: input.senderName,
795
+ browser: { timeZone: input.timeZone, locale: input.locale },
796
+ im: input.im,
797
+ });
798
+ events.push(this.userMessage(accountId, input, extra, blocks, invoked, context));
799
+ const written = await this.eventLog.appendIn(conversationId, events);
629
800
  if (next !== null) {
801
+ const t = this.db.db;
630
802
  // the cache follows the log (a retried message's switch may be an old, deduped event that a
631
803
  // later switch already replaced), read under the row lock append took
632
804
  await t
@@ -635,7 +807,7 @@ export class ConversationsService {
635
807
  .where("id", "=", conversationId)
636
808
  .execute();
637
809
  }
638
- return written.at(-1);
810
+ return written;
639
811
  }
640
812
  /**
641
813
  * Renders the message's skill invocation (phase D), or undefined when it has none. Resolved
@@ -644,11 +816,6 @@ export class ConversationsService {
644
816
  async prepareSkill(orgId, agentId, conversationId, agent, input) {
645
817
  if (input.skill === undefined)
646
818
  return undefined;
647
- if (!this.invoker) {
648
- throw new ApiError("validation_failed", "Request validation failed", [
649
- { path: "skill", message: "Skill invocation is not supported" },
650
- ]);
651
- }
652
819
  return this.invoker.prepare({
653
820
  orgId,
654
821
  agentId,
@@ -669,14 +836,6 @@ export class ConversationsService {
669
836
  const agent = await this.agents.get(orgId, conv.agentId, accountId);
670
837
  return this.prepareSkill(orgId, conv.agentId, conv.id, agent.definition, input);
671
838
  }
672
- /** `files` need the attachments service (shared with the queue). */
673
- checkFilesSupported(input) {
674
- if ((input.files?.length ?? 0) > 0 && !this.bindFiles) {
675
- throw new ApiError("validation_failed", "Request validation failed", [
676
- { path: "files", message: "Files are not supported" },
677
- ]);
678
- }
679
- }
680
839
  /**
681
840
  * Reads the `@` resources with the sender's credentials (nothing when there are none). Shared
682
841
  * with the queue, which reads them when a message is queued (decision 15).
@@ -685,20 +844,15 @@ export class ConversationsService {
685
844
  const refs = input.attachments ?? [];
686
845
  if (refs.length === 0)
687
846
  return { blocks: [], attachments: [] };
688
- if (!this.resolveAttachments) {
689
- throw new ApiError("validation_failed", "Request validation failed", [
690
- { path: "attachments", message: "Attachments are not supported" },
691
- ]);
692
- }
693
- return this.resolveAttachments(orgId, accountId, refs);
847
+ return this.content.resolveAttachments(orgId, accountId, refs);
694
848
  }
695
849
  /** Binds uploaded files inside the message's (or queue item's) transaction; none → no blocks. */
696
- async bindIn(t, orgId, conversationId, accountId, files) {
697
- if (files.length === 0 || !this.bindFiles)
850
+ async bindIn(orgId, conversationId, accountId, files) {
851
+ if (files.length === 0)
698
852
  return [];
699
- return this.bindFiles(t, orgId, conversationId, accountId, files);
853
+ return this.attachments.bindForMessage(orgId, conversationId, accountId, files);
700
854
  }
701
- userMessage(accountId, input, extra, fileBlocks, invoked) {
855
+ userMessage(accountId, input, extra, fileBlocks, invoked, context) {
702
856
  // a skill invocation's rendered text replaces the typed arguments as content[0]
703
857
  const text = invoked?.text ?? input.text;
704
858
  return {
@@ -715,6 +869,7 @@ export class ConversationsService {
715
869
  ],
716
870
  ...(extra.attachments.length > 0 && { attachments: extra.attachments }),
717
871
  authorAccountId: accountId,
872
+ ...context,
718
873
  ...(input.clientMessageId !== undefined && { clientMessageId: input.clientMessageId }),
719
874
  ...(input.retryOf !== undefined && { retryOf: input.retryOf }),
720
875
  ...(invoked !== undefined && { skill: invoked.skill }),
@@ -725,9 +880,26 @@ export class ConversationsService {
725
880
  * 中止会话当前的运行(queued / running / waiting):返回 runId;没有 → `run.not_active`。
726
881
  * 等人处理的运行没有 worker:直接取消等待并写终态。其余经 Redis 广播,运行所在的任意副本都会收到;
727
882
  * 运行已是孤儿(没有任何 worker 在执行)时直接写终态。
883
+ *
884
+ * A root conversation's stop stops only its own run: its background sub-agents keep working
885
+ * (agent map spec §6). A sub-agent's conversation (its owner, from the agent map) stops that
886
+ * sub-agent with every descendant (`RunControl.stopTree`); `run.not_active` when nothing in that
887
+ * subtree runs, else the sub-agent's latest run id.
728
888
  */
729
889
  async abort(orgId, conversationId, accountId) {
730
- await this.get(orgId, conversationId, accountId);
890
+ const conv = await this.get(orgId, conversationId, accountId);
891
+ if (conv.parentConversationId !== null) {
892
+ const latest = await this.db
893
+ .selectFrom("runs")
894
+ .select("id")
895
+ .where("conversation_id", "=", conversationId)
896
+ .orderBy("created_at", "desc")
897
+ .executeTakeFirst();
898
+ const n = await this.runs.stopTree(conversationId, accountId);
899
+ if (n === 0 || !latest)
900
+ throw new ApiError("run.not_active", "No active run to abort");
901
+ return latest.id;
902
+ }
731
903
  const run = await this.db
732
904
  .selectFrom("runs")
733
905
  .select(["id", "status"])
@@ -735,20 +907,52 @@ export class ConversationsService {
735
907
  .where("status", "in", ["queued", "running", "waiting"])
736
908
  .orderBy("created_at", "desc")
737
909
  .executeTakeFirst();
738
- if (!run || !this.runs)
910
+ if (!run)
739
911
  throw new ApiError("run.not_active", "No active run to abort");
912
+ const runs = this.runs;
740
913
  // 等待中:直接结束;没成功(刚被续跑、已回到 queued)则按下面的常规路径中止。
741
- if (run.status === "waiting" &&
742
- (await this.runs.abortWaiting(conversationId, run.id, accountId))) {
914
+ if (run.status === "waiting" && (await runs.abortWaiting(conversationId, run.id, accountId))) {
743
915
  this.kickRun(conversationId);
744
916
  return run.id;
745
917
  }
746
918
  // 孤儿运行没有 worker 在听中止广播:直接写成 aborted,之后再看有没有等待中的消息要起新一轮。
747
- if (await this.runs.abortIfOrphaned(conversationId, run.id, accountId)) {
919
+ if (await runs.abortIfOrphaned(conversationId, run.id, accountId)) {
748
920
  this.kickRun(conversationId);
749
921
  return run.id;
750
922
  }
751
- await this.runs.requestAbort(run.id, accountId);
923
+ await runs.requestAbort(run.id, accountId);
752
924
  return run.id;
753
925
  }
754
- }
926
+ };
927
+ __decorate([
928
+ Transactional({ propagation: "requires_new" })
929
+ ], ConversationsService.prototype, "createIn", null);
930
+ __decorate([
931
+ Transactional()
932
+ ], ConversationsService.prototype, "markDeleted", null);
933
+ __decorate([
934
+ Transactional({ propagation: "requires_new" })
935
+ ], ConversationsService.prototype, "postIn", null);
936
+ __decorate([
937
+ Transactional({ propagation: "mandatory" })
938
+ ], ConversationsService.prototype, "writeMessage", null);
939
+ __decorate([
940
+ Transactional({ propagation: "mandatory" })
941
+ ], ConversationsService.prototype, "bindIn", null);
942
+ ConversationsService = __decorate([
943
+ Injectable(),
944
+ __param(0, Inject(KernelDb)),
945
+ __param(1, Inject(EventLog)),
946
+ __param(2, Inject(AgentLookup)),
947
+ __param(3, Inject(ConversationAccess)),
948
+ __param(4, Inject(RunControlService)),
949
+ __param(5, Inject(ProviderRegistry)),
950
+ __param(6, Inject(KERNEL_LOGGER)),
951
+ __param(7, Inject(ConnectorContent)),
952
+ __param(8, Inject(AttachmentsService)),
953
+ __param(9, Inject(SkillInvoker)),
954
+ __param(10, Inject(BackgroundTaskStopper)),
955
+ __param(11, Inject(ConversationEnvironments)),
956
+ __param(12, Inject(TransactionHost))
957
+ ], ConversationsService);
958
+ export { ConversationsService };