@capybara-hq/kernel 0.1.0-rc.4 → 0.1.0-rc.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. package/bootstrap.json +61 -5
  2. package/dist/admin/admin.controller.d.ts +39 -13
  3. package/dist/admin/admin.controller.js +33 -17
  4. package/dist/admin/extensions.controller.d.ts +16 -2
  5. package/dist/admin/extensions.controller.js +26 -6
  6. package/dist/admin/setup-lock.d.ts +1 -1
  7. package/dist/admin/setup-lock.js +1 -1
  8. package/dist/admin/setup.controller.d.ts +1 -1
  9. package/dist/admin/setup.controller.js +1 -1
  10. package/dist/admin/setup.service.d.ts +4 -4
  11. package/dist/admin/setup.service.js +8 -8
  12. package/dist/agents/agent-lookup.d.ts +16 -0
  13. package/dist/agents/agent-lookup.js +11 -0
  14. package/dist/agents/agents.controller.d.ts +76 -1
  15. package/dist/agents/agents.controller.js +90 -11
  16. package/dist/agents/agents.module.d.ts +4 -1
  17. package/dist/agents/agents.module.js +32 -6
  18. package/dist/agents/agents.service.d.ts +51 -22
  19. package/dist/agents/agents.service.js +172 -70
  20. package/dist/agents/definition.d.ts +49 -0
  21. package/dist/agents/definition.js +45 -0
  22. package/dist/agents/from-template.d.ts +106 -0
  23. package/dist/agents/from-template.js +649 -0
  24. package/dist/agents/from-template.service.d.ts +60 -0
  25. package/dist/agents/from-template.service.js +161 -0
  26. package/dist/agents/org-templates.d.ts +176 -0
  27. package/dist/agents/org-templates.js +827 -0
  28. package/dist/agents/pending-connector-requests.d.ts +77 -0
  29. package/dist/agents/pending-connector-requests.js +215 -0
  30. package/dist/agents/pending-connectors.controller.d.ts +39 -0
  31. package/dist/agents/pending-connectors.controller.js +91 -0
  32. package/dist/agents/pending-connectors.service.d.ts +62 -0
  33. package/dist/agents/pending-connectors.service.js +282 -0
  34. package/dist/agents/templates.controller.d.ts +86 -5
  35. package/dist/agents/templates.controller.js +171 -7
  36. package/dist/agents/templates.d.ts +127 -23
  37. package/dist/agents/templates.js +475 -52
  38. package/dist/background/background.module.js +8 -1
  39. package/dist/background/finish.d.ts +3 -2
  40. package/dist/background/launch-lock.d.ts +4 -3
  41. package/dist/background/launch-lock.js +4 -3
  42. package/dist/background/poll.job.d.ts +9 -6
  43. package/dist/background/poll.job.js +30 -22
  44. package/dist/background/session.d.ts +13 -2
  45. package/dist/background/session.js +13 -0
  46. package/dist/background/stop.d.ts +12 -6
  47. package/dist/background/stop.js +57 -39
  48. package/dist/background/store.d.ts +18 -6
  49. package/dist/background/store.js +12 -6
  50. package/dist/background/tasks.service.d.ts +15 -5
  51. package/dist/background/tasks.service.js +42 -17
  52. package/dist/background/wake-rules.d.ts +27 -18
  53. package/dist/background/wake-rules.js +52 -22
  54. package/dist/background/wake.d.ts +13 -11
  55. package/dist/background/wake.js +20 -14
  56. package/dist/catalog/admin-catalog.controller.d.ts +129 -30
  57. package/dist/catalog/admin-catalog.controller.js +213 -42
  58. package/dist/catalog/catalog-content.d.ts +58 -32
  59. package/dist/catalog/catalog-content.js +34 -8
  60. package/dist/catalog/catalog-import.module.d.ts +7 -0
  61. package/dist/catalog/catalog-import.module.js +60 -0
  62. package/dist/catalog/catalog-items.d.ts +111 -7
  63. package/dist/catalog/catalog-items.js +279 -13
  64. package/dist/catalog/catalog-scope.service.d.ts +260 -0
  65. package/dist/catalog/catalog-scope.service.js +1116 -0
  66. package/dist/catalog/catalog.module.d.ts +7 -9
  67. package/dist/catalog/catalog.module.js +41 -31
  68. package/dist/catalog/catalog.service.d.ts +101 -29
  69. package/dist/catalog/catalog.service.js +104 -106
  70. package/dist/catalog/cli.d.ts +11 -1
  71. package/dist/catalog/cli.js +26 -1
  72. package/dist/catalog/component-promotion.d.ts +96 -0
  73. package/dist/catalog/component-promotion.js +395 -0
  74. package/dist/catalog/component-scope.controller.d.ts +152 -0
  75. package/dist/catalog/component-scope.controller.js +287 -0
  76. package/dist/catalog/component-scope.service.d.ts +303 -0
  77. package/dist/catalog/component-scope.service.js +936 -0
  78. package/dist/catalog/component-state.d.ts +174 -0
  79. package/dist/catalog/component-state.js +437 -0
  80. package/dist/catalog/job-ids.d.ts +30 -0
  81. package/dist/catalog/job-ids.js +25 -0
  82. package/dist/catalog/marketplace-fetch.d.ts +1 -1
  83. package/dist/catalog/marketplaces.controller.d.ts +22 -5
  84. package/dist/catalog/marketplaces.controller.js +56 -7
  85. package/dist/catalog/marketplaces.service.d.ts +54 -14
  86. package/dist/catalog/marketplaces.service.js +71 -22
  87. package/dist/catalog/org-catalog.controller.d.ts +125 -34
  88. package/dist/catalog/org-catalog.controller.js +181 -65
  89. package/dist/catalog/org-catalog.service.d.ts +65 -33
  90. package/dist/catalog/org-catalog.service.js +324 -157
  91. package/dist/catalog/org-extension-switch.d.ts +41 -0
  92. package/dist/catalog/org-extension-switch.js +115 -0
  93. package/dist/catalog/org-extension.controller.d.ts +119 -0
  94. package/dist/catalog/org-extension.controller.js +266 -0
  95. package/dist/catalog/org-plugin-uploads.controller.d.ts +98 -0
  96. package/dist/catalog/org-plugin-uploads.controller.js +213 -0
  97. package/dist/catalog/org-plugin-uploads.d.ts +63 -0
  98. package/dist/catalog/org-plugin-uploads.js +116 -0
  99. package/dist/catalog/owned-items.d.ts +184 -0
  100. package/dist/catalog/owned-items.js +789 -0
  101. package/dist/catalog/owned-plugin-cleanup.d.ts +56 -0
  102. package/dist/catalog/owned-plugin-cleanup.js +194 -0
  103. package/dist/catalog/ownership.d.ts +172 -0
  104. package/dist/catalog/ownership.js +326 -0
  105. package/dist/catalog/platform-components.d.ts +221 -0
  106. package/dist/catalog/platform-components.js +761 -0
  107. package/dist/catalog/platform-migration.d.ts +115 -0
  108. package/dist/catalog/platform-migration.js +582 -0
  109. package/dist/catalog/plugin-import.d.ts +178 -34
  110. package/dist/catalog/plugin-import.js +622 -82
  111. package/dist/catalog/plugin-install.d.ts +185 -41
  112. package/dist/catalog/plugin-install.js +758 -126
  113. package/dist/catalog/plugin-upgrade.d.ts +260 -225
  114. package/dist/catalog/plugin-upgrade.js +1147 -1136
  115. package/dist/catalog/request-rules.d.ts +65 -0
  116. package/dist/catalog/request-rules.js +217 -0
  117. package/dist/catalog/requests.service.d.ts +193 -118
  118. package/dist/catalog/requests.service.js +526 -343
  119. package/dist/catalog/reserved-names.d.ts +8 -0
  120. package/dist/catalog/reserved-names.js +42 -0
  121. package/dist/catalog/scope-orgs.d.ts +21 -0
  122. package/dist/catalog/scope-orgs.js +67 -0
  123. package/dist/catalog/scope-state.d.ts +35 -0
  124. package/dist/catalog/scope-state.js +87 -0
  125. package/dist/catalog/scope-sync-workers.d.ts +7 -0
  126. package/dist/catalog/scope-sync-workers.js +29 -0
  127. package/dist/catalog/scope-sync.d.ts +176 -0
  128. package/dist/catalog/scope-sync.js +576 -0
  129. package/dist/catalog/scope.d.ts +42 -0
  130. package/dist/catalog/scope.js +42 -0
  131. package/dist/catalog/unshare.d.ts +22 -0
  132. package/dist/catalog/unshare.js +118 -0
  133. package/dist/channels/actions.js +1 -0
  134. package/dist/channels/cards.js +20 -2
  135. package/dist/channels/channels.module.js +2 -0
  136. package/dist/channels/inbound.d.ts +9 -1
  137. package/dist/channels/inbound.js +67 -5
  138. package/dist/channels/phrases.d.ts +35 -0
  139. package/dist/channels/phrases.js +29 -0
  140. package/dist/config/docs.js +3 -1
  141. package/dist/config/schema.d.ts +6 -2
  142. package/dist/config/schema.js +46 -22
  143. package/dist/conversations/access.d.ts +6 -4
  144. package/dist/conversations/access.js +27 -5
  145. package/dist/conversations/agent-tree.d.ts +46 -0
  146. package/dist/conversations/agent-tree.js +92 -0
  147. package/dist/conversations/conversations.controller.d.ts +43 -18
  148. package/dist/conversations/conversations.controller.js +79 -38
  149. package/dist/conversations/conversations.module.d.ts +1 -1
  150. package/dist/conversations/conversations.module.js +7 -7
  151. package/dist/conversations/conversations.service.d.ts +69 -12
  152. package/dist/conversations/conversations.service.js +106 -27
  153. package/dist/conversations/environment-status.d.ts +24 -0
  154. package/dist/conversations/environment-status.js +71 -0
  155. package/dist/conversations/event-log.d.ts +20 -5
  156. package/dist/conversations/event-log.js +60 -0
  157. package/dist/conversations/events.d.ts +84 -2
  158. package/dist/conversations/events.js +91 -17
  159. package/dist/conversations/queue.service.d.ts +1 -1
  160. package/dist/conversations/queue.service.js +5 -0
  161. package/dist/conversations/titles.d.ts +5 -3
  162. package/dist/conversations/titles.js +21 -8
  163. package/dist/conversations/tree.d.ts +17 -0
  164. package/dist/conversations/tree.js +42 -0
  165. package/dist/ctx/create-ctx.d.ts +5 -0
  166. package/dist/ctx/create-ctx.js +15 -5
  167. package/dist/db/kernel-schema.d.ts +362 -18
  168. package/dist/environments/access.d.ts +41 -0
  169. package/dist/environments/access.js +77 -0
  170. package/dist/environments/conversation-environments.d.ts +61 -0
  171. package/dist/environments/conversation-environments.js +170 -0
  172. package/dist/environments/dto.d.ts +25 -0
  173. package/dist/environments/dto.js +12 -0
  174. package/dist/environments/environments.controller.d.ts +33 -0
  175. package/dist/environments/environments.controller.js +110 -0
  176. package/dist/environments/environments.module.d.ts +8 -0
  177. package/dist/environments/environments.module.js +27 -0
  178. package/dist/environments/environments.service.d.ts +153 -0
  179. package/dist/environments/environments.service.js +541 -0
  180. package/dist/environments/legacy-cleanup.job.d.ts +34 -0
  181. package/dist/environments/legacy-cleanup.job.js +141 -0
  182. package/dist/errors.d.ts +82 -2
  183. package/dist/errors.js +82 -2
  184. package/dist/evals/reconstruct.d.ts +18 -9
  185. package/dist/evals/reconstruct.js +26 -7
  186. package/dist/evals/run-replay.d.ts +4 -2
  187. package/dist/evals/run-replay.js +16 -4
  188. package/dist/evals/step-replay.d.ts +2 -5
  189. package/dist/evals/step-replay.js +1 -1
  190. package/dist/evals/trajectory.service.d.ts +8 -3
  191. package/dist/evals/trajectory.service.js +26 -14
  192. package/dist/evals/worker.d.ts +5 -5
  193. package/dist/evals/worker.js +9 -3
  194. package/dist/extensions/admin-ops.d.ts +36 -10
  195. package/dist/extensions/admin-ops.js +65 -42
  196. package/dist/extensions/admin-view.d.ts +37 -10
  197. package/dist/extensions/admin-view.js +103 -20
  198. package/dist/extensions/bootstrap.d.ts +17 -4
  199. package/dist/extensions/bootstrap.js +70 -9
  200. package/dist/extensions/cli.d.ts +12 -0
  201. package/dist/extensions/cli.js +11 -2
  202. package/dist/extensions/deployment-config.d.ts +28 -5
  203. package/dist/extensions/deployment-config.js +48 -7
  204. package/dist/extensions/effective-config.d.ts +127 -0
  205. package/dist/extensions/effective-config.js +368 -0
  206. package/dist/extensions/extensions.module.js +8 -2
  207. package/dist/extensions/hooks.d.ts +37 -4
  208. package/dist/extensions/hooks.js +82 -16
  209. package/dist/extensions/host.d.ts +19 -1
  210. package/dist/extensions/host.js +30 -7
  211. package/dist/extensions/installs.d.ts +20 -8
  212. package/dist/extensions/installs.js +37 -15
  213. package/dist/extensions/org-config.d.ts +75 -6
  214. package/dist/extensions/org-config.js +184 -32
  215. package/dist/extensions/org-levels.d.ts +37 -0
  216. package/dist/extensions/org-levels.js +71 -0
  217. package/dist/extensions/org-overrides.d.ts +151 -0
  218. package/dist/extensions/org-overrides.js +524 -0
  219. package/dist/extensions/permission-view.d.ts +16 -4
  220. package/dist/extensions/permission-view.js +4 -4
  221. package/dist/extensions/plugin-items.d.ts +21 -0
  222. package/dist/extensions/plugin-items.js +42 -0
  223. package/dist/extensions/point-defaults.d.ts +12 -5
  224. package/dist/extensions/point-defaults.js +37 -9
  225. package/dist/extensions/resolve.d.ts +5 -1
  226. package/dist/extensions/resolve.js +15 -2
  227. package/dist/files/previewers.d.ts +8 -1
  228. package/dist/files/previewers.js +35 -6
  229. package/dist/http/api.module.js +23 -3
  230. package/dist/http/app.d.ts +11 -2
  231. package/dist/http/app.js +31 -5
  232. package/dist/identity/accounts.d.ts +29 -29
  233. package/dist/identity/accounts.js +47 -47
  234. package/dist/identity/audit.d.ts +2 -1
  235. package/dist/identity/auth.guard.d.ts +13 -5
  236. package/dist/identity/auth.guard.js +26 -9
  237. package/dist/identity/identity.module.d.ts +1 -1
  238. package/dist/identity/identity.module.js +4 -4
  239. package/dist/identity/me.controller.js +1 -1
  240. package/dist/identity/principal.d.ts +3 -3
  241. package/dist/identity/principal.js +3 -3
  242. package/dist/identity/settings.d.ts +22 -11
  243. package/dist/identity/settings.js +53 -18
  244. package/dist/identity/{enterprise-admin.d.ts → super-admin.d.ts} +5 -5
  245. package/dist/identity/{enterprise-admin.js → super-admin.js} +24 -24
  246. package/dist/inbox/inbox.module.d.ts +4 -1
  247. package/dist/inbox/inbox.module.js +7 -3
  248. package/dist/inbox/inbox.service.d.ts +62 -3
  249. package/dist/inbox/inbox.service.js +74 -4
  250. package/dist/inbox/org-notices.d.ts +63 -0
  251. package/dist/inbox/org-notices.js +91 -0
  252. package/dist/inbox/platform-inbox.controller.d.ts +23 -0
  253. package/dist/inbox/platform-inbox.controller.js +58 -0
  254. package/dist/inbox/platform-inbox.service.d.ts +151 -0
  255. package/dist/inbox/platform-inbox.service.js +263 -0
  256. package/dist/inbox/platform-notices.d.ts +19 -0
  257. package/dist/inbox/platform-notices.js +9 -0
  258. package/dist/index.d.ts +1 -1
  259. package/dist/index.js +1 -1
  260. package/dist/infra/cli/kernel-cli.module.js +9 -1
  261. package/dist/infra/config/kernel-config.service.js +21 -1
  262. package/dist/infra/database/xact-lock.d.ts +1 -1
  263. package/dist/infra/database/xact-lock.js +1 -1
  264. package/dist/infra/events/kernel-events.d.ts +11 -2
  265. package/dist/infra/queue/add-job-once.d.ts +14 -0
  266. package/dist/infra/queue/add-job-once.js +16 -0
  267. package/dist/kernel.module.js +6 -0
  268. package/dist/lifecycle/kernel-lifecycle.d.ts +1 -1
  269. package/dist/lifecycle/kernel-lifecycle.js +4 -4
  270. package/dist/models/prices.d.ts +5 -5
  271. package/dist/models/prices.js +4 -4
  272. package/dist/models/purposes.controller.d.ts +6 -4
  273. package/dist/models/purposes.controller.js +13 -7
  274. package/dist/models/purposes.d.ts +20 -9
  275. package/dist/models/purposes.js +17 -8
  276. package/dist/orgs/directory-sync.d.ts +14 -5
  277. package/dist/orgs/directory-sync.js +41 -17
  278. package/dist/orgs/offboarding.d.ts +9 -7
  279. package/dist/orgs/offboarding.js +28 -17
  280. package/dist/orgs/org-lock.d.ts +5 -0
  281. package/dist/orgs/org-lock.js +13 -0
  282. package/dist/orgs/org.guard.d.ts +10 -0
  283. package/dist/orgs/org.guard.js +43 -32
  284. package/dist/orgs/orgs.module.js +3 -0
  285. package/dist/orgs/orgs.service.d.ts +20 -7
  286. package/dist/orgs/orgs.service.js +32 -12
  287. package/dist/orgs/roles.d.ts +1 -1
  288. package/dist/orgs/roles.js +5 -1
  289. package/dist/orgs/settings.controller.d.ts +1 -1
  290. package/dist/orgs/settings.service.d.ts +15 -3
  291. package/dist/orgs/settings.service.js +6 -2
  292. package/dist/overrides.d.ts +3 -0
  293. package/dist/overrides.js +2 -0
  294. package/dist/platform/actor.d.ts +48 -0
  295. package/dist/platform/actor.js +100 -0
  296. package/dist/platform/agent-docs.d.ts +18 -0
  297. package/dist/platform/agent-docs.js +59 -0
  298. package/dist/platform/availability.d.ts +14 -0
  299. package/dist/platform/availability.js +43 -0
  300. package/dist/platform/errors.d.ts +11 -0
  301. package/dist/platform/errors.js +26 -0
  302. package/dist/platform/exclusions.d.ts +12 -0
  303. package/dist/platform/exclusions.js +1387 -0
  304. package/dist/platform/method.d.ts +6 -0
  305. package/dist/platform/method.js +15 -0
  306. package/dist/platform/operation.d.ts +92 -0
  307. package/dist/platform/operation.js +35 -0
  308. package/dist/platform/ops/agent-templates.ops.d.ts +14 -0
  309. package/dist/platform/ops/agent-templates.ops.js +92 -0
  310. package/dist/platform/ops/agents.ops.d.ts +19 -0
  311. package/dist/platform/ops/agents.ops.js +294 -0
  312. package/dist/platform/ops/connectors.ops.d.ts +15 -0
  313. package/dist/platform/ops/connectors.ops.js +126 -0
  314. package/dist/platform/ops/errors.d.ts +11 -0
  315. package/dist/platform/ops/errors.js +22 -0
  316. package/dist/platform/ops/extensions.ops.d.ts +19 -0
  317. package/dist/platform/ops/extensions.ops.js +116 -0
  318. package/dist/platform/ops/marketplaces.ops.d.ts +16 -0
  319. package/dist/platform/ops/marketplaces.ops.js +157 -0
  320. package/dist/platform/ops/paging.d.ts +14 -0
  321. package/dist/platform/ops/paging.js +20 -0
  322. package/dist/platform/ops/platform.ops.d.ts +23 -0
  323. package/dist/platform/ops/platform.ops.js +158 -0
  324. package/dist/platform/ops/plugins.ops.d.ts +33 -0
  325. package/dist/platform/ops/plugins.ops.js +377 -0
  326. package/dist/platform/ops/requests.ops.d.ts +14 -0
  327. package/dist/platform/ops/requests.ops.js +153 -0
  328. package/dist/platform/ops/role.d.ts +4 -0
  329. package/dist/platform/ops/role.js +10 -0
  330. package/dist/platform/ops/skills.ops.d.ts +13 -0
  331. package/dist/platform/ops/skills.ops.js +98 -0
  332. package/dist/platform/ops/summary.d.ts +10 -0
  333. package/dist/platform/ops/summary.js +18 -0
  334. package/dist/platform/platform-ops.module.d.ts +7 -0
  335. package/dist/platform/platform-ops.module.js +55 -0
  336. package/dist/platform/platform.module.d.ts +8 -0
  337. package/dist/platform/platform.module.js +25 -0
  338. package/dist/platform/redact-orgs.d.ts +7 -0
  339. package/dist/platform/redact-orgs.js +52 -0
  340. package/dist/platform/registry.d.ts +30 -0
  341. package/dist/platform/registry.js +111 -0
  342. package/dist/roles/worker-role.d.ts +6 -4
  343. package/dist/roles/worker-role.js +14 -7
  344. package/dist/roles/worker.module.d.ts +1 -1
  345. package/dist/roles/worker.module.js +9 -1
  346. package/dist/runtime/context/build.d.ts +6 -4
  347. package/dist/runtime/context/build.js +26 -7
  348. package/dist/runtime/context/claude-tools.d.ts +2 -1
  349. package/dist/runtime/context/claude-tools.js +5 -4
  350. package/dist/runtime/context/compaction.js +9 -0
  351. package/dist/runtime/context/reminders.d.ts +2 -0
  352. package/dist/runtime/context/reminders.js +2 -0
  353. package/dist/runtime/context/skills.js +9 -2
  354. package/dist/runtime/context/tool-changes.d.ts +27 -0
  355. package/dist/runtime/context/tool-changes.js +60 -0
  356. package/dist/runtime/hook-calls.js +2 -0
  357. package/dist/runtime/langgraph-loop.d.ts +3 -1
  358. package/dist/runtime/langgraph-loop.js +35 -17
  359. package/dist/runtime/loop.d.ts +32 -4
  360. package/dist/runtime/maintenance.d.ts +7 -4
  361. package/dist/runtime/maintenance.js +23 -8
  362. package/dist/runtime/model-call.d.ts +30 -8
  363. package/dist/runtime/model-call.js +69 -19
  364. package/dist/runtime/run-control.d.ts +11 -1
  365. package/dist/runtime/run-control.js +12 -0
  366. package/dist/runtime/run-drafts.d.ts +85 -0
  367. package/dist/runtime/run-drafts.js +230 -0
  368. package/dist/runtime/run-jobs.d.ts +3 -5
  369. package/dist/runtime/run-jobs.js +3 -7
  370. package/dist/runtime/run-queue.d.ts +37 -3
  371. package/dist/runtime/run-queue.js +188 -11
  372. package/dist/runtime/run-worker.d.ts +11 -5
  373. package/dist/runtime/run-worker.js +54 -31
  374. package/dist/runtime/runtime.module.js +3 -0
  375. package/dist/runtime/step-log.d.ts +9 -4
  376. package/dist/runtime/step-log.js +8 -5
  377. package/dist/runtime/stream.controller.d.ts +23 -1
  378. package/dist/runtime/stream.controller.js +60 -3
  379. package/dist/runtime/stream.d.ts +4 -1
  380. package/dist/runtime/stream.js +27 -3
  381. package/dist/runtime/subagents/child.d.ts +55 -7
  382. package/dist/runtime/subagents/child.js +105 -7
  383. package/dist/runtime/subagents/definition.d.ts +12 -3
  384. package/dist/runtime/subagents/definition.js +43 -29
  385. package/dist/runtime/subagents/deliveries.d.ts +71 -0
  386. package/dist/runtime/subagents/deliveries.js +228 -0
  387. package/dist/runtime/subagents/dispatch.d.ts +115 -26
  388. package/dist/runtime/subagents/dispatch.js +212 -141
  389. package/dist/runtime/subagents/limits.d.ts +24 -5
  390. package/dist/runtime/subagents/limits.js +40 -6
  391. package/dist/runtime/subagents/messages.d.ts +95 -0
  392. package/dist/runtime/subagents/messages.js +328 -0
  393. package/dist/runtime/subagents/preamble.d.ts +4 -4
  394. package/dist/runtime/subagents/preamble.js +9 -7
  395. package/dist/runtime/subagents/progress.d.ts +8 -6
  396. package/dist/runtime/subagents/progress.js +11 -6
  397. package/dist/runtime/subagents/render.d.ts +30 -0
  398. package/dist/runtime/subagents/render.js +53 -0
  399. package/dist/runtime/subagents/roster.d.ts +24 -7
  400. package/dist/runtime/subagents/roster.js +47 -11
  401. package/dist/runtime/subagents/skill-fork.d.ts +3 -2
  402. package/dist/runtime/subagents/skill-fork.js +8 -4
  403. package/dist/runtime/subagents/status.d.ts +14 -0
  404. package/dist/runtime/subagents/status.js +23 -0
  405. package/dist/runtime/subagents/subagents.service.d.ts +7 -4
  406. package/dist/runtime/subagents/subagents.service.js +11 -6
  407. package/dist/runtime/usage-report.js +17 -12
  408. package/dist/runtime/waits.d.ts +140 -37
  409. package/dist/runtime/waits.js +394 -106
  410. package/dist/sandbox/jobs.d.ts +40 -13
  411. package/dist/sandbox/jobs.js +57 -20
  412. package/dist/sandbox/leases.d.ts +37 -54
  413. package/dist/sandbox/leases.js +71 -115
  414. package/dist/sandbox/providers.d.ts +2 -2
  415. package/dist/sandbox/providers.js +1 -1
  416. package/dist/sandbox/sandbox.module.d.ts +3 -2
  417. package/dist/sandbox/sandbox.module.js +4 -3
  418. package/dist/sandbox/sandbox.service.d.ts +229 -134
  419. package/dist/sandbox/sandbox.service.js +630 -409
  420. package/dist/skills/catalog.d.ts +3 -2
  421. package/dist/skills/catalog.js +21 -43
  422. package/dist/skills/changes.controller.d.ts +7 -0
  423. package/dist/skills/changes.controller.js +19 -1
  424. package/dist/skills/invoke.js +8 -3
  425. package/dist/skills/package.d.ts +20 -1
  426. package/dist/skills/package.js +28 -1
  427. package/dist/skills/skills.controller.d.ts +39 -4
  428. package/dist/skills/skills.controller.js +88 -10
  429. package/dist/skills/skills.module.js +10 -1
  430. package/dist/skills/skills.service.d.ts +106 -26
  431. package/dist/skills/skills.service.js +421 -75
  432. package/dist/skills/usable.d.ts +81 -0
  433. package/dist/skills/usable.js +379 -0
  434. package/dist/tools/approvals.service.d.ts +20 -2
  435. package/dist/tools/approvals.service.js +23 -4
  436. package/dist/tools/builtin-names.d.ts +21 -5
  437. package/dist/tools/builtin-names.js +30 -5
  438. package/dist/tools/builtins/agent.d.ts +23 -21
  439. package/dist/tools/builtins/agent.js +62 -55
  440. package/dist/tools/builtins/builtin-tools.d.ts +6 -2
  441. package/dist/tools/builtins/builtin-tools.js +37 -12
  442. package/dist/tools/builtins/handback.d.ts +28 -0
  443. package/dist/tools/builtins/handback.js +53 -0
  444. package/dist/tools/builtins/platform.d.ts +34 -0
  445. package/dist/tools/builtins/platform.js +362 -0
  446. package/dist/tools/builtins/sandbox/bash.js +13 -3
  447. package/dist/tools/builtins/sandbox/common.d.ts +43 -24
  448. package/dist/tools/builtins/sandbox/common.js +80 -45
  449. package/dist/tools/builtins/sandbox/edit.js +2 -2
  450. package/dist/tools/builtins/sandbox/glob.js +2 -2
  451. package/dist/tools/builtins/sandbox/grep.js +2 -4
  452. package/dist/tools/builtins/sandbox/index.d.ts +1 -1
  453. package/dist/tools/builtins/sandbox/index.js +1 -1
  454. package/dist/tools/builtins/sandbox/read.js +1 -1
  455. package/dist/tools/builtins/sandbox/task-output.d.ts +14 -3
  456. package/dist/tools/builtins/sandbox/task-output.js +30 -5
  457. package/dist/tools/builtins/sandbox/task-stop.js +2 -1
  458. package/dist/tools/builtins/sandbox/write.js +2 -2
  459. package/dist/tools/builtins/send-message.d.ts +56 -0
  460. package/dist/tools/builtins/send-message.js +100 -0
  461. package/dist/tools/builtins/skill-load.d.ts +22 -14
  462. package/dist/tools/builtins/skill-load.js +86 -57
  463. package/dist/tools/builtins/skill-write.js +1 -1
  464. package/dist/tools/builtins/web/extract.js +5 -1
  465. package/dist/tools/builtins/web/fetch.js +1 -0
  466. package/dist/tools/builtins/web/search.js +1 -0
  467. package/dist/tools/connectors.controller.d.ts +10 -0
  468. package/dist/tools/connectors.controller.js +12 -0
  469. package/dist/tools/connectors.service.d.ts +46 -5
  470. package/dist/tools/connectors.service.js +94 -15
  471. package/dist/tools/extension-tools.controller.d.ts +14 -0
  472. package/dist/tools/extension-tools.controller.js +37 -0
  473. package/dist/tools/info.d.ts +42 -1
  474. package/dist/tools/info.js +64 -1
  475. package/dist/tools/org-tool-switches.d.ts +74 -0
  476. package/dist/tools/org-tool-switches.js +184 -0
  477. package/dist/tools/pipeline.d.ts +46 -40
  478. package/dist/tools/pipeline.js +187 -364
  479. package/dist/tools/policy.d.ts +1 -1
  480. package/dist/tools/policy.js +36 -16
  481. package/dist/tools/registry.d.ts +98 -5
  482. package/dist/tools/registry.js +87 -9
  483. package/dist/tools/tools.module.js +12 -2
  484. package/dist/ui/views.d.ts +2 -1
  485. package/dist/ui/views.js +17 -3
  486. package/package.json +3 -3
  487. package/src/migrations/0074_subagent_tree.sql +50 -0
  488. package/src/migrations/0075_plugin_scope.sql +61 -0
  489. package/src/migrations/0076_skills_created_by_nullable.sql +6 -0
  490. package/src/migrations/0077_scope_requests.sql +52 -0
  491. package/src/migrations/0078_scope_grant_switches.sql +18 -0
  492. package/src/migrations/0079_scope_live_install_switches.sql +19 -0
  493. package/src/migrations/0080_rename_enterprise_admin.sql +18 -0
  494. package/src/migrations/0081_platform_components.sql +129 -0
  495. package/src/migrations/0082_platform_migration.sql +33 -0
  496. package/src/migrations/0083_plugin_scope_sync_failures.sql +15 -0
  497. package/src/migrations/0084_org_owned_items.sql +85 -0
  498. package/src/migrations/0085_agent_templates_phase4.sql +45 -0
  499. package/src/migrations/0086_org_layering.sql +30 -0
  500. package/src/migrations/0087_approval_summary.sql +6 -0
  501. package/src/migrations/0088_environments.sql +80 -0
  502. package/dist/catalog/upgrade-targets.d.ts +0 -56
  503. package/dist/catalog/upgrade-targets.js +0 -90
  504. package/dist/conversations/sandbox-status.d.ts +0 -24
  505. package/dist/conversations/sandbox-status.js +0 -52
  506. package/dist/extensions/org-config.controller.d.ts +0 -32
  507. package/dist/extensions/org-config.controller.js +0 -70
