@capybara-hq/kernel 0.1.0-rc.2 → 0.1.0-rc.20

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 (1039) hide show
  1. package/bootstrap.json +85 -5
  2. package/dist/admin/admin-agents.controller.d.ts +28 -0
  3. package/dist/admin/admin-agents.controller.js +79 -0
  4. package/dist/admin/admin-connectors.controller.d.ts +29 -0
  5. package/dist/admin/admin-connectors.controller.js +79 -0
  6. package/dist/admin/admin-items.schemas.d.ts +42 -0
  7. package/dist/admin/admin-items.schemas.js +48 -0
  8. package/dist/admin/admin.controller.d.ts +52 -80
  9. package/dist/admin/admin.controller.js +112 -81
  10. package/dist/admin/admin.module.d.ts +4 -1
  11. package/dist/admin/admin.module.js +50 -4
  12. package/dist/admin/admin.schemas.d.ts +69 -0
  13. package/dist/admin/admin.schemas.js +53 -0
  14. package/dist/admin/audit.controller.d.ts +14 -0
  15. package/dist/admin/audit.controller.js +42 -0
  16. package/dist/admin/audit.schemas.d.ts +8 -0
  17. package/dist/admin/audit.schemas.js +17 -0
  18. package/dist/admin/extensions.controller.d.ts +34 -3
  19. package/dist/admin/extensions.controller.js +66 -8
  20. package/dist/admin/extensions.schemas.d.ts +7 -0
  21. package/dist/admin/extensions.schemas.js +10 -0
  22. package/dist/admin/health.service.d.ts +104 -0
  23. package/dist/admin/health.service.js +246 -0
  24. package/dist/admin/limit-defaults.d.ts +20 -0
  25. package/dist/admin/limit-defaults.js +10 -0
  26. package/dist/admin/overview.controller.d.ts +31 -0
  27. package/dist/admin/overview.controller.js +78 -0
  28. package/dist/admin/overview.schemas.d.ts +8 -0
  29. package/dist/admin/overview.schemas.js +13 -0
  30. package/dist/admin/overview.service.d.ts +112 -0
  31. package/dist/admin/overview.service.js +223 -0
  32. package/dist/admin/platform-audit.service.d.ts +41 -0
  33. package/dist/admin/platform-audit.service.js +70 -0
  34. package/dist/admin/setup-lock.d.ts +1 -1
  35. package/dist/admin/setup-lock.js +1 -1
  36. package/dist/admin/setup.controller.d.ts +1 -1
  37. package/dist/admin/setup.controller.js +1 -1
  38. package/dist/admin/setup.service.d.ts +4 -4
  39. package/dist/admin/setup.service.js +8 -8
  40. package/dist/admin/usage.service.d.ts +149 -0
  41. package/dist/admin/usage.service.js +321 -0
  42. package/dist/agents/admin-agents.d.ts +92 -0
  43. package/dist/agents/admin-agents.js +170 -0
  44. package/dist/agents/agent-lookup.d.ts +24 -0
  45. package/dist/agents/agent-lookup.js +46 -2
  46. package/dist/agents/agent-profile.service.d.ts +31 -0
  47. package/dist/agents/agent-profile.service.js +122 -0
  48. package/dist/agents/agents.controller.d.ts +53 -168
  49. package/dist/agents/agents.controller.js +163 -34
  50. package/dist/agents/agents.module.d.ts +6 -2
  51. package/dist/agents/agents.module.js +41 -7
  52. package/dist/agents/agents.schemas.d.ts +392 -0
  53. package/dist/agents/agents.schemas.js +126 -0
  54. package/dist/agents/agents.service.d.ts +121 -36
  55. package/dist/agents/agents.service.js +411 -121
  56. package/dist/agents/definition.d.ts +142 -21
  57. package/dist/agents/definition.js +389 -43
  58. package/dist/agents/from-template.d.ts +106 -0
  59. package/dist/agents/from-template.js +680 -0
  60. package/dist/agents/from-template.service.d.ts +72 -0
  61. package/dist/agents/from-template.service.js +178 -0
  62. package/dist/agents/instruction-files.d.ts +60 -0
  63. package/dist/agents/instruction-files.js +111 -0
  64. package/dist/agents/models.controller.d.ts +44 -6
  65. package/dist/agents/models.controller.js +84 -8
  66. package/dist/agents/org-templates.d.ts +186 -0
  67. package/dist/agents/org-templates.js +876 -0
  68. package/dist/agents/pending-connector-requests.d.ts +79 -0
  69. package/dist/agents/pending-connector-requests.js +215 -0
  70. package/dist/agents/pending-connectors.controller.d.ts +39 -0
  71. package/dist/agents/pending-connectors.controller.js +91 -0
  72. package/dist/agents/pending-connectors.service.d.ts +62 -0
  73. package/dist/agents/pending-connectors.service.js +282 -0
  74. package/dist/agents/profile.d.ts +114 -0
  75. package/dist/agents/profile.js +55 -0
  76. package/dist/agents/readiness.controller.d.ts +26 -0
  77. package/dist/agents/readiness.controller.js +56 -0
  78. package/dist/agents/templates.controller.d.ts +77 -5
  79. package/dist/agents/templates.controller.js +153 -7
  80. package/dist/agents/templates.d.ts +127 -23
  81. package/dist/agents/templates.js +482 -44
  82. package/dist/agents/templates.schemas.d.ts +20 -0
  83. package/dist/agents/templates.schemas.js +45 -0
  84. package/dist/background/background.controller.d.ts +38 -0
  85. package/dist/background/background.controller.js +88 -0
  86. package/dist/background/background.module.d.ts +10 -0
  87. package/dist/background/background.module.js +39 -0
  88. package/dist/background/background.schemas.d.ts +10 -0
  89. package/dist/background/background.schemas.js +16 -0
  90. package/dist/background/finish.d.ts +44 -0
  91. package/dist/background/finish.js +95 -0
  92. package/dist/background/launch-lock.d.ts +15 -0
  93. package/dist/background/launch-lock.js +40 -0
  94. package/dist/background/launch.d.ts +42 -0
  95. package/dist/background/launch.js +77 -0
  96. package/dist/background/poll.job.d.ts +56 -0
  97. package/dist/background/poll.job.js +195 -0
  98. package/dist/background/render.d.ts +23 -0
  99. package/dist/background/render.js +48 -0
  100. package/dist/background/session.d.ts +48 -0
  101. package/dist/background/session.js +80 -0
  102. package/dist/background/status.d.ts +35 -0
  103. package/dist/background/status.js +57 -0
  104. package/dist/background/stop.d.ts +68 -0
  105. package/dist/background/stop.js +244 -0
  106. package/dist/background/store.d.ts +167 -0
  107. package/dist/background/store.js +361 -0
  108. package/dist/background/store.module.d.ts +6 -0
  109. package/dist/background/store.module.js +22 -0
  110. package/dist/background/tasks.service.d.ts +109 -0
  111. package/dist/background/tasks.service.js +271 -0
  112. package/dist/background/wake-rules.d.ts +66 -0
  113. package/dist/background/wake-rules.js +113 -0
  114. package/dist/background/wake.d.ts +30 -0
  115. package/dist/background/wake.js +63 -0
  116. package/dist/catalog/admin-catalog.controller.d.ts +136 -52
  117. package/dist/catalog/admin-catalog.controller.js +275 -65
  118. package/dist/catalog/admin-catalog.schemas.d.ts +82 -0
  119. package/dist/catalog/admin-catalog.schemas.js +99 -0
  120. package/dist/catalog/appearance.schemas.d.ts +10 -0
  121. package/dist/catalog/appearance.schemas.js +20 -0
  122. package/dist/catalog/appearance.service.d.ts +105 -0
  123. package/dist/catalog/appearance.service.js +306 -0
  124. package/dist/catalog/catalog-content.d.ts +122 -35
  125. package/dist/catalog/catalog-content.js +122 -14
  126. package/dist/catalog/catalog-files.d.ts +42 -0
  127. package/dist/catalog/catalog-files.js +89 -0
  128. package/dist/catalog/catalog-import.module.d.ts +7 -0
  129. package/dist/catalog/catalog-import.module.js +63 -0
  130. package/dist/catalog/catalog-items.d.ts +122 -7
  131. package/dist/catalog/catalog-items.js +301 -13
  132. package/dist/catalog/catalog-scope.service.d.ts +293 -0
  133. package/dist/catalog/catalog-scope.service.js +1236 -0
  134. package/dist/catalog/catalog.module.d.ts +7 -9
  135. package/dist/catalog/catalog.module.js +47 -31
  136. package/dist/catalog/catalog.service.d.ts +122 -31
  137. package/dist/catalog/catalog.service.js +177 -105
  138. package/dist/catalog/claude/agents.js +15 -10
  139. package/dist/catalog/claude/translate.js +3 -0
  140. package/dist/catalog/cli.d.ts +11 -1
  141. package/dist/catalog/cli.js +29 -1
  142. package/dist/catalog/component-promotion.d.ts +96 -0
  143. package/dist/catalog/component-promotion.js +395 -0
  144. package/dist/catalog/component-scope.controller.d.ts +102 -0
  145. package/dist/catalog/component-scope.controller.js +257 -0
  146. package/dist/catalog/component-scope.schemas.d.ts +118 -0
  147. package/dist/catalog/component-scope.schemas.js +97 -0
  148. package/dist/catalog/component-scope.service.d.ts +394 -0
  149. package/dist/catalog/component-scope.service.js +1133 -0
  150. package/dist/catalog/component-state.d.ts +207 -0
  151. package/dist/catalog/component-state.js +484 -0
  152. package/dist/catalog/git-source.d.ts +9 -1
  153. package/dist/catalog/git-source.js +29 -2
  154. package/dist/catalog/job-ids.d.ts +30 -0
  155. package/dist/catalog/job-ids.js +25 -0
  156. package/dist/catalog/marketplace-fetch.d.ts +1 -1
  157. package/dist/catalog/marketplace-icons.d.ts +64 -0
  158. package/dist/catalog/marketplace-icons.js +131 -0
  159. package/dist/catalog/marketplaces.controller.d.ts +50 -41
  160. package/dist/catalog/marketplaces.controller.js +130 -46
  161. package/dist/catalog/marketplaces.schemas.d.ts +48 -0
  162. package/dist/catalog/marketplaces.schemas.js +53 -0
  163. package/dist/catalog/marketplaces.service.d.ts +110 -17
  164. package/dist/catalog/marketplaces.service.js +337 -29
  165. package/dist/catalog/org-catalog.controller.d.ts +114 -62
  166. package/dist/catalog/org-catalog.controller.js +191 -98
  167. package/dist/catalog/org-catalog.schemas.d.ts +104 -0
  168. package/dist/catalog/org-catalog.schemas.js +107 -0
  169. package/dist/catalog/org-catalog.service.d.ts +72 -33
  170. package/dist/catalog/org-catalog.service.js +367 -158
  171. package/dist/catalog/org-extension-switch.d.ts +41 -0
  172. package/dist/catalog/org-extension-switch.js +115 -0
  173. package/dist/catalog/org-extension.controller.d.ts +133 -0
  174. package/dist/catalog/org-extension.controller.js +313 -0
  175. package/dist/catalog/org-extension.schemas.d.ts +15 -0
  176. package/dist/catalog/org-extension.schemas.js +22 -0
  177. package/dist/catalog/org-plugin-uploads.controller.d.ts +77 -0
  178. package/dist/catalog/org-plugin-uploads.controller.js +200 -0
  179. package/dist/catalog/org-plugin-uploads.d.ts +71 -0
  180. package/dist/catalog/org-plugin-uploads.js +122 -0
  181. package/dist/catalog/org-plugin-uploads.schemas.d.ts +20 -0
  182. package/dist/catalog/org-plugin-uploads.schemas.js +32 -0
  183. package/dist/catalog/owned-items.d.ts +188 -0
  184. package/dist/catalog/owned-items.js +808 -0
  185. package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
  186. package/dist/catalog/owned-plugin-cleanup.js +194 -0
  187. package/dist/catalog/ownership.d.ts +172 -0
  188. package/dist/catalog/ownership.js +326 -0
  189. package/dist/catalog/platform-components.d.ts +243 -0
  190. package/dist/catalog/platform-components.js +872 -0
  191. package/dist/catalog/platform-migration.d.ts +115 -0
  192. package/dist/catalog/platform-migration.js +583 -0
  193. package/dist/catalog/plugin-import.d.ts +254 -47
  194. package/dist/catalog/plugin-import.js +810 -112
  195. package/dist/catalog/plugin-install.d.ts +205 -42
  196. package/dist/catalog/plugin-install.js +828 -126
  197. package/dist/catalog/plugin-package.d.ts +43 -4
  198. package/dist/catalog/plugin-package.js +194 -7
  199. package/dist/catalog/plugin-upgrade.d.ts +308 -225
  200. package/dist/catalog/plugin-upgrade.js +1325 -1131
  201. package/dist/catalog/request-rules.d.ts +65 -0
  202. package/dist/catalog/request-rules.js +217 -0
  203. package/dist/catalog/requests.service.d.ts +194 -118
  204. package/dist/catalog/requests.service.js +530 -343
  205. package/dist/catalog/reserved-names.d.ts +8 -0
  206. package/dist/catalog/reserved-names.js +42 -0
  207. package/dist/catalog/scope-orgs.d.ts +21 -0
  208. package/dist/catalog/scope-orgs.js +67 -0
  209. package/dist/catalog/scope-state.d.ts +35 -0
  210. package/dist/catalog/scope-state.js +87 -0
  211. package/dist/catalog/scope-sync-workers.d.ts +7 -0
  212. package/dist/catalog/scope-sync-workers.js +29 -0
  213. package/dist/catalog/scope-sync.d.ts +176 -0
  214. package/dist/catalog/scope-sync.js +576 -0
  215. package/dist/catalog/scope.d.ts +42 -0
  216. package/dist/catalog/scope.js +42 -0
  217. package/dist/catalog/unshare.d.ts +22 -0
  218. package/dist/catalog/unshare.js +119 -0
  219. package/dist/channels/actions.js +10 -3
  220. package/dist/channels/cards.d.ts +36 -10
  221. package/dist/channels/cards.js +100 -25
  222. package/dist/channels/channels.module.js +13 -2
  223. package/dist/channels/channels.schemas.d.ts +41 -0
  224. package/dist/channels/channels.schemas.js +40 -0
  225. package/dist/channels/connections.controller.d.ts +46 -37
  226. package/dist/channels/connections.controller.js +76 -34
  227. package/dist/channels/connections.service.d.ts +102 -10
  228. package/dist/channels/connections.service.js +271 -24
  229. package/dist/channels/inbound.d.ts +11 -1
  230. package/dist/channels/inbound.js +87 -7
  231. package/dist/channels/outbound.d.ts +14 -1
  232. package/dist/channels/outbound.js +64 -15
  233. package/dist/channels/phrases.d.ts +33 -2
  234. package/dist/channels/phrases.js +29 -1
  235. package/dist/channels/supervisor.d.ts +2 -0
  236. package/dist/channels/supervisor.js +4 -0
  237. package/dist/channels/threads.d.ts +5 -0
  238. package/dist/channels/threads.js +8 -0
  239. package/dist/channels/webhook.d.ts +21 -1
  240. package/dist/channels/webhook.js +39 -4
  241. package/dist/client/client-access.service.d.ts +102 -0
  242. package/dist/client/client-access.service.js +303 -0
  243. package/dist/client/client-builds.service.d.ts +109 -0
  244. package/dist/client/client-builds.service.js +229 -0
  245. package/dist/client/client-delivery.controller.d.ts +25 -0
  246. package/dist/client/client-delivery.controller.js +66 -0
  247. package/dist/client/client-files.d.ts +48 -0
  248. package/dist/client/client-files.js +136 -0
  249. package/dist/client/client-reports.cron.d.ts +13 -0
  250. package/dist/client/client-reports.cron.js +42 -0
  251. package/dist/client/client-reports.service.d.ts +30 -0
  252. package/dist/client/client-reports.service.js +102 -0
  253. package/dist/client/client-sign-in.service.d.ts +21 -0
  254. package/dist/client/client-sign-in.service.js +49 -0
  255. package/dist/client/client.controller.d.ts +49 -0
  256. package/dist/client/client.controller.js +129 -0
  257. package/dist/client/client.module.d.ts +8 -0
  258. package/dist/client/client.module.js +28 -0
  259. package/dist/client/client.schemas.d.ts +61 -0
  260. package/dist/client/client.schemas.js +27 -0
  261. package/dist/config/docs.js +5 -1
  262. package/dist/config/schema.d.ts +35 -2
  263. package/dist/config/schema.js +216 -21
  264. package/dist/conversations/access.d.ts +6 -4
  265. package/dist/conversations/access.js +29 -5
  266. package/dist/conversations/agent-tree.d.ts +46 -0
  267. package/dist/conversations/agent-tree.js +92 -0
  268. package/dist/conversations/artifacts.d.ts +1 -1
  269. package/dist/conversations/artifacts.js +1 -1
  270. package/dist/conversations/attachments.service.d.ts +30 -0
  271. package/dist/conversations/attachments.service.js +130 -5
  272. package/dist/conversations/conversations.controller.d.ts +79 -44
  273. package/dist/conversations/conversations.controller.js +133 -82
  274. package/dist/conversations/conversations.module.d.ts +1 -1
  275. package/dist/conversations/conversations.module.js +10 -7
  276. package/dist/conversations/conversations.schemas.d.ts +52 -0
  277. package/dist/conversations/conversations.schemas.js +79 -0
  278. package/dist/conversations/conversations.service.d.ts +161 -13
  279. package/dist/conversations/conversations.service.js +329 -57
  280. package/dist/conversations/device-status.d.ts +24 -0
  281. package/dist/conversations/device-status.js +71 -0
  282. package/dist/conversations/event-log.d.ts +45 -9
  283. package/dist/conversations/event-log.js +113 -6
  284. package/dist/conversations/events.d.ts +255 -9
  285. package/dist/conversations/events.js +250 -34
  286. package/dist/conversations/message-context.d.ts +79 -0
  287. package/dist/conversations/message-context.js +145 -0
  288. package/dist/conversations/queue.d.ts +5 -2
  289. package/dist/conversations/queue.js +24 -4
  290. package/dist/conversations/queue.service.d.ts +2 -2
  291. package/dist/conversations/queue.service.js +21 -3
  292. package/dist/conversations/titles.d.ts +12 -3
  293. package/dist/conversations/titles.js +40 -16
  294. package/dist/conversations/tree.d.ts +17 -0
  295. package/dist/conversations/tree.js +42 -0
  296. package/dist/ctx/create-ctx.d.ts +48 -5
  297. package/dist/ctx/create-ctx.js +174 -34
  298. package/dist/db/kernel-schema.d.ts +668 -27
  299. package/dist/db/pool.d.ts +5 -0
  300. package/dist/db/pool.js +3 -0
  301. package/dist/devices/access.d.ts +66 -0
  302. package/dist/devices/access.js +113 -0
  303. package/dist/devices/conversation-devices.d.ts +75 -0
  304. package/dist/devices/conversation-devices.js +230 -0
  305. package/dist/devices/devices.controller.d.ts +36 -0
  306. package/dist/devices/devices.controller.js +124 -0
  307. package/dist/devices/devices.module.d.ts +8 -0
  308. package/dist/devices/devices.module.js +34 -0
  309. package/dist/devices/devices.schemas.d.ts +3 -0
  310. package/dist/devices/devices.schemas.js +14 -0
  311. package/dist/devices/devices.service.d.ts +251 -0
  312. package/dist/devices/devices.service.js +791 -0
  313. package/dist/devices/dto.d.ts +25 -0
  314. package/dist/devices/dto.js +12 -0
  315. package/dist/devices/label.d.ts +11 -0
  316. package/dist/devices/label.js +25 -0
  317. package/dist/devices/legacy-cleanup.job.d.ts +34 -0
  318. package/dist/devices/legacy-cleanup.job.js +141 -0
  319. package/dist/errors.d.ts +215 -3
  320. package/dist/errors.js +215 -3
  321. package/dist/evals/evals.module.js +11 -2
  322. package/dist/evals/evals.schemas.d.ts +110 -0
  323. package/dist/evals/evals.schemas.js +107 -0
  324. package/dist/evals/reconstruct.d.ts +18 -9
  325. package/dist/evals/reconstruct.js +36 -10
  326. package/dist/evals/recorded-tools.d.ts +37 -1
  327. package/dist/evals/recorded-tools.js +120 -10
  328. package/dist/evals/run-replay.d.ts +20 -3
  329. package/dist/evals/run-replay.js +78 -14
  330. package/dist/evals/runs.controller.d.ts +2 -57
  331. package/dist/evals/runs.controller.js +1 -42
  332. package/dist/evals/runs.service.d.ts +8 -7
  333. package/dist/evals/runs.service.js +45 -30
  334. package/dist/evals/sets.controller.d.ts +2 -28
  335. package/dist/evals/sets.controller.js +1 -31
  336. package/dist/evals/sets.service.d.ts +7 -7
  337. package/dist/evals/sets.service.js +23 -17
  338. package/dist/evals/snapshot.d.ts +3 -2
  339. package/dist/evals/snapshot.js +17 -4
  340. package/dist/evals/step-replay.d.ts +4 -6
  341. package/dist/evals/step-replay.js +16 -9
  342. package/dist/evals/trajectory.d.ts +5 -3
  343. package/dist/evals/trajectory.js +4 -1
  344. package/dist/evals/trajectory.service.d.ts +8 -3
  345. package/dist/evals/trajectory.service.js +26 -14
  346. package/dist/evals/worker.d.ts +5 -5
  347. package/dist/evals/worker.js +9 -3
  348. package/dist/extensions/admin-ops.d.ts +81 -14
  349. package/dist/extensions/admin-ops.js +181 -47
  350. package/dist/extensions/admin-view.d.ts +57 -10
  351. package/dist/extensions/admin-view.js +249 -27
  352. package/dist/extensions/approvals.d.ts +12 -2
  353. package/dist/extensions/blobs.d.ts +14 -1
  354. package/dist/extensions/blobs.js +49 -5
  355. package/dist/extensions/bootstrap.d.ts +41 -5
  356. package/dist/extensions/bootstrap.js +121 -19
  357. package/dist/extensions/cli.d.ts +12 -0
  358. package/dist/extensions/cli.js +11 -2
  359. package/dist/extensions/config-hash.d.ts +10 -0
  360. package/dist/extensions/config-hash.js +38 -0
  361. package/dist/extensions/config-issues.d.ts +13 -1
  362. package/dist/extensions/config-issues.js +22 -5
  363. package/dist/extensions/config-json-schema.d.ts +43 -7
  364. package/dist/extensions/config-json-schema.js +124 -58
  365. package/dist/extensions/deployment-config-store.d.ts +6 -0
  366. package/dist/extensions/deployment-config.d.ts +94 -9
  367. package/dist/extensions/deployment-config.js +255 -34
  368. package/dist/extensions/display-name.d.ts +22 -0
  369. package/dist/extensions/display-name.js +77 -0
  370. package/dist/extensions/effective-config.d.ts +133 -0
  371. package/dist/extensions/effective-config.js +379 -0
  372. package/dist/extensions/extensions.module.js +31 -12
  373. package/dist/extensions/guide-places.d.ts +68 -0
  374. package/dist/extensions/guide-places.js +152 -0
  375. package/dist/extensions/hooks.d.ts +37 -4
  376. package/dist/extensions/hooks.js +82 -16
  377. package/dist/extensions/host.d.ts +105 -12
  378. package/dist/extensions/host.js +372 -87
  379. package/dist/extensions/installs.d.ts +30 -9
  380. package/dist/extensions/installs.js +57 -16
  381. package/dist/extensions/instance.d.ts +17 -2
  382. package/dist/extensions/instance.js +21 -0
  383. package/dist/extensions/ledger.d.ts +1 -1
  384. package/dist/extensions/locks.d.ts +12 -0
  385. package/dist/extensions/locks.js +26 -0
  386. package/dist/extensions/org-config.d.ts +97 -7
  387. package/dist/extensions/org-config.js +215 -45
  388. package/dist/extensions/org-levels.d.ts +37 -0
  389. package/dist/extensions/org-levels.js +71 -0
  390. package/dist/extensions/org-overrides.d.ts +151 -0
  391. package/dist/extensions/org-overrides.js +524 -0
  392. package/dist/extensions/package.d.ts +18 -4
  393. package/dist/extensions/package.js +56 -3
  394. package/dist/extensions/permission-set.d.ts +35 -5
  395. package/dist/extensions/permission-set.js +36 -5
  396. package/dist/extensions/permission-view.d.ts +106 -13
  397. package/dist/extensions/permission-view.js +33 -15
  398. package/dist/extensions/plugin-guides.d.ts +282 -0
  399. package/dist/extensions/plugin-guides.js +554 -0
  400. package/dist/extensions/plugin-icons.d.ts +54 -0
  401. package/dist/extensions/plugin-icons.js +125 -0
  402. package/dist/extensions/plugin-items.d.ts +21 -0
  403. package/dist/extensions/plugin-items.js +42 -0
  404. package/dist/extensions/point-defaults.controller.d.ts +28 -0
  405. package/dist/extensions/point-defaults.controller.js +69 -0
  406. package/dist/extensions/point-defaults.d.ts +73 -0
  407. package/dist/extensions/point-defaults.js +236 -0
  408. package/dist/extensions/point-defaults.schemas.d.ts +9 -0
  409. package/dist/extensions/point-defaults.schemas.js +14 -0
  410. package/dist/extensions/registry.d.ts +1 -1
  411. package/dist/extensions/registry.js +2 -0
  412. package/dist/extensions/resolve.d.ts +51 -1
  413. package/dist/extensions/resolve.js +85 -3
  414. package/dist/extensions/single-provider.d.ts +92 -0
  415. package/dist/extensions/single-provider.js +180 -0
  416. package/dist/extensions/sources.d.ts +13 -2
  417. package/dist/extensions/sources.js +2 -0
  418. package/dist/extensions/state.module.d.ts +9 -0
  419. package/dist/extensions/state.module.js +46 -0
  420. package/dist/extensions/unavailable.d.ts +50 -0
  421. package/dist/extensions/unavailable.js +115 -0
  422. package/dist/files/previewers.controller.js +2 -3
  423. package/dist/files/previewers.d.ts +10 -3
  424. package/dist/files/previewers.js +40 -11
  425. package/dist/files/previewers.schemas.d.ts +10 -0
  426. package/dist/files/previewers.schemas.js +9 -0
  427. package/dist/http/api.module.js +76 -4
  428. package/dist/http/app.d.ts +11 -2
  429. package/dist/http/app.js +31 -5
  430. package/dist/http/gateway-routes.d.ts +7 -3
  431. package/dist/http/gateway-routes.js +6 -3
  432. package/dist/http/nest-logger.d.ts +6 -5
  433. package/dist/http/nest-logger.js +24 -10
  434. package/dist/http/plugin-dispatch.d.ts +4 -1
  435. package/dist/http/plugin-dispatch.js +14 -2
  436. package/dist/identity/accounts.d.ts +77 -31
  437. package/dist/identity/accounts.js +133 -52
  438. package/dist/identity/audit.d.ts +2 -1
  439. package/dist/identity/auth.controller.js +9 -5
  440. package/dist/identity/auth.guard.d.ts +13 -5
  441. package/dist/identity/auth.guard.js +35 -9
  442. package/dist/identity/cookies.d.ts +26 -5
  443. package/dist/identity/cookies.js +58 -6
  444. package/dist/identity/identity.module.d.ts +1 -1
  445. package/dist/identity/identity.module.js +7 -4
  446. package/dist/identity/initial-passwords.controller.d.ts +22 -0
  447. package/dist/identity/initial-passwords.controller.js +49 -0
  448. package/dist/identity/initial-passwords.d.ts +61 -0
  449. package/dist/identity/initial-passwords.job.d.ts +16 -0
  450. package/dist/identity/initial-passwords.job.js +46 -0
  451. package/dist/identity/initial-passwords.js +159 -0
  452. package/dist/identity/me.controller.d.ts +17 -1
  453. package/dist/identity/me.controller.js +45 -4
  454. package/dist/identity/me.schemas.d.ts +24 -0
  455. package/dist/identity/me.schemas.js +25 -0
  456. package/dist/identity/principal.d.ts +11 -3
  457. package/dist/identity/principal.js +11 -3
  458. package/dist/identity/sessions.d.ts +12 -0
  459. package/dist/identity/sessions.js +45 -0
  460. package/dist/identity/settings.d.ts +99 -12
  461. package/dist/identity/settings.js +234 -25
  462. package/dist/identity/{enterprise-admin.d.ts → super-admin.d.ts} +5 -5
  463. package/dist/identity/{enterprise-admin.js → super-admin.js} +24 -24
  464. package/dist/identity/write-actor.d.ts +11 -0
  465. package/dist/identity/write-actor.js +7 -0
  466. package/dist/inbox/inbox.module.d.ts +4 -1
  467. package/dist/inbox/inbox.module.js +7 -3
  468. package/dist/inbox/inbox.schemas.d.ts +8 -0
  469. package/dist/inbox/inbox.schemas.js +11 -0
  470. package/dist/inbox/inbox.service.d.ts +64 -4
  471. package/dist/inbox/inbox.service.js +74 -4
  472. package/dist/inbox/org-notices.d.ts +63 -0
  473. package/dist/inbox/org-notices.js +91 -0
  474. package/dist/inbox/platform-inbox.controller.d.ts +23 -0
  475. package/dist/inbox/platform-inbox.controller.js +58 -0
  476. package/dist/inbox/platform-inbox.service.d.ts +157 -0
  477. package/dist/inbox/platform-inbox.service.js +281 -0
  478. package/dist/inbox/platform-notices.d.ts +19 -0
  479. package/dist/inbox/platform-notices.js +9 -0
  480. package/dist/index.d.ts +6 -2
  481. package/dist/index.js +7 -1
  482. package/dist/infra/cli/kernel-cli.module.js +9 -1
  483. package/dist/infra/config/kernel-config.service.js +32 -1
  484. package/dist/infra/database/database.module.js +1 -0
  485. package/dist/infra/database/xact-lock.d.ts +1 -1
  486. package/dist/infra/database/xact-lock.js +1 -1
  487. package/dist/infra/events/kernel-events.d.ts +31 -3
  488. package/dist/infra/lifecycle/process-guards.js +4 -0
  489. package/dist/infra/lock/lock.service.d.ts +8 -0
  490. package/dist/infra/lock/lock.service.js +27 -0
  491. package/dist/infra/logging/logging.module.d.ts +4 -2
  492. package/dist/infra/logging/logging.module.js +24 -6
  493. package/dist/infra/presence/presence.module.d.ts +6 -0
  494. package/dist/infra/presence/presence.module.js +22 -0
  495. package/dist/infra/presence/replica-presence.d.ts +87 -0
  496. package/dist/infra/presence/replica-presence.js +189 -0
  497. package/dist/infra/queue/add-job-once.d.ts +14 -0
  498. package/dist/infra/queue/add-job-once.js +16 -0
  499. package/dist/infra/queue/redis-connection.d.ts +6 -0
  500. package/dist/infra/queue/redis-connection.js +7 -0
  501. package/dist/infra/redis/redis.module.js +6 -2
  502. package/dist/infra/throttler/named-throttlers.d.ts +12 -0
  503. package/dist/infra/throttler/named-throttlers.js +67 -0
  504. package/dist/infra/throttler/throttler.guard.js +1 -1
  505. package/dist/infra/tokens.d.ts +6 -1
  506. package/dist/infra/tokens.js +6 -1
  507. package/dist/kernel.module.js +15 -0
  508. package/dist/lifecycle/kernel-lifecycle.d.ts +4 -2
  509. package/dist/lifecycle/kernel-lifecycle.js +35 -7
  510. package/dist/local-devices/device-auth.controller.d.ts +42 -0
  511. package/dist/local-devices/device-auth.controller.js +116 -0
  512. package/dist/local-devices/device-auth.d.ts +119 -0
  513. package/dist/local-devices/device-auth.js +401 -0
  514. package/dist/local-devices/device-auth.module.d.ts +7 -0
  515. package/dist/local-devices/device-auth.module.js +25 -0
  516. package/dist/local-devices/device-routes.d.ts +36 -0
  517. package/dist/local-devices/device-routes.js +90 -0
  518. package/dist/local-devices/dto.d.ts +66 -0
  519. package/dist/local-devices/dto.js +44 -0
  520. package/dist/local-devices/keys.d.ts +25 -0
  521. package/dist/local-devices/keys.js +25 -0
  522. package/dist/local-devices/local-device-gateway.d.ts +134 -0
  523. package/dist/local-devices/local-device-gateway.js +542 -0
  524. package/dist/local-devices/local-device-provider.d.ts +89 -0
  525. package/dist/local-devices/local-device-provider.js +151 -0
  526. package/dist/local-devices/local-devices.module.d.ts +16 -0
  527. package/dist/local-devices/local-devices.module.js +44 -0
  528. package/dist/local-devices/machines.d.ts +118 -0
  529. package/dist/local-devices/machines.js +366 -0
  530. package/dist/local-devices/relay.d.ts +100 -0
  531. package/dist/local-devices/relay.js +373 -0
  532. package/dist/local-devices/targets.d.ts +28 -0
  533. package/dist/local-devices/targets.js +73 -0
  534. package/dist/log.d.ts +13 -1
  535. package/dist/log.js +93 -17
  536. package/dist/models/embeddings.d.ts +82 -0
  537. package/dist/models/embeddings.js +326 -0
  538. package/dist/models/enablement.controller.d.ts +40 -0
  539. package/dist/models/enablement.controller.js +74 -0
  540. package/dist/models/enablement.d.ts +101 -0
  541. package/dist/models/enablement.js +264 -0
  542. package/dist/models/models.module.d.ts +5 -1
  543. package/dist/models/models.module.js +16 -4
  544. package/dist/models/org-models.schemas.d.ts +8 -0
  545. package/dist/models/org-models.schemas.js +22 -0
  546. package/dist/models/prices.d.ts +8 -6
  547. package/dist/models/prices.js +11 -9
  548. package/dist/models/purposes.controller.d.ts +6 -4
  549. package/dist/models/purposes.controller.js +13 -7
  550. package/dist/models/purposes.d.ts +72 -14
  551. package/dist/models/purposes.js +115 -34
  552. package/dist/orgs/directory-sync.d.ts +14 -5
  553. package/dist/orgs/directory-sync.js +41 -17
  554. package/dist/orgs/offboarding.d.ts +12 -8
  555. package/dist/orgs/offboarding.js +54 -33
  556. package/dist/orgs/org-lock.d.ts +5 -0
  557. package/dist/orgs/org-lock.js +13 -0
  558. package/dist/orgs/org.guard.d.ts +10 -0
  559. package/dist/orgs/org.guard.js +43 -32
  560. package/dist/orgs/orgs.controller.d.ts +2 -5
  561. package/dist/orgs/orgs.controller.js +3 -6
  562. package/dist/orgs/orgs.module.js +3 -0
  563. package/dist/orgs/orgs.schemas.d.ts +8 -0
  564. package/dist/orgs/orgs.schemas.js +16 -0
  565. package/dist/orgs/orgs.service.d.ts +23 -8
  566. package/dist/orgs/orgs.service.js +38 -16
  567. package/dist/orgs/roles.d.ts +1 -1
  568. package/dist/orgs/roles.js +5 -1
  569. package/dist/orgs/settings.controller.d.ts +1 -1
  570. package/dist/orgs/settings.service.d.ts +66 -6
  571. package/dist/orgs/settings.service.js +89 -10
  572. package/dist/overrides.d.ts +16 -1
  573. package/dist/overrides.js +10 -0
  574. package/dist/platform/actor.d.ts +48 -0
  575. package/dist/platform/actor.js +100 -0
  576. package/dist/platform/agent-docs.d.ts +18 -0
  577. package/dist/platform/agent-docs.js +59 -0
  578. package/dist/platform/availability.d.ts +14 -0
  579. package/dist/platform/availability.js +43 -0
  580. package/dist/platform/errors.d.ts +28 -0
  581. package/dist/platform/errors.js +65 -0
  582. package/dist/platform/exclusions.d.ts +11 -0
  583. package/dist/platform/exclusions.js +774 -0
  584. package/dist/platform/method.d.ts +6 -0
  585. package/dist/platform/method.js +15 -0
  586. package/dist/platform/operation.d.ts +169 -0
  587. package/dist/platform/operation.js +102 -0
  588. package/dist/platform/ops/accounts.ops.d.ts +32 -0
  589. package/dist/platform/ops/accounts.ops.js +291 -0
  590. package/dist/platform/ops/admin-items.ops.d.ts +37 -0
  591. package/dist/platform/ops/admin-items.ops.js +278 -0
  592. package/dist/platform/ops/admin.ops.d.ts +38 -0
  593. package/dist/platform/ops/admin.ops.js +497 -0
  594. package/dist/platform/ops/agent-skills.ops.d.ts +50 -0
  595. package/dist/platform/ops/agent-skills.ops.js +509 -0
  596. package/dist/platform/ops/agent-templates.ops.d.ts +17 -0
  597. package/dist/platform/ops/agent-templates.ops.js +272 -0
  598. package/dist/platform/ops/agents.ops.d.ts +37 -0
  599. package/dist/platform/ops/agents.ops.js +730 -0
  600. package/dist/platform/ops/approvals.ops.d.ts +30 -0
  601. package/dist/platform/ops/approvals.ops.js +116 -0
  602. package/dist/platform/ops/background.ops.d.ts +14 -0
  603. package/dist/platform/ops/background.ops.js +134 -0
  604. package/dist/platform/ops/catalog-admin.ops.d.ts +92 -0
  605. package/dist/platform/ops/catalog-admin.ops.js +682 -0
  606. package/dist/platform/ops/channels.ops.d.ts +16 -0
  607. package/dist/platform/ops/channels.ops.js +195 -0
  608. package/dist/platform/ops/components.ops.d.ts +46 -0
  609. package/dist/platform/ops/components.ops.js +854 -0
  610. package/dist/platform/ops/connectors.ops.d.ts +17 -0
  611. package/dist/platform/ops/connectors.ops.js +190 -0
  612. package/dist/platform/ops/conversations.ops.d.ts +30 -0
  613. package/dist/platform/ops/conversations.ops.js +470 -0
  614. package/dist/platform/ops/devices.ops.d.ts +26 -0
  615. package/dist/platform/ops/devices.ops.js +311 -0
  616. package/dist/platform/ops/errors.d.ts +16 -0
  617. package/dist/platform/ops/errors.js +30 -0
  618. package/dist/platform/ops/evals.ops.d.ts +28 -0
  619. package/dist/platform/ops/evals.ops.js +783 -0
  620. package/dist/platform/ops/extensions-admin.ops.d.ts +25 -0
  621. package/dist/platform/ops/extensions-admin.ops.js +372 -0
  622. package/dist/platform/ops/extensions.ops.d.ts +25 -0
  623. package/dist/platform/ops/extensions.ops.js +347 -0
  624. package/dist/platform/ops/inbox.ops.d.ts +25 -0
  625. package/dist/platform/ops/inbox.ops.js +381 -0
  626. package/dist/platform/ops/marketplaces.ops.d.ts +22 -0
  627. package/dist/platform/ops/marketplaces.ops.js +466 -0
  628. package/dist/platform/ops/models.ops.d.ts +25 -0
  629. package/dist/platform/ops/models.ops.js +232 -0
  630. package/dist/platform/ops/org-plugins.ops.d.ts +35 -0
  631. package/dist/platform/ops/org-plugins.ops.js +388 -0
  632. package/dist/platform/ops/org-settings.ops.d.ts +18 -0
  633. package/dist/platform/ops/org-settings.ops.js +127 -0
  634. package/dist/platform/ops/orgs.ops.d.ts +28 -0
  635. package/dist/platform/ops/orgs.ops.js +298 -0
  636. package/dist/platform/ops/other-orgs.d.ts +20 -0
  637. package/dist/platform/ops/other-orgs.js +72 -0
  638. package/dist/platform/ops/paging.d.ts +14 -0
  639. package/dist/platform/ops/paging.js +20 -0
  640. package/dist/platform/ops/platform.ops.d.ts +30 -0
  641. package/dist/platform/ops/platform.ops.js +231 -0
  642. package/dist/platform/ops/plugins.ops.d.ts +35 -0
  643. package/dist/platform/ops/plugins.ops.js +476 -0
  644. package/dist/platform/ops/previewers.ops.d.ts +14 -0
  645. package/dist/platform/ops/previewers.ops.js +109 -0
  646. package/dist/platform/ops/requests.ops.d.ts +14 -0
  647. package/dist/platform/ops/requests.ops.js +191 -0
  648. package/dist/platform/ops/role.d.ts +4 -0
  649. package/dist/platform/ops/role.js +10 -0
  650. package/dist/platform/ops/setup.ops.d.ts +24 -0
  651. package/dist/platform/ops/setup.ops.js +212 -0
  652. package/dist/platform/ops/skills.ops.d.ts +17 -0
  653. package/dist/platform/ops/skills.ops.js +160 -0
  654. package/dist/platform/ops/summary.d.ts +10 -0
  655. package/dist/platform/ops/summary.js +18 -0
  656. package/dist/platform/ops/themes.ops.d.ts +14 -0
  657. package/dist/platform/ops/themes.ops.js +47 -0
  658. package/dist/platform/ops/ui.ops.d.ts +8 -0
  659. package/dist/platform/ops/ui.ops.js +41 -0
  660. package/dist/platform/ops/unavailable.d.ts +23 -0
  661. package/dist/platform/ops/unavailable.js +118 -0
  662. package/dist/platform/parity.d.ts +33 -0
  663. package/dist/platform/parity.js +272 -0
  664. package/dist/platform/platform-ops.module.d.ts +43 -0
  665. package/dist/platform/platform-ops.module.js +142 -0
  666. package/dist/platform/platform.module.d.ts +8 -0
  667. package/dist/platform/platform.module.js +25 -0
  668. package/dist/platform/registry.d.ts +30 -0
  669. package/dist/platform/registry.js +111 -0
  670. package/dist/platform/route-schemas.d.ts +18 -0
  671. package/dist/platform/route-schemas.js +85 -0
  672. package/dist/roles/gateway-role.d.ts +18 -3
  673. package/dist/roles/gateway-role.js +33 -5
  674. package/dist/roles/gateway.module.d.ts +2 -1
  675. package/dist/roles/gateway.module.js +6 -3
  676. package/dist/roles/worker-role.d.ts +6 -4
  677. package/dist/roles/worker-role.js +14 -7
  678. package/dist/roles/worker.module.d.ts +1 -1
  679. package/dist/roles/worker.module.js +21 -1
  680. package/dist/runtime/context/build.d.ts +21 -13
  681. package/dist/runtime/context/build.js +106 -29
  682. package/dist/runtime/context/claude-tools.d.ts +4 -1
  683. package/dist/runtime/context/claude-tools.js +13 -12
  684. package/dist/runtime/context/compaction.js +24 -1
  685. package/dist/runtime/context/device-paths.d.ts +40 -0
  686. package/dist/runtime/context/device-paths.js +48 -0
  687. package/dist/runtime/context/legacy-text.d.ts +22 -0
  688. package/dist/runtime/context/legacy-text.js +37 -0
  689. package/dist/runtime/context/reminders.d.ts +2 -0
  690. package/dist/runtime/context/reminders.js +2 -0
  691. package/dist/runtime/context/run-context.d.ts +65 -0
  692. package/dist/runtime/context/run-context.js +215 -0
  693. package/dist/runtime/context/skills.d.ts +29 -11
  694. package/dist/runtime/context/skills.js +46 -32
  695. package/dist/runtime/context/tool-changes.d.ts +27 -0
  696. package/dist/runtime/context/tool-changes.js +60 -0
  697. package/dist/runtime/hook-calls.d.ts +8 -1
  698. package/dist/runtime/hook-calls.js +40 -7
  699. package/dist/runtime/langgraph-loop.d.ts +3 -1
  700. package/dist/runtime/langgraph-loop.js +36 -17
  701. package/dist/runtime/loop.d.ts +35 -6
  702. package/dist/runtime/maintenance.d.ts +9 -4
  703. package/dist/runtime/maintenance.js +35 -8
  704. package/dist/runtime/model-call.d.ts +54 -11
  705. package/dist/runtime/model-call.js +105 -28
  706. package/dist/runtime/providers.d.ts +149 -29
  707. package/dist/runtime/providers.js +332 -63
  708. package/dist/runtime/run-context.service.d.ts +65 -0
  709. package/dist/runtime/run-context.service.js +236 -0
  710. package/dist/runtime/run-control.d.ts +11 -1
  711. package/dist/runtime/run-control.js +12 -0
  712. package/dist/runtime/run-drafts.d.ts +85 -0
  713. package/dist/runtime/run-drafts.js +230 -0
  714. package/dist/runtime/run-finish.d.ts +1 -1
  715. package/dist/runtime/run-jobs.d.ts +3 -5
  716. package/dist/runtime/run-jobs.js +7 -9
  717. package/dist/runtime/run-queue.d.ts +62 -5
  718. package/dist/runtime/run-queue.js +313 -40
  719. package/dist/runtime/run-worker.d.ts +19 -8
  720. package/dist/runtime/run-worker.js +105 -44
  721. package/dist/runtime/runtime.module.js +13 -3
  722. package/dist/runtime/step-log.d.ts +15 -4
  723. package/dist/runtime/step-log.js +24 -7
  724. package/dist/runtime/stream.controller.d.ts +23 -1
  725. package/dist/runtime/stream.controller.js +60 -3
  726. package/dist/runtime/stream.d.ts +4 -1
  727. package/dist/runtime/stream.js +27 -3
  728. package/dist/runtime/subagents/child.d.ts +55 -7
  729. package/dist/runtime/subagents/child.js +105 -7
  730. package/dist/runtime/subagents/definition.d.ts +31 -26
  731. package/dist/runtime/subagents/definition.js +89 -142
  732. package/dist/runtime/subagents/deliveries.d.ts +71 -0
  733. package/dist/runtime/subagents/deliveries.js +228 -0
  734. package/dist/runtime/subagents/dispatch.d.ts +116 -27
  735. package/dist/runtime/subagents/dispatch.js +213 -142
  736. package/dist/runtime/subagents/limits.d.ts +24 -5
  737. package/dist/runtime/subagents/limits.js +40 -6
  738. package/dist/runtime/subagents/messages.d.ts +95 -0
  739. package/dist/runtime/subagents/messages.js +328 -0
  740. package/dist/runtime/subagents/org-agents.js +2 -1
  741. package/dist/runtime/subagents/preamble.d.ts +4 -4
  742. package/dist/runtime/subagents/preamble.js +9 -7
  743. package/dist/runtime/subagents/progress.d.ts +8 -6
  744. package/dist/runtime/subagents/progress.js +11 -6
  745. package/dist/runtime/subagents/render.d.ts +30 -0
  746. package/dist/runtime/subagents/render.js +53 -0
  747. package/dist/runtime/subagents/roster.d.ts +25 -8
  748. package/dist/runtime/subagents/roster.js +48 -12
  749. package/dist/runtime/subagents/skill-fork.d.ts +4 -3
  750. package/dist/runtime/subagents/skill-fork.js +9 -5
  751. package/dist/runtime/subagents/status.d.ts +14 -0
  752. package/dist/runtime/subagents/status.js +23 -0
  753. package/dist/runtime/subagents/subagents.service.d.ts +9 -6
  754. package/dist/runtime/subagents/subagents.service.js +13 -8
  755. package/dist/runtime/usage-report-jobs.d.ts +88 -0
  756. package/dist/runtime/usage-report-jobs.js +158 -0
  757. package/dist/runtime/usage-report.d.ts +35 -39
  758. package/dist/runtime/usage-report.js +171 -97
  759. package/dist/runtime/waits.d.ts +148 -39
  760. package/dist/runtime/waits.js +426 -112
  761. package/dist/sandbox/jobs.d.ts +40 -13
  762. package/dist/sandbox/jobs.js +57 -20
  763. package/dist/sandbox/leases.d.ts +37 -54
  764. package/dist/sandbox/leases.js +71 -115
  765. package/dist/sandbox/providers.d.ts +34 -7
  766. package/dist/sandbox/providers.js +54 -9
  767. package/dist/sandbox/sandbox-file-reader.d.ts +35 -0
  768. package/dist/sandbox/sandbox-file-reader.js +98 -0
  769. package/dist/sandbox/sandbox.module.d.ts +3 -2
  770. package/dist/sandbox/sandbox.module.js +10 -4
  771. package/dist/sandbox/sandbox.service.d.ts +345 -132
  772. package/dist/sandbox/sandbox.service.js +883 -399
  773. package/dist/sandbox/unreachable.d.ts +30 -0
  774. package/dist/sandbox/unreachable.js +108 -0
  775. package/dist/setup/kernel-checks.d.ts +91 -0
  776. package/dist/setup/kernel-checks.js +295 -0
  777. package/dist/setup/oauth-token-probe.d.ts +47 -0
  778. package/dist/setup/oauth-token-probe.js +108 -0
  779. package/dist/setup/redact-check.d.ts +18 -0
  780. package/dist/setup/redact-check.js +46 -0
  781. package/dist/setup/setup-check-registry.d.ts +86 -0
  782. package/dist/setup/setup-check-registry.js +75 -0
  783. package/dist/setup/setup-checks.controller.d.ts +28 -0
  784. package/dist/setup/setup-checks.controller.js +78 -0
  785. package/dist/setup/setup-checks.schemas.d.ts +38 -0
  786. package/dist/setup/setup-checks.schemas.js +43 -0
  787. package/dist/setup/setup-checks.service.d.ts +144 -0
  788. package/dist/setup/setup-checks.service.js +683 -0
  789. package/dist/setup/setup-guides.controller.d.ts +18 -0
  790. package/dist/setup/setup-guides.controller.js +48 -0
  791. package/dist/setup/setup-guides.schemas.d.ts +10 -0
  792. package/dist/setup/setup-guides.schemas.js +6 -0
  793. package/dist/setup/setup-guides.service.d.ts +126 -0
  794. package/dist/setup/setup-guides.service.js +315 -0
  795. package/dist/setup/setup.module.d.ts +8 -0
  796. package/dist/setup/setup.module.js +31 -0
  797. package/dist/skills/agent-skills.controller.d.ts +48 -0
  798. package/dist/skills/agent-skills.controller.js +131 -0
  799. package/dist/skills/agent-skills.service.d.ts +262 -0
  800. package/dist/skills/agent-skills.service.js +996 -0
  801. package/dist/skills/catalog.d.ts +14 -11
  802. package/dist/skills/catalog.js +32 -50
  803. package/dist/skills/changes.controller.d.ts +12 -22
  804. package/dist/skills/changes.controller.js +27 -56
  805. package/dist/skills/changes.service.d.ts +69 -115
  806. package/dist/skills/changes.service.js +249 -598
  807. package/dist/skills/conversation-catalog.d.ts +53 -0
  808. package/dist/skills/conversation-catalog.js +149 -0
  809. package/dist/skills/invocable.controller.d.ts +1 -1
  810. package/dist/skills/invocable.controller.js +2 -2
  811. package/dist/skills/invocation-keys.d.ts +1 -1
  812. package/dist/skills/invocation-keys.js +1 -1
  813. package/dist/skills/invoke.d.ts +3 -3
  814. package/dist/skills/invoke.js +21 -8
  815. package/dist/skills/package.d.ts +15 -1
  816. package/dist/skills/package.js +14 -1
  817. package/dist/skills/skills.controller.d.ts +32 -6
  818. package/dist/skills/skills.controller.js +64 -11
  819. package/dist/skills/skills.module.js +25 -3
  820. package/dist/skills/skills.schemas.d.ts +44 -0
  821. package/dist/skills/skills.schemas.js +68 -0
  822. package/dist/skills/skills.service.d.ts +123 -26
  823. package/dist/skills/skills.service.js +493 -76
  824. package/dist/skills/usable.d.ts +82 -0
  825. package/dist/skills/usable.js +388 -0
  826. package/dist/themes/render-css.d.ts +13 -0
  827. package/dist/themes/render-css.js +135 -0
  828. package/dist/themes/theme-delivery.service.d.ts +36 -0
  829. package/dist/themes/theme-delivery.service.js +116 -0
  830. package/dist/themes/theme-state.d.ts +116 -0
  831. package/dist/themes/theme-state.js +221 -0
  832. package/dist/themes/theme-usage.d.ts +61 -0
  833. package/dist/themes/theme-usage.js +98 -0
  834. package/dist/themes/themes-public.controller.d.ts +33 -0
  835. package/dist/themes/themes-public.controller.js +98 -0
  836. package/dist/themes/themes.controller.d.ts +13 -0
  837. package/dist/themes/themes.controller.js +38 -0
  838. package/dist/themes/themes.module.d.ts +3 -0
  839. package/dist/themes/themes.module.js +21 -0
  840. package/dist/themes/themes.schemas.d.ts +3 -0
  841. package/dist/themes/themes.schemas.js +2 -0
  842. package/dist/themes/themes.service.d.ts +50 -0
  843. package/dist/themes/themes.service.js +99 -0
  844. package/dist/time-zone.d.ts +5 -0
  845. package/dist/time-zone.js +19 -0
  846. package/dist/tools/admin-connectors.d.ts +69 -0
  847. package/dist/tools/admin-connectors.js +135 -0
  848. package/dist/tools/approvals.controller.js +2 -3
  849. package/dist/tools/approvals.schemas.d.ts +21 -0
  850. package/dist/tools/approvals.schemas.js +15 -0
  851. package/dist/tools/approvals.service.d.ts +26 -2
  852. package/dist/tools/approvals.service.js +44 -5
  853. package/dist/tools/builtin-names.d.ts +104 -0
  854. package/dist/tools/builtin-names.js +164 -0
  855. package/dist/tools/builtins/agent.d.ts +27 -25
  856. package/dist/tools/builtins/agent.js +66 -63
  857. package/dist/tools/builtins/ask-user.d.ts +1 -1
  858. package/dist/tools/builtins/ask-user.js +5 -4
  859. package/dist/tools/builtins/builtin-tools.d.ts +23 -4
  860. package/dist/tools/builtins/builtin-tools.js +78 -12
  861. package/dist/tools/builtins/current-time.d.ts +26 -0
  862. package/dist/tools/builtins/current-time.js +99 -0
  863. package/dist/tools/builtins/handback.d.ts +28 -0
  864. package/dist/tools/builtins/handback.js +53 -0
  865. package/dist/tools/builtins/platform.d.ts +51 -0
  866. package/dist/tools/builtins/platform.js +451 -0
  867. package/dist/tools/builtins/read-tool-output.d.ts +1 -1
  868. package/dist/tools/builtins/read-tool-output.js +2 -2
  869. package/dist/tools/builtins/sandbox/bash.d.ts +5 -5
  870. package/dist/tools/builtins/sandbox/bash.js +291 -39
  871. package/dist/tools/builtins/sandbox/common.d.ts +135 -36
  872. package/dist/tools/builtins/sandbox/common.js +222 -62
  873. package/dist/tools/builtins/sandbox/deliver.d.ts +1 -1
  874. package/dist/tools/builtins/sandbox/deliver.js +19 -16
  875. package/dist/tools/builtins/sandbox/edit.d.ts +1 -1
  876. package/dist/tools/builtins/sandbox/edit.js +64 -50
  877. package/dist/tools/builtins/sandbox/file-state.d.ts +34 -0
  878. package/dist/tools/builtins/sandbox/file-state.js +34 -0
  879. package/dist/tools/builtins/sandbox/glob-match.d.ts +1 -1
  880. package/dist/tools/builtins/sandbox/glob-match.js +1 -1
  881. package/dist/tools/builtins/sandbox/glob.d.ts +1 -1
  882. package/dist/tools/builtins/sandbox/glob.js +17 -12
  883. package/dist/tools/builtins/sandbox/grep.d.ts +7 -4
  884. package/dist/tools/builtins/sandbox/grep.js +153 -34
  885. package/dist/tools/builtins/sandbox/index.d.ts +9 -5
  886. package/dist/tools/builtins/sandbox/index.js +13 -5
  887. package/dist/tools/builtins/sandbox/read.d.ts +2 -2
  888. package/dist/tools/builtins/sandbox/read.js +29 -19
  889. package/dist/tools/builtins/sandbox/task-output.d.ts +79 -0
  890. package/dist/tools/builtins/sandbox/task-output.js +334 -0
  891. package/dist/tools/builtins/sandbox/task-stop.d.ts +10 -0
  892. package/dist/tools/builtins/sandbox/task-stop.js +113 -0
  893. package/dist/tools/builtins/sandbox/write.d.ts +1 -1
  894. package/dist/tools/builtins/sandbox/write.js +51 -44
  895. package/dist/tools/builtins/send-message.d.ts +56 -0
  896. package/dist/tools/builtins/send-message.js +100 -0
  897. package/dist/tools/builtins/skill-load.d.ts +29 -18
  898. package/dist/tools/builtins/skill-load.js +125 -73
  899. package/dist/tools/builtins/tool-search.d.ts +13 -9
  900. package/dist/tools/builtins/tool-search.js +25 -14
  901. package/dist/tools/builtins/web/errors.d.ts +8 -0
  902. package/dist/tools/builtins/web/errors.js +53 -0
  903. package/dist/tools/builtins/web/extract.d.ts +62 -0
  904. package/dist/tools/builtins/web/extract.js +271 -0
  905. package/dist/tools/builtins/web/fetch.d.ts +55 -0
  906. package/dist/tools/builtins/web/fetch.js +175 -0
  907. package/dist/tools/builtins/web/index.d.ts +13 -0
  908. package/dist/tools/builtins/web/index.js +12 -0
  909. package/dist/tools/builtins/web/page-cache.d.ts +25 -0
  910. package/dist/tools/builtins/web/page-cache.js +77 -0
  911. package/dist/tools/builtins/web/search.d.ts +25 -0
  912. package/dist/tools/builtins/web/search.js +210 -0
  913. package/dist/tools/builtins/web/url.d.ts +17 -0
  914. package/dist/tools/builtins/web/url.js +43 -0
  915. package/dist/tools/connector-account-policies.d.ts +51 -0
  916. package/dist/tools/connector-account-policies.js +165 -0
  917. package/dist/tools/connectors.controller.d.ts +74 -9
  918. package/dist/tools/connectors.controller.js +133 -16
  919. package/dist/tools/connectors.schemas.d.ts +27 -0
  920. package/dist/tools/connectors.schemas.js +34 -0
  921. package/dist/tools/connectors.service.d.ts +101 -8
  922. package/dist/tools/connectors.service.js +266 -28
  923. package/dist/tools/credentials.d.ts +23 -0
  924. package/dist/tools/credentials.js +90 -1
  925. package/dist/tools/display-names.d.ts +9 -0
  926. package/dist/tools/display-names.js +24 -0
  927. package/dist/tools/drift.js +5 -5
  928. package/dist/tools/elicitation.js +1 -1
  929. package/dist/tools/extension-tools.controller.d.ts +14 -0
  930. package/dist/tools/extension-tools.controller.js +37 -0
  931. package/dist/tools/info.d.ts +61 -4
  932. package/dist/tools/info.js +119 -33
  933. package/dist/tools/legacy-data.d.ts +34 -0
  934. package/dist/tools/legacy-data.js +76 -0
  935. package/dist/tools/legacy-keys.d.ts +51 -0
  936. package/dist/tools/legacy-keys.js +114 -0
  937. package/dist/tools/naming.d.ts +1 -5
  938. package/dist/tools/naming.js +1 -7
  939. package/dist/tools/oauth/flow-paths.d.ts +1 -1
  940. package/dist/tools/oauth/flow-paths.js +1 -1
  941. package/dist/tools/oauth/flow.js +1 -1
  942. package/dist/tools/oauth/tokens.d.ts +54 -7
  943. package/dist/tools/oauth/tokens.js +87 -17
  944. package/dist/tools/org-tool-switches.d.ts +89 -0
  945. package/dist/tools/org-tool-switches.js +201 -0
  946. package/dist/tools/outputs.js +1 -1
  947. package/dist/tools/pipeline.d.ts +67 -47
  948. package/dist/tools/pipeline.js +319 -380
  949. package/dist/tools/policy.d.ts +30 -23
  950. package/dist/tools/policy.js +142 -64
  951. package/dist/tools/questions.controller.d.ts +1 -1
  952. package/dist/tools/questions.controller.js +1 -1
  953. package/dist/tools/questions.service.d.ts +23 -2
  954. package/dist/tools/questions.service.js +104 -2
  955. package/dist/tools/registry.d.ts +189 -68
  956. package/dist/tools/registry.js +318 -236
  957. package/dist/tools/resources.d.ts +1 -1
  958. package/dist/tools/resources.js +1 -1
  959. package/dist/tools/tools.module.js +31 -3
  960. package/dist/tools/validate.js +1 -1
  961. package/dist/ui/admin-ui.controller.d.ts +56 -0
  962. package/dist/ui/admin-ui.controller.js +192 -0
  963. package/dist/ui/arrangement.d.ts +65 -0
  964. package/dist/ui/arrangement.js +171 -0
  965. package/dist/ui/embed-token.d.ts +2 -2
  966. package/dist/ui/embed-token.js +30 -5
  967. package/dist/ui/registry.d.ts +42 -17
  968. package/dist/ui/registry.js +46 -14
  969. package/dist/ui/slots.controller.d.ts +11 -0
  970. package/dist/ui/slots.controller.js +25 -0
  971. package/dist/ui/ui-stream.d.ts +20 -3
  972. package/dist/ui/ui-stream.js +25 -7
  973. package/dist/ui/ui.schemas.d.ts +70 -0
  974. package/dist/ui/ui.schemas.js +65 -0
  975. package/dist/ui/views.controller.d.ts +35 -49
  976. package/dist/ui/views.controller.js +48 -70
  977. package/dist/ui/views.d.ts +112 -18
  978. package/dist/ui/views.js +254 -47
  979. package/package.json +6 -3
  980. package/src/migrations/0063_tool_keys_claude_code.sql +220 -0
  981. package/src/migrations/0064_account_last_org.sql +7 -0
  982. package/src/migrations/0065_conversation_archive.sql +8 -0
  983. package/src/migrations/0066_extension_display_name.sql +4 -0
  984. package/src/migrations/0067_agent_profiles.sql +20 -0
  985. package/src/migrations/0068_agent_avatar_uploads.sql +7 -0
  986. package/src/migrations/0069_attachments_agent_idx.sql +3 -0
  987. package/src/migrations/0070_background_tasks.sql +37 -0
  988. package/src/migrations/0071_background_tasks_reserve.sql +6 -0
  989. package/src/migrations/0072_background_tasks_stopping.sql +5 -0
  990. package/src/migrations/0073_org_extension_point_defaults.sql +11 -0
  991. package/src/migrations/0074_subagent_tree.sql +50 -0
  992. package/src/migrations/0075_plugin_scope.sql +61 -0
  993. package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
  994. package/src/migrations/0077_scope_requests.sql +52 -0
  995. package/src/migrations/0078_scope_grant_switches.sql +18 -0
  996. package/src/migrations/0079_scope_live_install_switches.sql +19 -0
  997. package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
  998. package/src/migrations/0081_platform_components.sql +129 -0
  999. package/src/migrations/0082_platform_migration.sql +33 -0
  1000. package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
  1001. package/src/migrations/0084_org_owned_items.sql +85 -0
  1002. package/src/migrations/0085_agent_templates_phase4.sql +45 -0
  1003. package/src/migrations/0086_org_layering.sql +30 -0
  1004. package/src/migrations/0087_approval_summary.sql +6 -0
  1005. package/src/migrations/0088_environments.sql +80 -0
  1006. package/src/migrations/0089_model_kinds_usage.sql +38 -0
  1007. package/src/migrations/0090_initial_passwords.sql +27 -0
  1008. package/src/migrations/0091_account_time_zone.sql +4 -0
  1009. package/src/migrations/0092_tools_default_on.sql +27 -0
  1010. package/src/migrations/0093_connected_environments.sql +37 -0
  1011. package/src/migrations/0094_environment_paths_idx.sql +7 -0
  1012. package/src/migrations/0095_environment_files_resets.sql +5 -0
  1013. package/src/migrations/0096_environment_demoted_default.sql +18 -0
  1014. package/src/migrations/0097_extension_installs_enabled_at.sql +16 -0
  1015. package/src/migrations/0098_single_provider_running_first.sql +41 -0
  1016. package/src/migrations/0099_channel_connection_guide_ack.sql +6 -0
  1017. package/src/migrations/0100_catalog_files.sql +13 -0
  1018. package/src/migrations/0101_marketplace_icons.sql +32 -0
  1019. package/src/migrations/0102_themes.sql +64 -0
  1020. package/src/migrations/0103_ui_theme_setting.sql +7 -0
  1021. package/src/migrations/0104_connector_tool_account_policies.sql +16 -0
  1022. package/src/migrations/0105_devices_rename.sql +136 -0
  1023. package/src/migrations/0106_setup_guides_v2.sql +10 -0
  1024. package/src/migrations/0107_extension_client_builds.sql +50 -0
  1025. package/src/migrations/0108_question_skipped.sql +6 -0
  1026. package/src/migrations/0109_audit_platform_idx.sql +5 -0
  1027. package/src/migrations/0110_usage_time_idx.sql +8 -0
  1028. package/src/migrations/0111_agent_skill_sharing.sql +22 -0
  1029. package/src/migrations/0112_skill_share_requests.sql +4 -0
  1030. package/dist/catalog/upgrade-targets.d.ts +0 -56
  1031. package/dist/catalog/upgrade-targets.js +0 -90
  1032. package/dist/conversations/sandbox-status.d.ts +0 -24
  1033. package/dist/conversations/sandbox-status.js +0 -52
  1034. package/dist/extensions/org-config.controller.d.ts +0 -24
  1035. package/dist/extensions/org-config.controller.js +0 -62
  1036. package/dist/tools/builtins/sandbox/names.d.ts +0 -7
  1037. package/dist/tools/builtins/sandbox/names.js +0 -20
  1038. package/dist/tools/builtins/skill-write.d.ts +0 -59
  1039. package/dist/tools/builtins/skill-write.js +0 -244
