@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
@@ -9,8 +9,17 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
9
9
  };
10
10
  import { randomUUID } from "node:crypto";
11
11
  import { Inject, Injectable } from "@nestjs/common";
12
+ import { sql } from "kysely";
13
+ import { componentOn } from "../catalog/component-state.js";
14
+ import { ownerOf, ownersOf } from "../catalog/ownership.js";
12
15
  import { KernelDb } from "../infra/database/kernel-db.js";
13
- import { canonicalJson } from "../tools/registry.js";
16
+ import { canonicalJson } from "../tools/canonical-json.js";
17
+ import { loadLegacyScope } from "../tools/legacy-data.js";
18
+ import { needsLegacyScope, normalizeToolKeys } from "./definition.js";
19
+ /** The roster type of a template: `<plugin>:<name>`, the bare `<name>` without a plugin. */
20
+ export const templateTypeOf = (plugin, name) => plugin ? `${plugin}:${name}` : name;
21
+ /** Plugin install statuses that make a plugin on in the org (phase 1, org catalog state). */
22
+ const LIVE_INSTALL = ["installing", "installed", "upgrading"];
14
23
  const baseQuery = (db, orgId) => db
15
24
  .selectFrom("agent_templates as t")
16
25
  .innerJoin("agent_template_versions as v", (j) => j.onRef("v.template_id", "=", "t.id").onRef("v.version", "=", "t.current_version"))
@@ -20,30 +29,457 @@ const baseQuery = (db, orgId) => db
20
29
  "t.plugin_name",
21
30
  "t.current_version",
22
31
  "t.catalog_item_id",
32
+ "t.platform_template_id",
33
+ "t.pinned_version",
23
34
  "v.definition",
24
35
  "v.source_format",
25
36
  "v.catalog_version",
26
37
  ])
27
38
  .where("t.org_id", "=", orgId)
28
39
  .where("t.deleted_at", "is", null);