@@ -0,0 +1,60 @@
1
+ import { ExtensionHost } from "../extensions/host.js";
2
+ import { KernelDb } from "../infra/database/kernel-db.js";
3
+ import type { KernelLogger } from "../log.js";
4
+ import { ModelPurposesService } from "../models/purposes.js";
5
+ import { ProviderRegistry } from "../runtime/providers.js";
6
+ import { AgentsService, type AgentView, type AgentVisibility } from "./agents.service.js";
7
+ import type { ModelRef } from "./definition.js";
8
+ import { type ModelSource, type PlanItem } from "./from-template.js";
9
+ import { PendingConnectorRequests } from "./pending-connector-requests.js";
10
+ import type { ProfileInput } from "./profile.js";
11
+ /** The preview of creating an agent from a template (`POST …/agents/from-template/preview`). */
12
+ export interface TemplatePreview {
13
+ items: PlanItem[];
14
+ /** The automatic choice the dialog preselects (P4-4); null when the org has no usable model. */
15
+ model: (ModelRef & {
16
+ source: ModelSource;
17
+ }) | null;
18
+ dropped: string[];
19
+ previewHash: string;
20
+ }
21
+ export interface CreateFromTemplateRequest {
22
+ templateId: string;
23
+ name: string;
24
+ visibility?: AgentVisibility;
25
+ members?: string[];
26
+ model?: ModelRef;
27
+ avatar?: ProfileInput["avatar"];
28
+ previewHash: string;
29
+ }
30
+ /**
31
+ * Creating agents from templates (rulings P4-3…P4-8): the preview and the create both resolve the
32
+ * template with {@link planFromTemplate}; the create refuses a plan whose hash differs from the
33
+ * preview's (409 `agent.template_preview_stale`: the base part, and the automatic model's part when
34
+ * no model is chosen), writes the agent through
35
+ * {@link AgentsService.createFromTemplate}, and after the commit opens the pending connector request
36
+ * when the creator cannot configure connectors.
37
+ */
38
+ export declare class AgentsFromTemplate {
39
+ private readonly db;
40
+ private readonly agents;
41
+ /** Extension tools loaded here and the org's enabled extensions. */
42
+ private readonly host;
43
+ private readonly providers;
44
+ /** The tier's purpose mapping (`subagent_<tier>`, P4-4). */
45
+ private readonly purposes;
46
+ private readonly requests;
47
+ private readonly log;
48
+ constructor(db: KernelDb, agents: AgentsService,
49
+ /** Extension tools loaded here and the org's enabled extensions. */
50
+ host: Pick<ExtensionHost, "tools" | "enabledPlugins">, providers: Pick<ProviderRegistry, "resolve" | "list">,
51
+ /** The tier's purpose mapping (`subagent_<tier>`, P4-4). */
52
+ purposes: Pick<ModelPurposesService, "resolve">, requests: PendingConnectorRequests, log: Pick<KernelLogger, "warn">);
53
+ /** The template, when usable in the org (P4-3); otherwise 404 `component.not_found`. */
54
+ private template;
55
+ private plan;
56
+ preview(orgId: string, templateId: string): Promise<TemplatePreview>;
57
+ create(orgId: string, actorAccountId: string, req: CreateFromTemplateRequest, actorTokenId?: string, auditDetail?: Record<string, unknown>): Promise<{
58
+ agent: AgentView;
59
+ }>;
60
+ }
@@ -0,0 +1,161 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
8
+ return function (target, key) { decorator(target, key, paramIndex); }
9
+ };
10
+ import { Inject, Injectable } from "@nestjs/common";
11
+ import { ApiError } from "../errors.js";
12
+ import { ExtensionHost } from "../extensions/host.js";
13
+ import { KernelDb } from "../infra/database/kernel-db.js";
14
+ import { KERNEL_LOGGER } from "../infra/tokens.js";
15
+ import { ModelPurposesService } from "../models/purposes.js";
16
+ import { can } from "../orgs/roles.js";
17
+ import { ProviderRegistry } from "../runtime/providers.js";
18
+ import { AgentsService } from "./agents.service.js";
19
+ import { planFromTemplate, } from "./from-template.js";
20
+ import { PendingConnectorRequests } from "./pending-connector-requests.js";
21
+ import { loadTemplates } from "./templates.js";
22
+ /**
23
+ * Creating agents from templates (rulings P4-3…P4-8): the preview and the create both resolve the
24
+ * template with {@link planFromTemplate}; the create refuses a plan whose hash differs from the
25
+ * preview's (409 `agent.template_preview_stale`: the base part, and the automatic model's part when
26
+ * no model is chosen), writes the agent through
27
+ * {@link AgentsService.createFromTemplate}, and after the commit opens the pending connector request
28
+ * when the creator cannot configure connectors.
29
+ */
30
+ let AgentsFromTemplate = class AgentsFromTemplate {
31
+ db;
32
+ agents;
33
+ host;
34
+ providers;
35
+ purposes;
36
+ requests;
37
+ log;
38
+ constructor(db, agents,
39
+ /** Extension tools loaded here and the org's enabled extensions. */
40
+ host, providers,
41
+ /** The tier's purpose mapping (`subagent_<tier>`, P4-4). */
42
+ purposes, requests, log) {
43
+ this.db = db;
44
+ this.agents = agents;
45
+ this.host = host;
46
+ this.providers = providers;
47
+ this.purposes = purposes;
48
+ this.requests = requests;
49
+ this.log = log;
50
+ }
51
+ /** The template, when usable in the org (P4-3); otherwise 404 `component.not_found`. */
52
+ async template(orgId, templateId) {
53
+ const row = (await loadTemplates(this.db.db, orgId, [templateId])).get(templateId);
54
+ if (!row) {
55
+ throw new ApiError("component.not_found", "The agent template does not exist or is not available in this organization");
56
+ }
57
+ return row;
58
+ }
59
+ async plan(orgId, row, model) {
60
+ const opts = {
61
+ pluginTools: this.host.tools().map((t) => ({ plugin: t.plugin, name: t.spec.name })),
62
+ enabledPlugins: await this.host.enabledPlugins(orgId),
63
+ resolveModel: async (ref) => {
64
+ try {
65
+ return (await this.providers.resolve(ref)).info.parameters;
66
+ }
67
+ catch {
68
+ return null;
69
+ }
70
+ },
71
+ purpose: async (purpose) => {
72
+ try {
73
+ return await this.purposes.resolve(orgId, purpose);
74
+ }
75
+ catch (e) {
76
+ if (e instanceof ApiError)
77
+ return null;
78
+ throw e;
79
+ }
80
+ },
81
+ defaultModel: async () => {
82
+ for (const p of await this.providers.list()) {
83
+ const m = p.models[0];
84
+ if (m)
85
+ return { provider: p.provider, model: m.id };
86
+ }
87
+ return null;
88
+ },
89
+ ...(model !== undefined && { model }),
90
+ };
91
+ return planFromTemplate(this.db.db, orgId, row, opts);
92
+ }
93
+ async preview(orgId, templateId) {
94
+ const plan = await this.plan(orgId, await this.template(orgId, templateId));
95
+ return {
96
+ items: plan.items,
97
+ model: plan.auto === null ? null : { ...plan.auto.ref, source: plan.auto.source },
98
+ dropped: plan.dropped,
99
+ previewHash: plan.hash,
100
+ };
101
+ }
102
+ async create(orgId, actorAccountId, req, actorTokenId, auditDetail) {
103
+ const row = await this.template(orgId, req.templateId);
104
+ const plan = await this.plan(orgId, row, req.model);
105
+ // the base part always; the automatic model's part only when the person chose none, so a
106
+ // silently changed choice is stale while an explicit one never is
107
+ const [base, auto] = req.previewHash.split(".");
108
+ if (base !== plan.baseHash || (req.model === undefined && auto !== plan.modelHash)) {
109
+ throw new ApiError("agent.template_preview_stale", "The template or the organization changed since the preview; preview it again");
110
+ }
111
+ if (plan.model === null) {
112
+ throw new ApiError("agent.model_unavailable", "No model is available for the new agent");
113
+ }
114
+ const { agent, role } = await this.agents.createFromTemplate(orgId, actorAccountId, {
115
+ definition: {
116
+ ...plan.definition,
117
+ name: req.name,
118
+ model: plan.model.ref,
119
+ modelParams: plan.model.params,
120
+ },
121
+ visibility: req.visibility ?? "private",
122
+ ...(req.members !== undefined && { memberIds: req.members }),
123
+ profile: {
124
+ description: plan.profile.description,
125
+ quickActions: plan.profile.quickActions,
126
+ ...(req.avatar != null && { avatar: req.avatar }),
127
+ },
128
+ }, { id: req.templateId, version: row.version, name: row.name }, actorTokenId, auditDetail);
129
+ const keys = (agent.definition.pendingConnectors ?? []).map((c) => c.key);
130
+ if (keys.length > 0 && !can(role, "connectors.manage")) {
131
+ try {
132
+ await this.requests.openFor({
133
+ orgId,
134
+ agentId: agent.id,
135
+ ownerAccountId: agent.ownerAccountId,
136
+ keys,
137
+ });
138
+ }
139
+ catch (err) {
140
+ // the agent stands; its 待配置 notice offers the request again (ruling P4-7)
141
+ this.log.warn("cannot open the pending connector request of a new agent", {
142
+ orgId,
143
+ agentId: agent.id,
144
+ err,
145
+ });
146
+ }
147
+ }
148
+ return { agent };
149
+ }
150
+ };
151
+ AgentsFromTemplate = __decorate([
152
+ Injectable(),
153
+ __param(0, Inject(KernelDb)),
154
+ __param(1, Inject(AgentsService)),
155
+ __param(2, Inject(ExtensionHost)),
156
+ __param(3, Inject(ProviderRegistry)),
157
+ __param(4, Inject(ModelPurposesService)),
158
+ __param(5, Inject(PendingConnectorRequests)),
159
+ __param(6, Inject(KERNEL_LOGGER))
160
+ ], AgentsFromTemplate);
161
+ export { AgentsFromTemplate };
@@ -0,0 +1,176 @@
1
+ import { type AgentTemplate } from "@capybara-hq/plugin-sdk";
2
+ import { type Owner } from "../catalog/ownership.js";
3
+ import type { KernelSchemaDb } from "../db/kernel-schema.js";
4
+ import { KernelDb } from "../infra/database/kernel-db.js";
5
+ import { TransactionHost } from "../infra/database/transaction-host.js";
6
+ import { OrgLock } from "../orgs/org-lock.js";
7
+ import { AgentLookup, type AgentView } from "./agent-lookup.js";
8
+ import { type AgentTemplateView } from "./templates.js";
9
+ /** A template with its definition, as `GET orgs/:orgId/agent-templates/:id` answers. */
10
+ export interface AgentTemplateDetail extends AgentTemplateView {
11
+ /** The current definition (the served version). */
12
+ definition: AgentTemplate;
13
+ /** Who owns it: the platform, or the org that created it (P3-14's shape). */
14
+ owner: Owner;
15
+ /**
16
+ * The org's own template (an org template, promoted or not; rulings P3-6, P4-12): its admins
17
+ * edit, delete and set 可共享 on it. Always false for a plugin's template.
18
+ */
19
+ owned: boolean;
20
+ /** 可共享 (only meaningful when `owned`). */
21
+ shareable: boolean;
22
+ /** Shared already: the platform row it was promoted to on share (ruling P3-3). */
23
+ promoted: boolean;
24
+ /**
25
+ * In the org's usable set (agents can be created from it here). False only when the owner reads
26
+ * its own template while it is not usable in its org (a promoted one switched off there).
27
+ */
28
+ usable: boolean;
29
+ }
30
+ /**
31
+ * What 另存为模板 left out (ruling P4-10), listed to the person: `kind` names the part of the
32
+ * agent, `name` the item (roster name, skill or connector name), `id` its id when it has one, and
33
+ * `reason`:
34
+ * - `org_agent`: an allowlisted org agent in the roster (an agent, not a template);
35
+ * - `unavailable`: a skill, sub-agent template or connector the org can no longer use;
36
+ * - `agent_skill`: one of the agent's own skills (not in the org library, so no other agent could
37
+ * resolve it);
38
+ * - `no_endpoint`: a hand-configured connector without a URL to record (an inline OpenAPI document);
39
+ * - `unsupported_protocol`: a hand-configured connector of a kind other than MCP or OpenAPI;
40
+ * - `limit`: past a template limit (connectors 16, sub-agent types and inline 16, tools 200, a
41
+ * connector entry's tools and policy keys 200 together: kind `tool_policy`, `name` the tool,
42
+ * `id` the connector);
43
+ * - `connector_tool`: a policy on a tool of a connector the template does not carry (kind
44
+ * `tool_policy`, `name` its key; carried connectors take their policies in `policies`), or a
45
+ * connector tool key in an inline sub-agent's allowlist (kind `subagent_inline`,
46
+ * `field: "tools"`, `name` the sub-agent): connector keys embed this org's connector slug;
47
+ * - `unsupported_field`: a field of an inline sub-agent a template's inline entry cannot hold
48
+ * (kind `subagent_inline`, `field`: `disallowedTools`, `toolPolicies`, `effort` or `maxSteps`);
49
+ * - `model_param`: a model parameter other than a valid `effort` (kind `model_param`, `name` its
50
+ * key): a template records only the effort (P4-10);
51
+ * - `fallback`: the fallback model and its parameters (kind `fallback_model`, `name`
52
+ * `provider/model`): a template has no fallback;
53
+ * - `empty_text`: whitespace-only text a template requires (kind `subagent_inline` with `field`
54
+ * `description` or `instructions`: the sub-agent is left out; kind `quick_action`, `name` its
55
+ * title: the quick action is left out).
56
+ * An inline sub-agent's skills that are the agent's own (`agent_skill`), gone (`unavailable`) or
57
+ * past the 3 a template holds (`limit`) are listed as kind `skill`.
58
+ */
59
+ export interface SaveAsOmission {
60
+ kind: "subagent_agent" | "subagent_template" | "subagent_inline" | "skill" | "connector" | "tool" | "tool_policy" | "model_param" | "fallback_model" | "quick_action";
61
+ name: string;
62
+ id?: string;
63
+ /** The field of an inline sub-agent left out (`connector_tool`, `unsupported_field`). */
64
+ field?: string;
65
+ reason: "org_agent" | "unavailable" | "agent_skill" | "no_endpoint" | "unsupported_protocol" | "limit" | "connector_tool" | "unsupported_field" | "model_param" | "fallback" | "empty_text";
66
+ }
67
+ /**
68
+ * Roster names no template may take (ruling T4-R15): `general-purpose`, always the roster's first
69
+ * entry. Claude Code's other built-in types (`Explore`, `Plan`) are capitalized, which the
70
+ * template name rule already refuses.
71
+ */
72
+ export declare const RESERVED_TEMPLATE_NAMES: ReadonlySet<string>;
73
+ /**
74
+ * A connector's URL as a template may record it (ruling P4-11): userinfo, query and fragment
75
+ * removed (they may carry credentials). Null when it is no absolute http(s) URL.
76
+ */
77
+ export declare function sanitizeEndpoint(raw: string): string | null;
78
+ /**
79
+ * Validates a template definition the way an `agents/<name>.md` file is (the SDK parser, so the
80
+ * two never drift): the definition minus `instructions` as the frontmatter (JSON is YAML), then
81
+ * the instructions as the body. Problems -> 400 `validation_failed` naming each.
82
+ */
83
+ export declare function parseTemplateDefinition(definition: Record<string, unknown>): AgentTemplate;
84
+ /**
85
+ * Ruling P4-11 on an edit: a `connectors[].needs.endpoint` that carries userinfo, a query or a
86
+ * fragment, or is no http(s) URL of at most 2048 characters, is refused with 400
87
+ * `validation_failed` naming the field and what it carries (an edit is never stripped silently).
88
+ * One that differs only by normalization (a trailing slash, the host's case) is accepted:
89
+ * returns the template with each such endpoint in its canonical {@link sanitizeEndpoint} form.
90
+ */
91
+ export declare function canonicalEndpoints(template: AgentTemplate): AgentTemplate;
92
+ /**
93
+ * The template an agent is saved as (rulings P4-10, P4-11), with what was left out. Pure reads of
94
+ * the org's state through `db`.
95
+ */
96
+ export declare function templateFromAgent(db: KernelSchemaDb, orgId: string, agent: AgentView, meta: {
97
+ name: string;
98
+ description: string;
99
+ }): Promise<{
100
+ template: AgentTemplate;
101
+ omitted: SaveAsOmission[];
102
+ }>;
103
+ /**
104
+ * The org's agent templates beyond the plugin ones (rulings P4-9 to P4-12): 另存为模板, the detail
105
+ * of a usable template and the owner's new versions. Writes run under the org row lock, with
106
+ * `agents.manage` re-checked there.
107
+ */
108
+ export declare class OrgAgentTemplates {
109
+ private readonly kdb;
110
+ private readonly orgLock;
111
+ private readonly agents;
112
+ readonly txHost: TransactionHost;
113
+ constructor(kdb: KernelDb, orgLock: Pick<OrgLock, "lockAndAuthorize">, agents: Pick<AgentLookup, "view">, txHost: TransactionHost);
114
+ private get db();
115
+ /**
116
+ * 另存为模板 (ruling P4-9): the org's live agent `agentId` (any one: an org admin may edit every
117
+ * agent of the org) saved as the org template `name` (version 1, `plugin_name` null), mapped
118
+ * by {@link templateFromAgent}. The bare name must be free in the org (rule 10): a usable
119
+ * template of that type, one of the org's own rows of that name, or a live platform template
120
+ * the org created under that name -> 409 `agent_template.name_taken` naming its owner (details
121
+ * `[{ owner, templateId }]`). Audits `agent_template.created`.
122
+ */
123
+ saveAs(orgId: string, actor: string, agentId: string, meta: {
124
+ name: string;
125
+ description: string;
126
+ }, actorTokenId?: string, auditDetail?: Record<string, unknown>): Promise<{
127
+ template: AgentTemplateDetail;
128
+ omitted: SaveAsOmission[];
129
+ }>;
130
+ /**
131
+ * Rule 10 for a new org template named `name` (a bare type): refused for a reserved roster name
132
+ * (details `[{ reserved: true }]`), and while the org's usable set has that type, the org has a
133
+ * live row of that name without a plugin (an unusable copy too: the live-name index), a
134
+ * plugin-less platform template of that name is offered to the org (ruling P2-3's alignment),
135
+ * or the platform has a live template the org created under that name (promotion would clash).
136
+ */
137
+ private assertNameFree;
138
+ /**
139
+ * A template usable in the org by id ({@link loadTemplates}: an org row, a linked copy, a
140
+ * platform template on in the org), or the org's own template whatever its switch, with its
141
+ * definition, owner and the org's flags. Otherwise -> 404 `component.not_found`.
142
+ */
143
+ detail(orgId: string, id: string): Promise<AgentTemplateDetail>;
144
+ /**
145
+ * A new version of the org's own template `id` (ruling P4-12; `agents.manage` re-checked under
146
+ * the org row lock): `definition` is validated like a template file and keeps its name;
147
+ * `expectedVersion` must be the version the editor read (else 409
148
+ * `agent_template.version_conflict`). An unshared template gets a new version of its org row; a
149
+ * promoted one a new version of its platform row (ruling P3-4), which the org row then serves
150
+ * (ruling P3-43), and the orgs using it are told (`shared_item_updated`). An unchanged
151
+ * definition writes nothing. Not the org's own -> 409 `catalog.not_owned`; missing -> 404.
152
+ * Agents created earlier are never touched. Audits `agent_template.updated`.
153
+ */
154
+ update(orgId: string, actor: string, id: string, body: {
155
+ definition: Record<string, unknown>;
156
+ expectedVersion: number;
157
+ }, actorTokenId?: string): Promise<AgentTemplateDetail>;
158
+ /**
159
+ * The org's own template `id` ({@link readOwnTemplate}, the predicate `OwnedItems` shares), or
160
+ * undefined: another org's, a plugin's, or a copy of a platform template it does not own.
161
+ */
162
+ private ownRow;
163
+ /**
164
+ * What the org's own template serves, read directly (its usable-set entry is missing while the
165
+ * org switched its promoted template off): the platform row's current version when it is newer
166
+ * than the org row's (ruling P3-43), else the org row's.
167
+ */
168
+ private ownServed;
169
+ /** 409 `catalog.not_owned` for a template the org has but does not own, else 404. */
170
+ private notOwnedOrMissing;
171
+ /**
172
+ * The owner of a usable template the org does not own itself: a platform template's (or a
173
+ * linked copy's) `owner_org_id`, a plugin template's catalog item owner, else the platform.
174
+ */
175
+ private ownerOfRow;
176
+ }