@@ -0,0 +1,119 @@
1
+ // Turning 可共享 off on an org-owned item (ruling P3-25): an `optional` / `all` scope is narrowed, in
2
+ // the caller's transaction, to `named` = the owner plus every live org where the item is on right
3
+ // now, so the orgs already associated keep it and no new org can see, switch on or request it
4
+ // (§14.1 item 3). A `named` scope is left as it is: the gate in `requestable` and the writers
5
+ // already holds back new orgs there.
6
+ import { sql } from "kysely";
7
+ import { audit } from "../identity/audit.js";
8
+ import { componentOn, listedIn, loadScopeState, pluginFactsOf, switchOf, } from "./component-state.js";
9
+ const LIVE_INSTALL = ["installing", "installed", "upgrading"];
10
+ async function liveOrgIds(db) {
11
+ const rows = await db.selectFrom("orgs").select("id").where("deleted_at", "is", null).execute();
12
+ return rows.map((r) => r.id);
13
+ }
14
+ /**
15
+ * Narrows an org-owned plugin (row locked by the caller) whose scope is `optional` / `all` to
16
+ * `named` = owner + the live orgs with a live install or a switch on. Bumps `scope_version` and
17
+ * audits `catalog.scope_changed`; returns whether the scope changed (the caller enqueues the item's
18
+ * scope sync after the commit).
19
+ */
20
+ export async function narrowItemOnUnshare(db, actor, item) {
21
+ if (item.owner_org_id === null || item.scope === "named")
22
+ return false;
23
+ const live = new Set(await liveOrgIds(db));
24
+ const installs = await db
25
+ .selectFrom("plugin_installs")
26
+ .select("org_id")
27
+ .where("item_id", "=", item.id)
28
+ .where("status", "in", [...LIVE_INSTALL])
29
+ .execute();
30
+ const switches = await db
31
+ .selectFrom("catalog_item_org_switches")
32
+ .select("org_id")
33
+ .where("item_id", "=", item.id)
34
+ .where("enabled", "=", true)
35
+ .execute();
36
+ const orgs = [
37
+ ...new Set([
38
+ item.owner_org_id,
39
+ ...[...installs, ...switches].map((r) => r.org_id).filter((o) => live.has(o)),
40
+ ]),
41
+ ].sort();
42
+ await db
43
+ .updateTable("catalog_items")
44
+ .set({
45
+ scope: "named",
46
+ scope_version: sql `scope_version + 1`,
47
+ updated_at: sql `now()`,
48
+ })
49
+ .where("id", "=", item.id)
50
+ .execute();
51
+ await db.deleteFrom("catalog_item_scope_orgs").where("item_id", "=", item.id).execute();
52
+ await db
53
+ .insertInto("catalog_item_scope_orgs")
54
+ .values(orgs.map((org_id) => ({ item_id: item.id, org_id })))
55
+ .execute();
56
+ await audit(db, {
57
+ ...(actor !== null && { actorAccountId: actor }),
58
+ action: "catalog.scope_changed",
59
+ target: item.id,
60
+ detail: {
61
+ name: item.name,
62
+ from: { scope: item.scope, orgs: [] },
63
+ to: { scope: "named", orgs },
64
+ reason: "unshared",
65
+ },
66
+ });
67
+ return true;
68
+ }
69
+ /**
70
+ * Narrows an org-owned component with its own `optional` / `all` scope (row locked by the caller)
71
+ * to `named` = owner + the live orgs where it is on now ({@link componentOn}). A component that
72
+ * follows its plugin is narrowed with the plugin. Bumps `scope_version`, audits
73
+ * `component.scope_changed`.
74
+ */
75
+ export async function narrowComponentOnUnshare(db, actor, c) {
76
+ if (c.ownerOrgId === null || c.scopeMode !== "own" || c.scope === "named")
77
+ return false;
78
+ const st = await loadScopeState(db, c.kind, [c]);
79
+ const on = (await liveOrgIds(db)).filter((o) => componentOn(c, pluginFactsOf(st, c.itemId, o), listedIn(st, c.id, o), switchOf(st, c.id, o)));
80
+ const orgs = [...new Set([c.ownerOrgId, ...on])].sort();
81
+ await db
82
+ .updateTable(TABLE[c.kind])
83
+ .set({
84
+ scope: "named",
85
+ scope_version: sql `scope_version + 1`,
86
+ updated_at: sql `now()`,
87
+ })
88
+ .where("id", "=", c.id)
89
+ .execute();
90
+ await db
91
+ .deleteFrom("component_scope_orgs")
92
+ .where("kind", "=", c.kind)
93
+ .where("component_id", "=", c.id)
94
+ .execute();
95
+ await db
96
+ .insertInto("component_scope_orgs")
97
+ .values(orgs.map((org_id) => ({ kind: c.kind, component_id: c.id, org_id })))
98
+ .execute();
99
+ await audit(db, {
100
+ ...(actor !== null && { actorAccountId: actor }),
101
+ action: "component.scope_changed",
102
+ target: c.id,
103
+ detail: {
104
+ kind: c.kind,
105
+ name: c.name,
106
+ plugin: c.plugin,
107
+ from: { scopeMode: "own", scope: c.scope, orgs: [] },
108
+ to: { scopeMode: "own", scope: "named", orgs },
109
+ reason: "unshared",
110
+ },
111
+ });
112
+ return true;
113
+ }
114
+ const TABLE = {
115
+ skill: "platform_skills",
116
+ agent_template: "platform_agent_templates",
117
+ connector_template: "platform_connector_templates",
118
+ theme: "platform_themes",
119
+ };
@@ -1,5 +1,5 @@
1
+ import { imLocale, recipientLocale } from "../conversations/message-context.js";
1
2
  import { ApiError } from "../errors.js";