29
- const rowOf = (r) => ({
40
+ /**
41
+ * The ids among `platformIds` of the live platform templates owned by `orgId` (promoted from its
42
+ * own templates, ruling P3-3).
43
+ */
44
+ async function ownedPlatformIds(db, orgId, platformIds) {
45
+ if (platformIds.length === 0)
46
+ return new Set();
47
+ const rows = await db
48
+ .selectFrom("platform_agent_templates")
49
+ .select("id")
50
+ .where("id", "in", [...new Set(platformIds)])
51
+ .where("owner_org_id", "=", orgId)
52
+ .where("deleted_at", "is", null)
53
+ .execute();
54
+ return new Set(rows.map((r) => r.id));
55
+ }
56
+ /**
57
+ * Stored rows as {@link TemplateRow}s; tool keys read as current keys (tool naming spec §8.3): old
58
+ * builtin names always, rc `<x>__<tool>` keys with the org's legacy scope, read once when needed.
59
+ */
60
+ async function normalized(db, orgId, rows) {
61
+ const scope = rows.some((r) => needsLegacyScope(r.definition))
62
+ ? await loadLegacyScope(db, orgId)
63
+ : undefined;
64
+ return rows.map(({ definition, ...r }) => ({
65
+ ...r,
66
+ template: normalizeToolKeys(definition, scope),
67
+ }));
68
+ }
69
+ const orgRaw = (r) => ({
30
70
  id: r.id,
31
71
  name: r.name,
32
72
  plugin: r.plugin_name,
33
73
  version: r.current_version,
34
- template: r.definition,
74
+ definition: r.definition,
35
75
  sourceFormat: r.source_format,
36
76
  catalogItemId: r.catalog_item_id,
37
77
  catalogVersion: r.catalog_version,
78
+ // a pinned copy keeps its link but serves its own version: no platform content source
79
+ origin: "org",
38
80
  });
39
- /** The live templates of `ids` in the org (deleted and foreign ids are left out), by id. */
40
- export async function loadTemplates(db, orgId, ids) {
81
+ /** The live platform template rows on in the org (`ids`: only those), before any type clash. */
82
+ async function platformRowsOn(db, orgId, ids) {
83
+ if (ids !== undefined && ids.length === 0)
84
+ return [];
85
+ let q = db
86
+ .selectFrom("platform_agent_templates as p")
87
+ .innerJoin("platform_agent_template_versions as v", (j) => j.onRef("v.template_id", "=", "p.id").onRef("v.version", "=", "p.current_version"))
88
+ .leftJoin("catalog_items as c", (j) => j.onRef("c.id", "=", "p.catalog_item_id").on("c.deleted_at", "is", null))
89
+ .select((eb) => [
90
+ "p.id",
91
+ "p.name",
92
+ "p.plugin_name",
93
+ "p.catalog_item_id",
94
+ "p.current_version",
95
+ "p.scope_mode",
96
+ "p.scope",
97
+ "v.definition",
98
+ "v.source_format",
99
+ "v.catalog_version",
100
+ "c.id as item_id",
101
+ "c.disabled as item_disabled",
102
+ "c.builtin as item_builtin",
103
+ eb
104
+ .exists(eb
105
+ .selectFrom("plugin_installs as a")
106
+ .select("a.id")
107
+ .whereRef("a.item_id", "=", "p.catalog_item_id")
108
+ .where("a.org_id", "=", orgId)
109
+ .where("a.status", "in", [...LIVE_INSTALL]))
110
+ .as("installed"),
111
+ eb
112
+ .exists(eb
113
+ .selectFrom("component_scope_orgs as l")
114
+ .select("l.org_id")
115
+ .where("l.kind", "=", "agent_template")
116
+ .whereRef("l.component_id", "=", "p.id")
117
+ .where("l.org_id", "=", orgId))
118
+ .as("listed"),
119
+ eb
120
+ .selectFrom("component_org_switches as w")
121
+ .select("w.enabled")
122
+ .where("w.kind", "=", "agent_template")
123
+ .whereRef("w.component_id", "=", "p.id")
124
+ .where("w.org_id", "=", orgId)
125
+ .as("switch"),
126
+ ])
127
+ .where("p.deleted_at", "is", null)
128
+ .where("p.disabled", "=", false);
129
+ if (ids !== undefined)
130
+ q = q.where("p.id", "in", [...ids]);
131
+ // the predicate of component scope (catalog/component-state.ts); `disabled` is filtered above
132
+ return (await q.execute()).filter((r) => componentOn({ scopeMode: r.scope_mode, scope: r.scope, disabled: false, itemId: r.catalog_item_id }, r.catalog_item_id === null
133
+ ? null
134
+ : {
135
+ live: r.item_id !== null,
136
+ disabled: r.item_disabled === true,
137
+ builtin: r.item_builtin === true,
138
+ // the plugin's own scope and list do not decide whether a component is on
139
+ scope: "optional",
140
+ listed: false,
141
+ installed: Boolean(r.installed),
142
+ }, Boolean(r.listed), r.switch ?? null));
143
+ }
144
+ /**
145
+ * The ids among `ids` of the platform templates on in the org (see {@link platformOn}), whatever
146
+ * the org's own templates are.
147
+ */
148
+ export async function platformTemplatesOn(db, orgId, ids) {
149
+ return new Set((await platformRowsOn(db, orgId, ids)).map((r) => r.id));
150
+ }
151
+ /**
152
+ * Rule 10 for platform agent template `component` (`plugin` / `name`: its roster type) newly
153
+ * offered to the org (ruling P4-13, as `skillNameClashes` for skills): the org's own live rows of
154
+ * that type (unlinked, or pinned) that are no copy of it (linked to it, or from its plugin), and
155
+ * the other platform templates of that type on in the org (two orgs' shared templates of one bare
156
+ * name, P3-5). `skills`: the clashing template ids; `owners`: each one's owner, in the same order
157
+ * (an org row without a plugin is the org's own; a plugin's row its catalog item's owner; a
158
+ * platform row its `owner_org_id`); `plugins`: the clashing platform templates' plugins.
159
+ */
160
+ export async function templateTypeClashes(db, orgId, component) {
161
+ const own = await db
162
+ .selectFrom("agent_templates as t")
163
+ .select(["t.id", "t.platform_template_id", "t.catalog_item_id"])
164
+ .where("t.org_id", "=", orgId)
165
+ .where("t.deleted_at", "is", null)
166
+ .where("t.name", "=", component.name)
167
+ .where((eb) => component.plugin === null
168
+ ? eb("t.plugin_name", "is", null)
169
+ : eb("t.plugin_name", "=", component.plugin))
170
+ .where((eb) => eb.or([eb("t.platform_template_id", "is", null), eb("t.pinned_version", "is not", null)]))
171
+ .execute();
172
+ const ownRows = own.filter((r) => r.platform_template_id !== component.id &&
173
+ (component.itemId === null || r.catalog_item_id !== component.itemId));
174
+ const others = await db
175
+ .selectFrom("platform_agent_templates")
176
+ .select(["id", "plugin_name", "owner_org_id"])
177
+ .where("name", "=", component.name)
178
+ .where((eb) => component.plugin === null
179
+ ? eb("plugin_name", "is", null)
180
+ : eb("plugin_name", "=", component.plugin))
181
+ .where("deleted_at", "is", null)
182
+ .where("id", "!=", component.id)
183
+ .execute();
184
+ const on = await platformTemplatesOn(db, orgId, others.map((o) => o.id));
185
+ const platform = others.filter((o) => on.has(o.id));
186
+ // a plugin's row: its catalog item's owner (`catalog_items.id` is a uuid, the column text)
187
+ const itemIds = [
188
+ ...new Set(ownRows.flatMap((r) => (r.catalog_item_id === null ? [] : [r.catalog_item_id]))),
189
+ ];
190
+ const itemOwner = new Map((itemIds.length === 0
191
+ ? []
192
+ : await db
193
+ .selectFrom("catalog_items")
194
+ .select(["id", "owner_org_id"])
195
+ .where(sql `id::text`, "in", itemIds)
196
+ .execute()).map((i) => [String(i.id), i.owner_org_id]));
197
+ const ownerIds = [
198
+ ...ownRows.map((r) => component.plugin === null
199
+ ? orgId
200
+ : r.catalog_item_id === null
201
+ ? null
202
+ : (itemOwner.get(r.catalog_item_id) ?? null)),
203
+ ...platform.map((o) => o.owner_org_id),
204
+ ];
205
+ const owners = await ownersOf(db, ownerIds.filter((x) => x !== null));
206
+ return {
207
+ skills: [...ownRows.map((r) => r.id), ...platform.map((o) => o.id)],
208
+ plugins: platform.flatMap((o) => (o.plugin_name === null ? [] : [o.plugin_name])),
209
+ owners: ownerIds.map((x) => ownerOf(x, owners)),
210
+ };
211
+ }
212
+ /**
213
+ * The ids among `ids` (platform templates that org copies are pinned to) whose pinned copies the
214
+ * org may use (ruling P2-18): the platform template is on in the org, or it was removed by a
215
+ * plugin update (soft-deleted, ruling P2-7: a pinned copy then keeps its own version as the org's).
216
+ */
217
+ async function pinnedTemplateLinksServed(db, orgId, ids) {
41
218
  if (ids.length === 0)
219
+ return new Set();
220
+ const removed = await db
221
+ .selectFrom("platform_agent_templates")
222
+ .select("id")
223
+ .where("id", "in", [...ids])
224
+ .where("deleted_at", "is not", null)
225
+ .execute();
226
+ return new Set([...(await platformTemplatesOn(db, orgId, ids)), ...removed.map((r) => r.id)]);
227
+ }
228
+ /**
229
+ * The platform templates on in the org (`ids`: only those), minus the ones whose type an org
230
+ * template of its own (unlinked, or pinned) already has (the org's wins; logged unless it is a copy
231
+ * of the same component: linked to it, or from the same catalog item; `shadowed` maps such a
232
+ * platform id to that org row's id). On in the org:
233
+ * - never when the template or its plugin is disabled (or its plugin is deleted);
234
+ * - `follow`: its plugin is on in the org (a live install, or builtin) and no component switch of
235
+ * the org says off;
236
+ * - `own`: `wantedOn` over the template's own scope, the org's list membership and its switch.
237
+ * One query for the templates with their plugin and org state, one for the org's clashing rows.
238
+ */
239
+ async function platformOn(db, orgId, ids, log) {
240
+ const shadowed = new Map();
241
+ const rows = await platformRowsOn(db, orgId, ids);
242
+ if (rows.length === 0)
243
+ return { rows: [], shadowed };
244
+ const own = await db
245
+ .selectFrom("agent_templates")
246
+ .select(["id", "name", "plugin_name", "platform_template_id", "catalog_item_id"])
247
+ .where("org_id", "=", orgId)
248
+ .where("deleted_at", "is", null)
249
+ .where((eb) => eb.or([eb("platform_template_id", "is", null), eb("pinned_version", "is not", null)]))
250
+ .where("name", "in", [...new Set(rows.map((r) => r.name))])
251
+ .execute();
252
+ const ownByType = new Map(own.map((r) => [templateTypeOf(r.plugin_name, r.name), r]));
253
+ const out = [];
254
+ for (const r of rows.sort((a, b) => (a.id < b.id ? -1 : a.id > b.id ? 1 : 0))) {
255
+ const o = ownByType.get(templateTypeOf(r.plugin_name, r.name));
256
+ if (o) {
257
+ const sameComponent = o.platform_template_id === r.id ||
258
+ (o.catalog_item_id !== null && o.catalog_item_id === r.catalog_item_id);
259
+ if (!sameComponent) {
260
+ log?.warn("platform agent template shadowed by an org template of the same type", {
261
+ orgId,
262
+ type: templateTypeOf(r.plugin_name, r.name),
263
+ platformTemplateId: r.id,
264
+ templateId: o.id,
265
+ });
266
+ }
267
+ else {
268
+ shadowed.set(r.id, o.id);
269
+ }
270
+ continue;
271
+ }
272
+ out.push({
273
+ id: r.id,
274
+ name: r.name,
275
+ plugin: r.plugin_name,
276
+ version: r.current_version,
277
+ definition: r.definition,
278
+ sourceFormat: r.source_format,
279
+ catalogItemId: r.catalog_item_id,
280
+ catalogVersion: r.catalog_version,
281
+ origin: "platform",
282
+ platformTemplateId: r.id,
283
+ });
284
+ }
285
+ return { rows: out, shadowed };
286
+ }
287
+ /**
288
+ * The org's live templates by id (`ids`; ids that are no usable template are missing): an org
289
+ * template with its current version; an org copy linked to a platform template without a pin
290
+ * (ruling B2) as that platform template's current version under the copy's id, while the platform
291
+ * template is on in the org; a pinned copy as its own version while its platform template is on in
292
+ * the org (ruling P2-18); a platform template id while it is on in the org, or, when an org row
293
+ * of the same component (unlinked or pinned) wins its type, as that row (its `id` is the row's: the
294
+ * roster lists the platform id as an alias). Deleted and foreign ids are left out. `log` receives
295
+ * the type-clash warnings.
296
+ */
297
+ export async function loadTemplates(db, orgId, ids, log) {
298
+ const unique = [...new Set(ids)];
299
+ if (unique.length === 0)
42
300
  return new Map();
43
- const rows = await baseQuery(db, orgId)
44
- .where("t.id", "in", [...ids])
301
+ const rows = await baseQuery(db, orgId).where("t.id", "in", unique).execute();
302
+ const linked = new Set(rows.filter((r) => r.platform_template_id !== null && r.pinned_version === null));
303
+ const known = new Set(rows.map((r) => r.id));
304
+ const platformIds = [
305
+ ...new Set([
306
+ ...unique.filter((id) => !known.has(id)),
307
+ ...[...linked].map((r) => r.platform_template_id),
308
+ ]),
309
+ ];
310
+ const on = await platformOn(db, orgId, platformIds, log);
311
+ const platform = new Map(on.rows.map((p) => [p.id, p]));
312
+ const owned = await ownedPlatformIds(db, orgId, [...linked].map((r) => r.platform_template_id));
313
+ // ruling P2-18: a pinned copy serves its own version while its platform template is on
314
+ const pinnedOn = await pinnedTemplateLinksServed(db, orgId, [
315
+ ...new Set(rows.flatMap((r) => r.platform_template_id !== null && r.pinned_version !== null
316
+ ? [r.platform_template_id]
317
+ : [])),
318
+ ]);
319
+ // a selected platform id shadowed by an org row of the same component resolves to that row
320
+ const shadowIds = unique.filter((id) => !known.has(id) && on.shadowed.has(id));
321
+ const shadowRows = new Map((shadowIds.length === 0
322
+ ? []
323
+ : await baseQuery(db, orgId)
324
+ .where("t.id", "in", [...new Set(shadowIds.map((id) => on.shadowed.get(id)))])
325
+ .execute()).map((r) => [r.id, orgRaw(r)]));
326
+ const raw = [];
327
+ for (const r of rows) {
328
+ if (linked.has(r)) {
329
+ const p = platform.get(r.platform_template_id);
330
+ if (!p)
331
+ continue;
332
+ if (!owned.has(p.id)) {
333
+ raw.push({ key: r.id, row: { ...p, id: r.id } });
334
+ }
335
+ else if (r.current_version === p.version) {
336
+ // the org's own template, promoted (ruling P3-3) at the same version: its own stored
337
+ // version, so the roster and `subagent_started` see what they saw before
338
+ raw.push({ key: r.id, row: orgRaw(r) });
339
+ }
340
+ else {
341
+ // a newer platform version: under its id, with the copy's roster type
342
+ raw.push({ key: r.id, row: { ...p, id: r.id, plugin: r.plugin_name, ownedCopy: true } });
343
+ }
344
+ continue;
345
+ }
346
+ if (r.platform_template_id !== null && !pinnedOn.has(r.platform_template_id))
347
+ continue;
348
+ raw.push({ key: r.id, row: orgRaw(r) });
349
+ }
350
+ for (const id of unique) {
351
+ if (known.has(id))
352
+ continue;
353
+ const p = platform.get(id);
354
+ if (p) {
355
+ raw.push({ key: id, row: p });
356
+ continue;
357
+ }
358
+ const o = shadowRows.get(on.shadowed.get(id) ?? "");
359
+ if (o)
360
+ raw.push({ key: id, row: o });
361
+ }
362
+ const done = await normalized(db, orgId, raw.map((x) => x.row));
363
+ return new Map(raw.map((x, i) => [x.key, done[i]]));
364
+ }
365
+ /**
366
+ * The org's usable templates, by plugin (none first), name and id: its own live templates
367
+ * (unlinked, or pinned while their platform template is on in the org, ruling P2-18) and the platform templates on in the org (see {@link platformOn}). An org
368
+ * copy linked without a pin is not listed: its platform template is; except the org's own template
369
+ * it promoted (ruling P3-3), listed once under its own id instead of the platform template. `log`
370
+ * receives the type-clash warnings.
371
+ */
372
+ export async function usableTemplates(db, orgId, log) {
373
+ const own = await baseQuery(db, orgId)
374
+ .where((eb) => eb.or([eb("t.platform_template_id", "is", null), eb("t.pinned_version", "is not", null)]))
375
+ .execute();
376
+ // ruling P2-18: a pinned copy follows its platform template's availability (the pin fixes the
377
+ // version only)
378
+ const pinnedOn = await pinnedTemplateLinksServed(db, orgId, [
379
+ ...new Set(own.flatMap((r) => (r.platform_template_id === null ? [] : [r.platform_template_id]))),
380
+ ]);
381
+ // the org's own templates it promoted: under their own ids, instead of their platform templates
382
+ const promoted = await db
383
+ .selectFrom("agent_templates as t")
384
+ .innerJoin("platform_agent_templates as p", "p.id", "t.platform_template_id")
385
+ .select(["t.id", "t.platform_template_id"])
386
+ .where("t.org_id", "=", orgId)
387
+ .where("t.deleted_at", "is", null)
388
+ .where("t.pinned_version", "is", null)
389
+ .where("p.owner_org_id", "=", orgId)
390
+ .where("p.deleted_at", "is", null)
45
391
  .execute();
46
- return new Map(rows.map((r) => [r.id, rowOf(r)]));
392
+ const promotedTo = new Set(promoted.map((r) => r.platform_template_id));
393
+ const served = promoted.length === 0
394
+ ? []
395
+ : [
396
+ ...(await loadTemplates(db, orgId, promoted.map((r) => r.id), log)).values(),
397
+ ];
398
+ const rows = [
399
+ ...(await normalized(db, orgId, [
400
+ ...own
401
+ .filter((r) => r.platform_template_id === null || pinnedOn.has(r.platform_template_id))
402
+ .map(orgRaw),
403
+ ...(await platformOn(db, orgId, undefined, log)).rows.filter((p) => !promotedTo.has(p.id)),
404
+ ])),
405
+ ...served,
406
+ ];
407
+ const key = (t) => [t.plugin ?? "", t.name, t.id];
408
+ return rows.sort((a, b) => {
409
+ const [x, y] = [key(a), key(b)];
410
+ for (let i = 0; i < x.length; i++) {
411
+ if (x[i] !== y[i])
412
+ return x[i] < y[i] ? -1 : 1;
413
+ }
414
+ return 0;
415
+ });
416
+ }
417
+ /**
418
+ * The one "org's own template" predicate (rulings P3-6, P3-46, P4-13), shared by the template
419
+ * routes and `OwnedItems`: the org's live row `id` is its own when it is an org template (no
420
+ * plugin, no catalog item) that is unlinked, or linked without a pin to a live platform row the
421
+ * org owns (promoted on share). Returns the row (`forUpdate`: locked), `{ own: false, name }` for
422
+ * a row of the org that is not its own (a plugin's template, a copy of another owner's platform
423
+ * template), or undefined when the org has no live row `id`.
424
+ */
425
+ export async function readOwnTemplate(db, orgId, id, forUpdate) {
426
+ let q = db
427
+ .selectFrom("agent_templates as t")
428
+ .leftJoin("platform_agent_templates as p", "p.id", "t.platform_template_id")
429
+ .select([
430
+ "t.id",
431
+ "t.name",
432
+ "t.current_version",
433
+ "t.shareable",
434
+ "t.plugin_name",
435
+ "t.catalog_item_id",
436
+ "t.platform_template_id",
437
+ "t.pinned_version",
438
+ "p.owner_org_id",
439
+ "p.deleted_at as p_deleted_at",
440
+ ])
441
+ .where("t.id", "=", id)
442
+ .where("t.org_id", "=", orgId)
443
+ .where("t.deleted_at", "is", null);
444
+ if (forUpdate)
445
+ q = q.forUpdate("t");
446
+ const r = await q.executeTakeFirst();
447
+ if (!r)
448
+ return undefined;
449
+ const notOwn = { own: false, name: r.name };
450
+ if (r.plugin_name !== null || r.catalog_item_id !== null)
451
+ return notOwn;
452
+ const own = {
453
+ id: r.id,
454
+ name: r.name,
455
+ current_version: r.current_version,
456
+ shareable: r.shareable,
457
+ };
458
+ if (r.platform_template_id === null)
459
+ return { ...own, link: null };
460
+ const promoted = r.pinned_version === null && r.owner_org_id === orgId && r.p_deleted_at === null;
461
+ return promoted ? { ...own, link: r.platform_template_id } : notOwn;
462
+ }
463
+ /**
464
+ * The listing view of a usable template; `linkedIds`: the org's unpinned copies linked to it (a
465
+ * platform template only).
466
+ */
467
+ export function templateViewOf(t, linkedIds) {
468
+ return {
469
+ id: t.id,
470
+ name: t.name,
471
+ plugin: t.plugin,
472
+ type: templateTypeOf(t.plugin, t.name),
473
+ description: typeof t.template.description === "string" ? t.template.description : "",
474
+ model: t.template.model ?? "inherit",
475
+ version: t.version,
476
+ sourceFormat: t.sourceFormat,
477
+ catalogItemId: t.catalogItemId,
478
+ catalogVersion: t.catalogVersion,
479
+ // the org's own template it promoted is the org's own, whatever version it serves
480
+ origin: t.ownedCopy ? "org" : t.origin,
481
+ ...(t.origin === "platform" && !t.ownedCopy && { linkedIds }),
482
+ };
47
483
  }
48
484
  /** Reads the org's agent templates (consumed by the roster, the agent page and Task 19's API). */
49
485
  let AgentTemplatesService = class AgentTemplatesService {
@@ -51,40 +487,37 @@ let AgentTemplatesService = class AgentTemplatesService {
51
487
  constructor(db) {
52
488
  this.db = db;
53
489
  }
54
- /** Every live template of the org, by plugin then name. */
490
+ /**
491
+ * Every usable template of the org ({@link usableTemplates}), by plugin then name; a platform
492
+ * template carries the ids of the org's unpinned copies linked to it (`linkedIds`).
493
+ */
55
494
  async listForOrg(orgId) {
56
- const rows = await baseQuery(this.db.db, orgId)
57
- .orderBy("t.plugin_name")
58
- .orderBy("t.name")
59
- .execute();
60
- return rows.map((r) => {
61
- const t = rowOf(r);
62
- return {
63
- id: t.id,
64
- name: t.name,
65
- plugin: t.plugin,
66
- type: `${t.plugin}:${t.name}`,
67
- description: typeof t.template.description === "string" ? t.template.description : "",
68
- model: t.template.model ?? "inherit",
69
- version: t.version,
70
- sourceFormat: t.sourceFormat,
71
- catalogItemId: t.catalogItemId,
72
- catalogVersion: t.catalogVersion,
73
- };
74
- });
495
+ const usable = await usableTemplates(this.db.db, orgId);
496
+ const platformIds = usable.filter((t) => t.origin === "platform").map((t) => t.id);
497
+ const links = platformIds.length === 0
498
+ ? []
499
+ : await this.db.db
500
+ .selectFrom("agent_templates")
501
+ .select(["id", "platform_template_id"])
502
+ .where("org_id", "=", orgId)
503
+ .where("deleted_at", "is", null)
504
+ .where("pinned_version", "is", null)
505
+ .where("platform_template_id", "in", platformIds)
506
+ .orderBy("id")
507
+ .execute();
508
+ const linked = new Map();
509
+ for (const l of links) {
510
+ const k = l.platform_template_id;
511
+ linked.set(k, [...(linked.get(k) ?? []), l.id]);
512
+ }
513
+ return usable.map((t) => templateViewOf(t, linked.get(t.id) ?? []));
75
514
  }
76
- /** A live template by id or by `<plugin>:<name>`; null when there is none. */
515
+ /** A usable template by id or by its roster type; null when there is none. */
77
516
  async resolve(orgId, ref) {
78
- const i = ref.indexOf(":");
79
- let q = baseQuery(this.db.db, orgId);
80
- q =
81
- i < 0
82
- ? q.where("t.id", "=", ref)
83
- : q.where("t.plugin_name", "=", ref.slice(0, i)).where("t.name", "=", ref.slice(i + 1));
84
- const r = await q.executeTakeFirst();
85
- if (!r)
517
+ const t = (await loadTemplates(this.db.db, orgId, [ref])).get(ref) ??
518
+ (await usableTemplates(this.db.db, orgId)).find((u) => templateTypeOf(u.plugin, u.name) === ref);
519
+ if (!t)
86
520
  return null;
87
- const t = rowOf(r);
88
521
  return { id: t.id, version: t.version, plugin: t.plugin, template: t.template };
89
522
  }
90
523
  };
@@ -94,9 +527,10 @@ AgentTemplatesService = __decorate([
94
527
  ], AgentTemplatesService);
95
528
  export { AgentTemplatesService };
96
529
  /**
97
- * Writes `template` as the org's live template `<plugin>:<name>` in the caller's transaction (the
98
- * caller holds the org row lock): a new template (version 1, `created`), a new version of the live
99
- * one when its definition differs (`changed`, the version added), or nothing when it is equal.
530
+ * Writes `template` as the org's live template `<plugin>:<name>` (the bare `<name>` when `plugin`
531
+ * is null) in the caller's transaction (the caller holds the org row lock): a new template
532
+ * (version 1, `created`), a new version of the live one when its definition differs (`changed`,
533
+ * the version added), or nothing when it is equal.
100
534
  */
101
535
  export async function putTemplateVersionIn(t, s, template) {
102
536
  const live = await t
@@ -104,7 +538,7 @@ export async function putTemplateVersionIn(t, s, template) {
104
538
  .innerJoin("agent_template_versions as v", (j) => j.onRef("v.template_id", "=", "a.id").onRef("v.version", "=", "a.current_version"))
105
539
  .select(["a.id", "a.current_version", "v.definition"])
106
540
  .where("a.org_id", "=", s.orgId)
107
- .where("a.plugin_name", "=", s.plugin)
541
+ .where((eb) => s.plugin === null ? eb("a.plugin_name", "is", null) : eb("a.plugin_name", "=", s.plugin))
108
542
  .where("a.name", "=", template.name)
109
543
  .where("a.deleted_at", "is", null)
110
544
  .forUpdate("a")
@@ -121,7 +555,7 @@ export async function putTemplateVersionIn(t, s, template) {
121
555
  id,
122
556
  org_id: s.orgId,
123
557
  name: template.name,
124
- catalog_item_id: s.catalogItemId,
558
+ catalog_item_id: s.catalogItemId ?? null,
125
559
  plugin_name: s.plugin,
126
560
  current_version: 1,
127
561
  })
@@ -140,7 +574,11 @@ export async function putTemplateVersionIn(t, s, template) {
140
574
  if (live) {
141
575
  await t
142
576
  .updateTable("agent_templates")
143
- .set({ current_version: version, catalog_item_id: s.catalogItemId, updated_at: new Date() })
577
+ .set({
578
+ current_version: version,
579
+ catalog_item_id: s.catalogItemId ?? null,
580
+ updated_at: new Date(),
581
+ })
144
582
  .where("id", "=", id)
145
583
  .execute();
146
584
  }
@@ -0,0 +1,20 @@
1
+ import { z } from "zod";
2
+ import type { RouteSchemas } from "../platform/route-schemas.js";
3
+ export declare const AgentTemplateIdParams: z.ZodObject<{
4
+ id: z.ZodString;
5
+ }, z.core.$strip>;
6
+ export declare const SaveAsAgentIdParams: z.ZodObject<{
7
+ agentId: z.ZodString;
8
+ }, z.core.$strip>;
9
+ export declare const SaveAsTemplateBody: z.ZodObject<{
10
+ name: z.ZodString;
11
+ description: z.ZodString;
12
+ }, z.core.$strict>;
13
+ export declare const AgentTemplateShareableBody: z.ZodObject<{
14
+ shareable: z.ZodBoolean;
15
+ }, z.core.$strict>;
16
+ export declare const AgentTemplateUpdateBody: z.ZodObject<{
17
+ definition: z.ZodRecord<z.ZodString, z.ZodUnknown>;
18
+ expectedVersion: z.ZodNumber;
19
+ }, z.core.$strict>;
20
+ export declare const AGENT_TEMPLATE_ROUTES: readonly RouteSchemas[];
@@ -0,0 +1,45 @@
1
+ import { AGENT_TEMPLATE_NAME_RE } from "@capybara-hq/plugin-sdk";
2
+ import { z } from "zod";
3
+ export const AgentTemplateIdParams = z.object({ id: z.string().min(1).max(100) });
4
+ export const SaveAsAgentIdParams = z.object({ agentId: z.string().min(1).max(100) });
5
+ export const SaveAsTemplateBody = z
6
+ .object({
7
+ /** The bare template name (the template name rule); unique in the org's usable set. */
8
+ name: z.string().regex(AGENT_TEMPLATE_NAME_RE),
9
+ /** When to use it (trimmed, as a template file's). */
10
+ description: z.string().trim().min(1).max(4096),
11
+ })
12
+ .strict();
13
+ export const AgentTemplateShareableBody = z.object({ shareable: z.boolean() }).strict();
14
+ export const AgentTemplateUpdateBody = z
15
+ .object({
16
+ /** The whole definition (the `AgentTemplate` shape), validated like a template file. */
17
+ definition: z.record(z.string(), z.unknown()),
18
+ /** The `version` the editor read; another one -> 409 `agent_template.version_conflict`. */
19
+ expectedVersion: z.number().int().min(1),
20
+ })
21
+ .strict();
22
+ export const AGENT_TEMPLATE_ROUTES = [
23
+ { route: "GET /api/v1/orgs/:orgId/agent-templates" },
24
+ { route: "GET /api/v1/orgs/:orgId/agent-templates/:id", params: AgentTemplateIdParams },
25
+ {
26
+ route: "POST /api/v1/orgs/:orgId/agents/:agentId/save-as-template",
27
+ params: SaveAsAgentIdParams,
28
+ body: SaveAsTemplateBody,
29
+ },
30
+ {
31
+ route: "PUT /api/v1/orgs/:orgId/agent-templates/:id",
32
+ params: AgentTemplateIdParams,
33
+ body: AgentTemplateUpdateBody,
34
+ },
35
+ {
36
+ route: "GET /api/v1/orgs/:orgId/agent-templates/:id/delete-preview",
37
+ params: AgentTemplateIdParams,
38
+ },
39
+ { route: "DELETE /api/v1/orgs/:orgId/agent-templates/:id", params: AgentTemplateIdParams },
40
+ {
41
+ route: "PUT /api/v1/orgs/:orgId/agent-templates/:id/shareable",
42
+ params: AgentTemplateIdParams,
43
+ body: AgentTemplateShareableBody,
44
+ },
45
+ ];