2
- import { readOrgSettings } from "../orgs/settings.service.js";
3
3
  import { idempotencyKey } from "./jobs.js";
4
4
  import { phrase } from "./phrases.js";
5
5
  import { findThread, threadKeyOf } from "./threads.js";
@@ -11,6 +11,7 @@ const REPLY_FOR = {
11
11
  "approval.already_decided": "alreadyHandled",
12
12
  "question.already_answered": "alreadyHandled",
13
13
  validation_failed: "invalidAction",
14
+ "approval.scope_not_allowed": "invalidAction",
14
15
  };
15
16
  /**
16
17
  * IM 卡片上的按钮操作(Review Focus 2):点击者按入站同样的规则映射到账号(未绑定 → 私聊回绑定卡片、群里只提示去私聊),
@@ -31,7 +32,10 @@ export class ChannelCardActions {
31
32
  // 连接停用、组织已删除或插件在该组织停用(停用广播与长连接断开之间仍可能有事件到达):什么都不做
32
33
  if (row?.status !== "active" || !row.pluginEnabled)
33
34
  return;
34
- const { locale } = await readOrgSettings(this.deps.db, row.orgId);
35
+ // the clicker's language (maintainer decision 2026-11-08): the platform's, else the org's
36
+ // until the clicker is resolved, then their latest web message's (see below)
37
+ const im = imLocale(e.sender.locale);
38
+ let locale = await recipientLocale(this.deps.db, { orgId: row.orgId, im });
35
39
  const a = e.action;
36
40
  // Ruling A13:卡片必须是本连接发在这个 chat 里的(防止伪造卡片 id 去处理别处的请求)。
37
41
  // A `pending` row counts (T5a): delivery records the card before sending it, so a click that
@@ -47,7 +51,7 @@ export class ChannelCardActions {
47
51
  // 有平台事件 id 时回复带幂等键(任务重试不重复回复);没有时同一张卡片的不同点击无法区分,不带
48
52
  const key = e.eventId !== undefined ? idempotencyKey(`${connectionId}-${e.eventId}-reply`) : undefined;
49
53
  const replyTo = (t) => async (k, cards) => {
50
- await connections.send(connectionId, t, { text: phrase(k, locale), ...(cards !== undefined && { cards }) }, key);
54
+ await connections.send(connectionId, t, { text: phrase(k, locale), ...(cards !== undefined && { cards }) }, key, locale);
51
55
  };
52
56
  // Ruling A13:卡片必须是本连接发在这个 chat 里的(防止伪造卡片 id 去处理别处的请求)。在解析发言人之前判断:
53
57
  // 卡片 id 被转发 / 重放到别的会话时,绝不在那里发绑定链接或绑定任何人——只回一句「不能处理」,并按群处理
@@ -74,6 +78,9 @@ export class ChannelCardActions {
74
78
  const who = await this.deps.resolveSpeaker(connectionId, row, e.sender, isGroup, locale, reply);
75
79
  if (who === undefined)
76
80
  return;
81
+ if (im === undefined && who.threadAccount !== null) {
82
+ locale = await recipientLocale(this.deps.db, { orgId: row.orgId, accountId: who.accountId });
83
+ }
77
84
  // 匿名访客共用一个账号:只能处理自己话题里的卡片,且不能留下「本会话 / 以后都允许」的授权
78
85
  const anonymous = who.threadAccount === null;
79
86
  if (anonymous) {
@@ -1,9 +1,13 @@
1
- import type { ChannelCard, FormAnswer, InputForm, OutboundMessage } from "@capybara-hq/plugin-sdk";
1
+ import { type ChannelCard, type FormAnswer, type InputForm, type OutboundMessage } from "@capybara-hq/plugin-sdk";
2
2
  import type { KernelSchemaDb } from "../db/kernel-schema.js";
3
- import type { ApprovalsService } from "../tools/approvals.service.js";
3
+ import type { ApprovalsService, ApprovalView } from "../tools/approvals.service.js";
4
+ import { type ToolInfo } from "../tools/info.js";
5
+ import type { ToolRegistry } from "../tools/registry.js";
4
6
  import { type ChannelLocale } from "./phrases.js";
5
- /** 审批卡片里工具参数预览的最大长度(字符)。 */
6
- export declare const INPUT_PREVIEW_MAX = 500;
7
+ /** The longest call line of an approval card (characters, the ellipsis included). */
8
+ export declare const CARD_SUMMARY_MAX = 300;
9
+ /** The longest key argument quoted in a call line without a summary (its first line). */
10
+ export declare const KEY_ARG_MAX = 120;
7
11
  /**
8
12
  * 看起来是凭据的参数名(按整词判断,避免误伤 `max_tokens` 这类键):其值在 IM 卡片里打码。
9
13
  * 工具参数由模型生成,内核没有「本次注入的凭据」可比对(那是工具结果的打码方式,见 tools/redact.ts),
@@ -13,23 +17,41 @@ export declare function isSecretKey(key: string): boolean;
13
17
  /** 递归复制,键名像凭据的值替换为 `***`。 */
14
18
  export declare function maskSecrets(value: unknown): unknown;
15
19
  /**
16
- * 工具参数预览:凭据样式的键打码后序列化为 JSON,再经 `redact`(连接密钥的按值打码)处理,
17
- * 截断到 {@link INPUT_PREVIEW_MAX} 字符(含省略号)。
20
+ * The key argument of a call, as the web's tool row picks it: the first declared key argument
21
+ * present, else the first string input other than `description`. Credential-like keys are skipped
22
+ * (see {@link isSecretKey}); the value's first line, cut to {@link KEY_ARG_MAX}.
18
23
  */
19
- export declare function inputPreview(input: unknown, redact?: (s: string) => string): string;
24
+ export declare function keyArgument(input: unknown, keyArgs: readonly string[]): string | undefined;
25
+ /**
26
+ * The approval card's one line about the call (maintainer decision 2026-11-08: what the web
27
+ * shows, never the raw input, which may hold a whole prompt and is seen by everyone in a group):
28
+ * the kernel-rendered summary in the card's language (Platform operations, per-call policies),
29
+ * else the tool's declared title and key argument (`Title: arg`, either alone), else "". Redacted
30
+ * by `redact` (the connection's secret values), cut to {@link CARD_SUMMARY_MAX}. The full input is
31
+ * behind the card's web link.
32
+ */
33
+ export declare function callSummary(v: Pick<ApprovalView, "summary" | "input">, display: Pick<ToolInfo, "title" | "keyArgs"> | undefined, locale: ChannelLocale, redact?: (s: string) => string): string;
20
34
  /** 去掉末尾斜杠的 `http.publicUrl`;未配置返回 undefined。 */
21
35
  export declare function webBase(publicUrl: string | undefined): string | undefined;
22
36
  /** 会话的网页链接(与审批详情的 `conversationPath` 一致:`/chat/<id>`,不含语言前缀)。 */
23
37
  export declare const conversationUrl: (base: string, conversationId: string) => string;
24
38
  /** 个人连接页里某个连接器的位置(与网页 ConnectCard 的链接一致)。 */
25
39
  export declare const connectUrl: (base: string, connectorId: string) => string;
40
+ /**
41
+ * The tool as the card names it (tool naming spec §7): a builtin by its name; a connector or
42
+ * extension tool as `<display name> [<tool>]` (the connector's name, the plugin's display name in
43
+ * the card's language), the way the web labels it.
44
+ */
45
+ export declare function approvalToolName(v: Pick<ApprovalView, "toolKey" | "toolName" | "connector" | "extension">, locale: ChannelLocale): string;
26
46
  export interface CardDeps {
27
47
  db: KernelSchemaDb;
28
48
  approvals: Pick<ApprovalsService, "describe">;
49
+ /** The tools' display metadata (title, key arguments) for a call without a summary. */
50
+ registry: Pick<ToolRegistry, "builtinSpecs" | "extensionToolSpecs">;
29
51
  }
30
52
  /**
31
- * 审批卡片(按审批的当前状态);审批不存在返回 undefined。按角色升级的审批只能「仅此一次」。
32
- * `webUrl` = `http.publicUrl` + 会话路径。
53
+ * The approval card in the approval's current state; undefined when the approval does not exist.
54
+ * A role escalation offers only "once". `webUrl` = `http.publicUrl` + the conversation path.
33
55
  */
34
56
  export declare function approvalCard(d: CardDeps, approvalId: string, base: string, locale: ChannelLocale, redact?: (s: string) => string): Promise<Extract<ChannelCard, {
35
57
  kind: "approval";
@@ -37,7 +59,11 @@ export declare function approvalCard(d: CardDeps, approvalId: string, base: stri
37
59
  /** 答案摘要:每个字段的值(多选用逗号连接),多个字段用分号分隔。 */
38
60
  export declare function answerSummary(answer: FormAnswer | null): string | undefined;
39
61
  /** 提问卡片。不能在 IM 内作答的表单(`questionRenderableInline` 为 false)由渠道只渲染网页链接。 */
40
- export declare function questionCard(questionId: string, form: InputForm, state: "pending" | "answered" | "expired" | "cancelled", webUrl: string, answer?: FormAnswer | null): Extract<ChannelCard, {
62
+ export declare function questionCard(questionId: string, form: InputForm, state: Extract<ChannelCard, {
63
+ kind: "question";
64
+ }>["state"], webUrl: string, answer?: FormAnswer | null,
65
+ /** A pending card of the delivered conversation's own run: a text reply also works (§10.2). */
66
+ textReply?: "plain" | "mention"): Extract<ChannelCard, {
41
67
  kind: "question";
42
68
  }>;
43
69
  /** 一条只带一张卡片的消息(随附文本为固定话术)。 */
@@ -1,7 +1,10 @@
1
- import { KEY_SEPARATOR } from "../tools/naming.js";
1
+ import { parseToolKey, } from "@capybara-hq/plugin-sdk";
2
+ import { toolInfo } from "../tools/info.js";
2
3
  import { phrase } from "./phrases.js";
3
- /** 审批卡片里工具参数预览的最大长度(字符)。 */
4
- export const INPUT_PREVIEW_MAX = 500;
4
+ /** The longest call line of an approval card (characters, the ellipsis included). */
5
+ export const CARD_SUMMARY_MAX = 300;
6
+ /** The longest key argument quoted in a call line without a summary (its first line). */
7
+ export const KEY_ARG_MAX = 120;
5
8
  /** 打码后替换成的文本。 */
6
9
  const MASK = "***";
7
10
  /** 出现即视为凭据的整词。 */
@@ -62,19 +65,70 @@ export function maskSecrets(value) {
62
65
  }
63
66
  return value;
64
67
  }
65
- /**
66
- * 工具参数预览:凭据样式的键打码后序列化为 JSON,再经 `redact`(连接密钥的按值打码)处理,
67
- * 截断到 {@link INPUT_PREVIEW_MAX} 字符(含省略号)。
68
- */
69
- export function inputPreview(input, redact = (s) => s) {
70
- let s;
68
+ const cut = (s, max) => (s.length <= max ? s : `${s.slice(0, max - 1)}…`);
69
+ const firstLine = (s) => s
70
+ .split(/\r?\n/)
71
+ .find((l) => l.trim() !== "")
72
+ ?.trim() ?? "";
73
+ const valueText = (v) => {
74
+ if (typeof v === "string")
75
+ return v;
71
76
  try {
72
- s = redact(JSON.stringify(maskSecrets(input ?? {})) ?? "");
77
+ return JSON.stringify(v) ?? "";
73
78
  }
74
79
  catch {
75
- s = "";
80
+ return "";
81
+ }
82
+ };
83
+ /**
84
+ * The key argument of a call, as the web's tool row picks it: the first declared key argument
85
+ * present, else the first string input other than `description`. Credential-like keys are skipped
86
+ * (see {@link isSecretKey}); the value's first line, cut to {@link KEY_ARG_MAX}.
87
+ */
88
+ export function keyArgument(input, keyArgs) {
89
+ if (typeof input !== "object" || input === null || Array.isArray(input))
90
+ return undefined;
91
+ const rec = input;
92
+ // a structured value is shown as compact JSON with nested credential-like keys masked
93
+ const pick = (v) => {
94
+ const line = firstLine(valueText(maskSecrets(v)));
95
+ return line === "" ? undefined : cut(line, KEY_ARG_MAX);
96
+ };
97
+ for (const k of keyArgs) {
98
+ if (Object.hasOwn(rec, k) && rec[k] !== undefined && !isSecretKey(k)) {
99
+ const v = pick(rec[k]);
100
+ if (v !== undefined)
101
+ return v;
102
+ }
103
+ }
104
+ for (const [k, v] of Object.entries(rec)) {
105
+ if (typeof v === "string" && k !== "description" && !isSecretKey(k)) {
106
+ const line = pick(v);
107
+ if (line !== undefined)
108
+ return line;
109
+ }
76
110
  }
77
- return s.length <= INPUT_PREVIEW_MAX ? s : `${s.slice(0, INPUT_PREVIEW_MAX - 1)}…`;
111
+ return undefined;
112
+ }
113
+ /**
114
+ * The approval card's one line about the call (maintainer decision 2026-11-08: what the web
115
+ * shows, never the raw input, which may hold a whole prompt and is seen by everyone in a group):
116
+ * the kernel-rendered summary in the card's language (Platform operations, per-call policies),
117
+ * else the tool's declared title and key argument (`Title: arg`, either alone), else "". Redacted
118
+ * by `redact` (the connection's secret values), cut to {@link CARD_SUMMARY_MAX}. The full input is
119
+ * behind the card's web link.
120
+ */
121
+ export function callSummary(v, display, locale, redact = (s) => s) {
122
+ let line;
123
+ if (v.summary !== null) {
124
+ line = v.summary[locale];
125
+ }
126
+ else {
127
+ const title = display?.title?.trim() || undefined;
128
+ const arg = keyArgument(v.input, display?.keyArgs ?? []);
129
+ line = title !== undefined && arg !== undefined ? `${title}: ${arg}` : (title ?? arg ?? "");
130
+ }
131
+ return cut(redact(line), CARD_SUMMARY_MAX);
78
132
  }
79
133
  /** 去掉末尾斜杠的 `http.publicUrl`;未配置返回 undefined。 */
80
134
  export function webBase(publicUrl) {
@@ -83,13 +137,26 @@ export function webBase(publicUrl) {
83
137
  /** 会话的网页链接(与审批详情的 `conversationPath` 一致:`/chat/<id>`,不含语言前缀)。 */
84
138
  export const conversationUrl = (base, conversationId) => `${base}/chat/${conversationId}`;
85
139
  /** 个人连接页里某个连接器的位置(与网页 ConnectCard 的链接一致)。 */
86
- export const connectUrl = (base, connectorId) => `${base}/settings/connections#connector-${encodeURIComponent(connectorId)}`;
87
- /** 来源内的工具名:连接器工具去掉 `<slug>__`(审批详情已处理),插件工具去掉 `<插件>__`。 */
88
- function shortToolName(v) {
140
+ export const connectUrl = (base, connectorId) => `${base}/account/connections#connector-${encodeURIComponent(connectorId)}`;
141
+ const PLATFORM_KEY_PREFIX = "Platform:";
142
+ /**
143
+ * The tool as the card names it (tool naming spec §7): a builtin by its name; a connector or
144
+ * extension tool as `<display name> [<tool>]` (the connector's name, the plugin's display name in
145
+ * the card's language), the way the web labels it.
146
+ */
147
+ export function approvalToolName(v, locale) {
148
+ // a Platform call is keyed `Platform:<operation>`: the label names the operation
149
+ if (v.toolKey.startsWith(PLATFORM_KEY_PREFIX)) {
150
+ return `Platform [${v.toolKey.slice(PLATFORM_KEY_PREFIX.length)}]`;
151
+ }
152
+ // `toolName` is already the connector's own name for its tool
89
153
  if (v.connector)
90
- return v.toolName;
91
- const i = v.toolKey.indexOf(KEY_SEPARATOR);
92
- return i > 0 ? v.toolKey.slice(i + KEY_SEPARATOR.length) : v.toolKey;
154
+ return `${v.connector.name} [${v.toolName}]`;
155
+ const parsed = parseToolKey(v.toolKey);
156
+ const tool = parsed && parsed.kind !== "builtin" ? parsed.tool : v.toolName;
157
+ if (v.extension)
158
+ return `${v.extension.displayName[locale]} [${tool}]`;
159
+ return v.toolKey;
93
160
  }
94
161
  /** 账号显示名;不存在返回 undefined。 */
95
162
  async function displayName(db, accountId) {
@@ -103,23 +170,28 @@ async function displayName(db, accountId) {
103
170
  return r?.display_name || undefined;
104
171
  }
105
172
  /**
106
- * 审批卡片(按审批的当前状态);审批不存在返回 undefined。按角色升级的审批只能「仅此一次」。
107
- * `webUrl` = `http.publicUrl` + 会话路径。
173
+ * The approval card in the approval's current state; undefined when the approval does not exist.
174
+ * A role escalation offers only "once". `webUrl` = `http.publicUrl` + the conversation path.
108
175
  */
109
176
  export async function approvalCard(d, approvalId, base, locale, redact) {
110
177
  const v = await d.approvals.describe(approvalId);
111
178
  if (!v)
112
179
  return undefined;
113
180
  const decidedBy = await displayName(d.db, v.decidedBy);
181
+ const display = v.summary === null
182
+ ? (await toolInfo({ db: d.db, registry: d.registry }, v.orgId, [v.toolKey]))[0]
183
+ : undefined;
114
184
  return {
115
185
  kind: "approval",
116
186
  id: v.id,
117
187
  title: phrase("approvalTitle", locale),
118
- toolName: shortToolName(v),
119
- ...(v.connector && { appName: v.connector.name }),
188
+ // the label carries the source, so no separate appName (renderers would repeat it)
189
+ toolName: approvalToolName(v, locale),
120
190
  agentName: v.agent.name || "Agent",
121
- inputPreview: inputPreview(v.input, redact),
122
- scopes: v.requestedFor === null ? ["once"] : ["once", "session", "always"],
191
+ // the field keeps its contract name; it carries the call line, never the raw input
192
+ inputPreview: callSummary(v, display, locale, redact),
193
+ // the scopes the approval allows (the kernel stores them for per-call policies)
194
+ scopes: v.scopes,
123
195
  expiresAt: v.expiresAt,
124
196
  state: v.status,
125
197
  ...(decidedBy !== undefined && { decidedBy }),
@@ -138,7 +210,9 @@ export function answerSummary(answer) {
138
210
  return parts.length === 0 ? undefined : parts.join("; ");
139
211
  }
140
212
  /** 提问卡片。不能在 IM 内作答的表单(`questionRenderableInline` 为 false)由渠道只渲染网页链接。 */
141
- export function questionCard(questionId, form, state, webUrl, answer = null) {
213
+ export function questionCard(questionId, form, state, webUrl, answer = null,
214
+ /** A pending card of the delivered conversation's own run: a text reply also works (§10.2). */
215
+ textReply) {
142
216
  const summary = answerSummary(answer);
143
217
  return {
144
218
  kind: "question",
@@ -147,6 +221,7 @@ export function questionCard(questionId, form, state, webUrl, answer = null) {
147
221
  state,
148
222
  ...(summary !== undefined && { answerSummary: summary }),
149
223
  webUrl,
224
+ ...(state === "pending" && textReply !== undefined && { textReply }),
150
225
  };
151
226
  }
152
227
  /** 一条只带一张卡片的消息(随附文本为固定话术)。 */
@@ -12,6 +12,7 @@ import { OnWorkerEvent, WorkerHost } from "@nestjs/bullmq";
12
12
  import { Inject, Injectable, Module } from "@nestjs/common";
13
13
  import { ConversationsModule } from "../conversations/conversations.module.js";
14
14
  import { EventLogModule } from "../conversations/event-log.js";
15
+ import { DevicesModule } from "../devices/devices.module.js";
15
16
  import { ExtensionsModule } from "../extensions/extensions.module.js";
16
17
  import { IdentityModule } from "../identity/identity.module.js";
17
18
  import { configuredProcessor, } from "../infra/queue/configured-processor.js";
@@ -26,6 +27,8 @@ import { ChannelInbound } from "./inbound.js";
26
27
  import { CHANNEL_QUEUE_NAME, ChannelJobs } from "./jobs.js";
27
28
  import { ChannelOutbound, deliverBackoff } from "./outbound.js";
28
29
  import { AnonymousGuestLock, AnonymousGuests } from "./threads.js";
30
+ /** The channel queue's registration (its producer here; the admin health reads its counts). */
31
+ const CHANNEL_QUEUE_MODULE = QueueModule.registerQueue(CHANNEL_QUEUE_NAME);
29
32
  /**
30
33
  * Channels on every role: the org's channel connections, inbound (dedupe and enqueue; the inbound
31
34
  * jobs), the outbound delivery, the producer of the channel queue `cap-kernel-channels`, the
@@ -38,6 +41,7 @@ let ChannelsModule = class ChannelsModule {
38
41
  ChannelsModule = __decorate([
39
42
  Module({
40
43
  imports: [
44
+ DevicesModule,
41
45
  EventLogModule,
42
46
  ExtensionsModule,
43
47
  IdentityModule,
@@ -46,7 +50,7 @@ ChannelsModule = __decorate([
46
50
  ToolsModule,
47
51
  ConversationsModule,
48
52
  RuntimeModule,
49
- QueueModule.registerQueue(CHANNEL_QUEUE_NAME),
53
+ CHANNEL_QUEUE_MODULE,
50
54
  ],
51
55
  providers: [
52
56
  ChannelJobs,
@@ -56,7 +60,14 @@ ChannelsModule = __decorate([
56
60
  ChannelInbound,
57
61
  ChannelOutbound,
58
62
  ],
59
- exports: [ChannelJobs, ChannelConnections, AnonymousGuests, ChannelInbound, ChannelOutbound],
63
+ exports: [
64
+ ChannelJobs,
65
+ ChannelConnections,
66
+ AnonymousGuests,
67
+ ChannelInbound,
68
+ ChannelOutbound,
69
+ CHANNEL_QUEUE_MODULE,
70
+ ],
60
71
  })
61
72
  ], ChannelsModule);
62
73
  export { ChannelsModule };
@@ -0,0 +1,41 @@
1
+ import { z } from "zod";
2
+ import type { RouteSchemas } from "../platform/route-schemas.js";
3
+ export declare const ChannelCreateSchema: z.ZodObject<{
4
+ plugin: z.ZodString;
5
+ name: z.ZodString;
6
+ agentId: z.ZodString;
7
+ config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
8
+ unboundPolicy: z.ZodOptional<z.ZodEnum<{
9
+ anonymous: "anonymous";
10
+ bind: "bind";
11
+ }>>;
12
+ inboundMode: z.ZodOptional<z.ZodEnum<{
13
+ long_connection: "long_connection";
14
+ webhook: "webhook";
15
+ }>>;
16
+ }, z.core.$strict>;
17
+ export declare const ChannelPatchSchema: z.ZodObject<{
18
+ name: z.ZodOptional<z.ZodString>;
19
+ agentId: z.ZodOptional<z.ZodString>;
20
+ unboundPolicy: z.ZodOptional<z.ZodEnum<{
21
+ anonymous: "anonymous";
22
+ bind: "bind";
23
+ }>>;
24
+ status: z.ZodOptional<z.ZodEnum<{
25
+ active: "active";
26
+ disabled: "disabled";
27
+ }>>;
28
+ inboundMode: z.ZodOptional<z.ZodEnum<{
29
+ long_connection: "long_connection";
30
+ webhook: "webhook";
31
+ }>>;
32
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
33
+ }, z.core.$strict>;
34
+ /** 「我已更新应用」: the template hash of the setup guide the person was shown. */
35
+ export declare const ChannelGuideAckSchema: z.ZodObject<{
36
+ hash: z.ZodString;
37
+ }, z.core.$strict>;
38
+ export declare const ChannelPathParams: z.ZodObject<{
39
+ connectionId: z.ZodString;
40
+ }, z.core.$strip>;
41
+ export declare const CHANNEL_ROUTES: readonly RouteSchemas[];
@@ -0,0 +1,40 @@
1
+ import { z } from "zod";
2
+ const Config = z.record(z.string().max(200), z.unknown());
3
+ const Policy = z.enum(["bind", "anonymous"]);
4
+ export const ChannelCreateSchema = z
5
+ .object({
6
+ plugin: z.string().min(1).max(214),
7
+ name: z.string().trim().min(1).max(100),
8
+ agentId: z.string().min(1).max(100),
9
+ config: Config,
10
+ unboundPolicy: Policy.optional(),
11
+ // default long_connection; webhook needs plugin support and channels.webhookBaseUrl (409)
12
+ inboundMode: z.enum(["long_connection", "webhook"]).optional(),
13
+ })
14
+ .strict();
15
+ export const ChannelPatchSchema = z
16
+ .object({
17
+ name: z.string().trim().min(1).max(100).optional(),
18
+ agentId: z.string().min(1).max(100).optional(),
19
+ unboundPolicy: Policy.optional(),
20
+ status: z.enum(["active", "disabled"]).optional(),
21
+ // webhook needs plugin support and channels.webhookBaseUrl (409 channel.webhook_unavailable)
22
+ inboundMode: z.enum(["long_connection", "webhook"]).optional(),
23
+ config: Config.optional(),
24
+ })
25
+ .strict();
26
+ /** 「我已更新应用」: the template hash of the setup guide the person was shown. */
27
+ export const ChannelGuideAckSchema = z
28
+ .object({ hash: z.string().regex(/^[0-9a-f]{64}$/) })
29
+ .strict();
30
+ export const ChannelPathParams = z.object({ connectionId: z.string().min(1).max(100) });
31
+ export const CHANNEL_ROUTES = [
32
+ { route: "GET /api/v1/orgs/:orgId/channels" },
33
+ { route: "GET /api/v1/orgs/:orgId/channels/:connectionId", params: ChannelPathParams },
34
+ {
35
+ route: "PATCH /api/v1/orgs/:orgId/channels/:connectionId",
36
+ params: ChannelPathParams,
37
+ body: ChannelPatchSchema,
38
+ },
39
+ { route: "DELETE /api/v1/orgs/:orgId/channels/:connectionId", params: ChannelPathParams },
40
+ ];