@capybara-hq/kernel 0.0.0-stage → 0.1.0-rc.0

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 (631) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +2 -0
  3. package/README.md +20 -2
  4. package/bootstrap.json +22 -0
  5. package/dist/admin/admin.controller.d.ts +139 -0
  6. package/dist/admin/admin.controller.js +238 -0
  7. package/dist/admin/extensions.controller.d.ts +100 -0
  8. package/dist/admin/extensions.controller.js +226 -0
  9. package/dist/admin/setup.controller.d.ts +36 -0
  10. package/dist/admin/setup.controller.js +106 -0
  11. package/dist/admin/setup.service.d.ts +47 -0
  12. package/dist/admin/setup.service.js +90 -0
  13. package/dist/agents/agents.controller.d.ts +205 -0
  14. package/dist/agents/agents.controller.js +144 -0
  15. package/dist/agents/agents.service.d.ts +177 -0
  16. package/dist/agents/agents.service.js +677 -0
  17. package/dist/agents/definition.d.ts +198 -0
  18. package/dist/agents/definition.js +152 -0
  19. package/dist/agents/models.controller.d.ts +13 -0
  20. package/dist/agents/models.controller.js +31 -0
  21. package/dist/agents/templates.controller.d.ts +15 -0
  22. package/dist/agents/templates.controller.js +37 -0
  23. package/dist/agents/templates.d.ts +83 -0
  24. package/dist/agents/templates.js +173 -0
  25. package/dist/catalog/admin-catalog.controller.d.ts +143 -0
  26. package/dist/catalog/admin-catalog.controller.js +245 -0
  27. package/dist/catalog/catalog.service.d.ts +430 -0
  28. package/dist/catalog/catalog.service.js +882 -0
  29. package/dist/catalog/claude/agents.d.ts +27 -0
  30. package/dist/catalog/claude/agents.js +270 -0
  31. package/dist/catalog/claude/commands.d.ts +50 -0
  32. package/dist/catalog/claude/commands.js +179 -0
  33. package/dist/catalog/claude/manifest.d.ts +69 -0
  34. package/dist/catalog/claude/manifest.js +134 -0
  35. package/dist/catalog/claude/marketplace.d.ts +35 -0
  36. package/dist/catalog/claude/marketplace.js +194 -0
  37. package/dist/catalog/claude/mcp.d.ts +33 -0
  38. package/dist/catalog/claude/mcp.js +226 -0
  39. package/dist/catalog/claude/report.d.ts +86 -0
  40. package/dist/catalog/claude/report.js +121 -0
  41. package/dist/catalog/claude/translate.d.ts +56 -0
  42. package/dist/catalog/claude/translate.js +857 -0
  43. package/dist/catalog/cli.d.ts +46 -0
  44. package/dist/catalog/cli.js +211 -0
  45. package/dist/catalog/git-source.d.ts +127 -0
  46. package/dist/catalog/git-source.js +520 -0
  47. package/dist/catalog/marketplace-fetch.d.ts +99 -0
  48. package/dist/catalog/marketplace-fetch.js +203 -0
  49. package/dist/catalog/marketplaces.controller.d.ts +97 -0
  50. package/dist/catalog/marketplaces.controller.js +197 -0
  51. package/dist/catalog/marketplaces.service.d.ts +340 -0
  52. package/dist/catalog/marketplaces.service.js +1217 -0
  53. package/dist/catalog/org-catalog.controller.d.ts +128 -0
  54. package/dist/catalog/org-catalog.controller.js +277 -0
  55. package/dist/catalog/org-catalog.service.d.ts +246 -0
  56. package/dist/catalog/org-catalog.service.js +625 -0
  57. package/dist/catalog/plugin-import.d.ts +436 -0
  58. package/dist/catalog/plugin-import.js +1069 -0
  59. package/dist/catalog/plugin-install.d.ts +447 -0
  60. package/dist/catalog/plugin-install.js +1333 -0
  61. package/dist/catalog/plugin-package.d.ts +143 -0
  62. package/dist/catalog/plugin-package.js +382 -0
  63. package/dist/catalog/plugin-upgrade.d.ts +222 -0
  64. package/dist/catalog/plugin-upgrade.js +1219 -0
  65. package/dist/catalog/requests.service.d.ts +162 -0
  66. package/dist/catalog/requests.service.js +504 -0
  67. package/dist/catalog/schema-path.d.ts +7 -0
  68. package/dist/catalog/schema-path.js +63 -0
  69. package/dist/catalog/upgrade-targets.d.ts +59 -0
  70. package/dist/catalog/upgrade-targets.js +90 -0
  71. package/dist/catalog/versions.d.ts +31 -0
  72. package/dist/catalog/versions.js +44 -0
  73. package/dist/channels/actions.d.ts +37 -0
  74. package/dist/channels/actions.js +121 -0
  75. package/dist/channels/cards.d.ts +44 -0
  76. package/dist/channels/cards.js +156 -0
  77. package/dist/channels/connections.controller.d.ts +59 -0
  78. package/dist/channels/connections.controller.js +115 -0
  79. package/dist/channels/connections.service.d.ts +187 -0
  80. package/dist/channels/connections.service.js +534 -0
  81. package/dist/channels/features.d.ts +12 -0
  82. package/dist/channels/features.js +22 -0
  83. package/dist/channels/inbound.d.ts +120 -0
  84. package/dist/channels/inbound.js +332 -0
  85. package/dist/channels/outbound.d.ts +140 -0
  86. package/dist/channels/outbound.js +1125 -0
  87. package/dist/channels/phrases.d.ts +100 -0
  88. package/dist/channels/phrases.js +81 -0
  89. package/dist/channels/supervisor.d.ts +182 -0
  90. package/dist/channels/supervisor.js +625 -0
  91. package/dist/channels/threads.d.ts +29 -0
  92. package/dist/channels/threads.js +104 -0
  93. package/dist/channels/webhook-url.d.ts +16 -0
  94. package/dist/channels/webhook-url.js +34 -0
  95. package/dist/channels/webhook.controller.d.ts +19 -0
  96. package/dist/channels/webhook.controller.js +72 -0
  97. package/dist/channels/webhook.d.ts +73 -0
  98. package/dist/channels/webhook.js +274 -0
  99. package/dist/config/docs.d.ts +9 -0
  100. package/dist/config/docs.js +85 -0
  101. package/dist/config/env.d.ts +6 -0
  102. package/dist/config/env.js +73 -0
  103. package/dist/config/fields.d.ts +42 -0
  104. package/dist/config/fields.js +214 -0
  105. package/dist/config/file-source.d.ts +3 -0
  106. package/dist/config/file-source.js +31 -0
  107. package/dist/config/load.d.ts +20 -0
  108. package/dist/config/load.js +98 -0
  109. package/dist/config/nacos-source.d.ts +31 -0
  110. package/dist/config/nacos-source.js +229 -0
  111. package/dist/config/schema.d.ts +223 -0
  112. package/dist/config/schema.js +1151 -0
  113. package/dist/config/sources.d.ts +18 -0
  114. package/dist/config/sources.js +59 -0
  115. package/dist/config/types.d.ts +9 -0
  116. package/dist/config/types.js +7 -0
  117. package/dist/conversations/artifacts.d.ts +52 -0
  118. package/dist/conversations/artifacts.js +137 -0
  119. package/dist/conversations/attachments.controller.d.ts +28 -0
  120. package/dist/conversations/attachments.controller.js +96 -0
  121. package/dist/conversations/attachments.service.d.ts +180 -0
  122. package/dist/conversations/attachments.service.js +578 -0
  123. package/dist/conversations/conversations.controller.d.ts +288 -0
  124. package/dist/conversations/conversations.controller.js +607 -0
  125. package/dist/conversations/conversations.service.d.ts +321 -0
  126. package/dist/conversations/conversations.service.js +754 -0
  127. package/dist/conversations/event-log.d.ts +122 -0
  128. package/dist/conversations/event-log.js +259 -0
  129. package/dist/conversations/events.d.ts +856 -0
  130. package/dist/conversations/events.js +639 -0
  131. package/dist/conversations/files.d.ts +92 -0
  132. package/dist/conversations/files.js +213 -0
  133. package/dist/conversations/outputs-read.d.ts +34 -0
  134. package/dist/conversations/outputs-read.js +37 -0
  135. package/dist/conversations/queue.d.ts +169 -0
  136. package/dist/conversations/queue.js +527 -0
  137. package/dist/conversations/sandbox-status.d.ts +21 -0
  138. package/dist/conversations/sandbox-status.js +24 -0
  139. package/dist/conversations/selection.d.ts +46 -0
  140. package/dist/conversations/selection.js +75 -0
  141. package/dist/conversations/titles.d.ts +93 -0
  142. package/dist/conversations/titles.js +422 -0
  143. package/dist/ctx/bus.d.ts +16 -0
  144. package/dist/ctx/bus.js +101 -0
  145. package/dist/ctx/create-ctx.d.ts +109 -0
  146. package/dist/ctx/create-ctx.js +592 -0
  147. package/dist/ctx/kv.d.ts +4 -0
  148. package/dist/ctx/kv.js +31 -0
  149. package/dist/ctx/lock.d.ts +4 -0
  150. package/dist/ctx/lock.js +39 -0
  151. package/dist/ctx/namespace.d.ts +6 -0
  152. package/dist/ctx/namespace.js +12 -0
  153. package/dist/ctx/queue.d.ts +25 -0
  154. package/dist/ctx/queue.js +150 -0
  155. package/dist/ctx/secrets.d.ts +45 -0
  156. package/dist/ctx/secrets.js +175 -0
  157. package/dist/db/kernel-schema.d.ts +1122 -0
  158. package/dist/db/kernel-schema.js +5 -0
  159. package/dist/db/migrator.d.ts +28 -0
  160. package/dist/db/migrator.js +140 -0
  161. package/dist/db/pool.d.ts +21 -0
  162. package/dist/db/pool.js +28 -0
  163. package/dist/db/sql-statements.d.ts +34 -0
  164. package/dist/db/sql-statements.js +168 -0
  165. package/dist/errors.d.ts +210 -0
  166. package/dist/errors.js +212 -0
  167. package/dist/evals/budget.d.ts +61 -0
  168. package/dist/evals/budget.js +181 -0
  169. package/dist/evals/diff.d.ts +55 -0
  170. package/dist/evals/diff.js +133 -0
  171. package/dist/evals/judge.d.ts +53 -0
  172. package/dist/evals/judge.js +149 -0
  173. package/dist/evals/plan.d.ts +47 -0
  174. package/dist/evals/plan.js +77 -0
  175. package/dist/evals/reconstruct.d.ts +137 -0
  176. package/dist/evals/reconstruct.js +322 -0
  177. package/dist/evals/recorded-tools.d.ts +54 -0
  178. package/dist/evals/recorded-tools.js +167 -0
  179. package/dist/evals/run-replay.d.ts +86 -0
  180. package/dist/evals/run-replay.js +502 -0
  181. package/dist/evals/runs.controller.d.ts +100 -0
  182. package/dist/evals/runs.controller.js +199 -0
  183. package/dist/evals/runs.service.d.ts +275 -0
  184. package/dist/evals/runs.service.js +836 -0
  185. package/dist/evals/sets.controller.d.ts +61 -0
  186. package/dist/evals/sets.controller.js +183 -0
  187. package/dist/evals/sets.service.d.ts +128 -0
  188. package/dist/evals/sets.service.js +558 -0
  189. package/dist/evals/snapshot.d.ts +76 -0
  190. package/dist/evals/snapshot.js +207 -0
  191. package/dist/evals/step-replay.d.ts +113 -0
  192. package/dist/evals/step-replay.js +181 -0
  193. package/dist/evals/trajectory.controller.d.ts +41 -0
  194. package/dist/evals/trajectory.controller.js +88 -0
  195. package/dist/evals/trajectory.d.ts +144 -0
  196. package/dist/evals/trajectory.js +338 -0
  197. package/dist/evals/trajectory.service.d.ts +108 -0
  198. package/dist/evals/trajectory.service.js +323 -0
  199. package/dist/evals/worker.d.ts +101 -0
  200. package/dist/evals/worker.js +789 -0
  201. package/dist/extensions/admin-ops.d.ts +105 -0
  202. package/dist/extensions/admin-ops.js +353 -0
  203. package/dist/extensions/admin-view.d.ts +79 -0
  204. package/dist/extensions/admin-view.js +327 -0
  205. package/dist/extensions/approvals.d.ts +119 -0
  206. package/dist/extensions/approvals.js +205 -0
  207. package/dist/extensions/blobs.d.ts +45 -0
  208. package/dist/extensions/blobs.js +160 -0
  209. package/dist/extensions/bootstrap.d.ts +149 -0
  210. package/dist/extensions/bootstrap.js +441 -0
  211. package/dist/extensions/cli.d.ts +61 -0
  212. package/dist/extensions/cli.js +165 -0
  213. package/dist/extensions/config-json-schema.d.ts +9 -0
  214. package/dist/extensions/config-json-schema.js +73 -0
  215. package/dist/extensions/deployment-config.d.ts +138 -0
  216. package/dist/extensions/deployment-config.js +394 -0
  217. package/dist/extensions/enabled.d.ts +31 -0
  218. package/dist/extensions/enabled.js +55 -0
  219. package/dist/extensions/hooks.d.ts +161 -0
  220. package/dist/extensions/hooks.js +425 -0
  221. package/dist/extensions/host.d.ts +577 -0
  222. package/dist/extensions/host.js +2071 -0
  223. package/dist/extensions/inflight.d.ts +69 -0
  224. package/dist/extensions/inflight.js +277 -0
  225. package/dist/extensions/installs.d.ts +166 -0
  226. package/dist/extensions/installs.js +253 -0
  227. package/dist/extensions/instance.d.ts +167 -0
  228. package/dist/extensions/instance.js +329 -0
  229. package/dist/extensions/ledger.d.ts +30 -0
  230. package/dist/extensions/ledger.js +50 -0
  231. package/dist/extensions/lifecycle.d.ts +80 -0
  232. package/dist/extensions/lifecycle.js +152 -0
  233. package/dist/extensions/migrate-lock.d.ts +51 -0
  234. package/dist/extensions/migrate-lock.js +100 -0
  235. package/dist/extensions/org-config.controller.d.ts +24 -0
  236. package/dist/extensions/org-config.controller.js +59 -0
  237. package/dist/extensions/org-config.d.ts +169 -0
  238. package/dist/extensions/org-config.js +520 -0
  239. package/dist/extensions/package.d.ts +115 -0
  240. package/dist/extensions/package.js +246 -0
  241. package/dist/extensions/permission-set.d.ts +117 -0
  242. package/dist/extensions/permission-set.js +184 -0
  243. package/dist/extensions/permission-view.d.ts +194 -0
  244. package/dist/extensions/permission-view.js +284 -0
  245. package/dist/extensions/registry.d.ts +24 -0
  246. package/dist/extensions/registry.js +56 -0
  247. package/dist/extensions/resolve.d.ts +12 -0
  248. package/dist/extensions/resolve.js +71 -0
  249. package/dist/extensions/sources.d.ts +69 -0
  250. package/dist/extensions/sources.js +120 -0
  251. package/dist/extensions/sync.d.ts +40 -0
  252. package/dist/extensions/sync.js +242 -0
  253. package/dist/files/previewers.controller.d.ts +46 -0
  254. package/dist/files/previewers.controller.js +105 -0
  255. package/dist/files/previewers.d.ts +100 -0
  256. package/dist/files/previewers.js +250 -0
  257. package/dist/http/api.module.d.ts +114 -0
  258. package/dist/http/api.module.js +448 -0
  259. package/dist/http/app.d.ts +77 -0
  260. package/dist/http/app.js +170 -0
  261. package/dist/http/error.filter.d.ts +21 -0
  262. package/dist/http/error.filter.js +85 -0
  263. package/dist/http/gateway.module.d.ts +15 -0
  264. package/dist/http/gateway.module.js +13 -0
  265. package/dist/http/health.controller.d.ts +26 -0
  266. package/dist/http/health.controller.js +79 -0
  267. package/dist/http/nest-logger.d.ts +20 -0
  268. package/dist/http/nest-logger.js +28 -0
  269. package/dist/http/plugin-dispatch.d.ts +68 -0
  270. package/dist/http/plugin-dispatch.js +200 -0
  271. package/dist/http/tokens.d.ts +131 -0
  272. package/dist/http/tokens.js +131 -0
  273. package/dist/http/zod.pipe.d.ts +8 -0
  274. package/dist/http/zod.pipe.js +14 -0
  275. package/dist/identity/accounts.d.ts +93 -0
  276. package/dist/identity/accounts.js +367 -0
  277. package/dist/identity/api-tokens.d.ts +73 -0
  278. package/dist/identity/api-tokens.js +197 -0
  279. package/dist/identity/audit.d.ts +23 -0
  280. package/dist/identity/audit.js +41 -0
  281. package/dist/identity/auth.controller.d.ts +40 -0
  282. package/dist/identity/auth.controller.js +130 -0
  283. package/dist/identity/auth.guard.d.ts +41 -0
  284. package/dist/identity/auth.guard.js +162 -0
  285. package/dist/identity/binding.d.ts +47 -0
  286. package/dist/identity/binding.js +84 -0
  287. package/dist/identity/cookies.d.ts +16 -0
  288. package/dist/identity/cookies.js +32 -0
  289. package/dist/identity/credential-check.d.ts +17 -0
  290. package/dist/identity/credential-check.js +24 -0
  291. package/dist/identity/enterprise-admin.d.ts +14 -0
  292. package/dist/identity/enterprise-admin.js +27 -0
  293. package/dist/identity/external.d.ts +106 -0
  294. package/dist/identity/external.js +337 -0
  295. package/dist/identity/hash.d.ts +2 -0
  296. package/dist/identity/hash.js +3 -0
  297. package/dist/identity/login.d.ts +6 -0
  298. package/dist/identity/login.js +20 -0
  299. package/dist/identity/me.controller.d.ts +61 -0
  300. package/dist/identity/me.controller.js +159 -0
  301. package/dist/identity/passwords.d.ts +6 -0
  302. package/dist/identity/passwords.js +37 -0
  303. package/dist/identity/principal.d.ts +56 -0
  304. package/dist/identity/principal.js +38 -0
  305. package/dist/identity/rate-limit.d.ts +55 -0
  306. package/dist/identity/rate-limit.js +121 -0
  307. package/dist/identity/sessions.d.ts +84 -0
  308. package/dist/identity/sessions.js +306 -0
  309. package/dist/identity/settings.d.ts +121 -0
  310. package/dist/identity/settings.js +248 -0
  311. package/dist/identity/sso.controller.d.ts +59 -0
  312. package/dist/identity/sso.controller.js +192 -0
  313. package/dist/identity/sso.d.ts +83 -0
  314. package/dist/identity/sso.js +202 -0
  315. package/dist/inbox/inbox.service.d.ts +43 -0
  316. package/dist/inbox/inbox.service.js +57 -0
  317. package/dist/index.d.ts +67 -0
  318. package/dist/index.js +65 -0
  319. package/dist/kernel.d.ts +256 -0
  320. package/dist/kernel.js +1326 -0
  321. package/dist/log.d.ts +48 -0
  322. package/dist/log.js +229 -0
  323. package/dist/models/prices.d.ts +53 -0
  324. package/dist/models/prices.js +121 -0
  325. package/dist/models/purposes.controller.d.ts +19 -0
  326. package/dist/models/purposes.controller.js +56 -0
  327. package/dist/models/purposes.d.ts +140 -0
  328. package/dist/models/purposes.js +267 -0
  329. package/dist/net/proxy.d.ts +44 -0
  330. package/dist/net/proxy.js +162 -0
  331. package/dist/net/public-address.d.ts +60 -0
  332. package/dist/net/public-address.js +271 -0
  333. package/dist/net/safe-fetch.d.ts +38 -0
  334. package/dist/net/safe-fetch.js +140 -0
  335. package/dist/orgs/directory-sync.controller.d.ts +14 -0
  336. package/dist/orgs/directory-sync.controller.js +40 -0
  337. package/dist/orgs/directory-sync.d.ts +166 -0
  338. package/dist/orgs/directory-sync.js +558 -0
  339. package/dist/orgs/invitations.controller.d.ts +58 -0
  340. package/dist/orgs/invitations.controller.js +137 -0
  341. package/dist/orgs/invitations.service.d.ts +80 -0
  342. package/dist/orgs/invitations.service.js +217 -0
  343. package/dist/orgs/members.service.d.ts +63 -0
  344. package/dist/orgs/members.service.js +234 -0
  345. package/dist/orgs/offboarding.d.ts +141 -0
  346. package/dist/orgs/offboarding.js +398 -0
  347. package/dist/orgs/org-lock.d.ts +32 -0
  348. package/dist/orgs/org-lock.js +46 -0
  349. package/dist/orgs/org.guard.d.ts +35 -0
  350. package/dist/orgs/org.guard.js +95 -0
  351. package/dist/orgs/orgs.controller.d.ts +78 -0
  352. package/dist/orgs/orgs.controller.js +192 -0
  353. package/dist/orgs/orgs.service.d.ts +61 -0
  354. package/dist/orgs/orgs.service.js +209 -0
  355. package/dist/orgs/roles.d.ts +13 -0
  356. package/dist/orgs/roles.js +58 -0
  357. package/dist/orgs/settings.controller.d.ts +20 -0
  358. package/dist/orgs/settings.controller.js +53 -0
  359. package/dist/orgs/settings.service.d.ts +120 -0
  360. package/dist/orgs/settings.service.js +178 -0
  361. package/dist/packages/npm.d.ts +50 -0
  362. package/dist/packages/npm.js +218 -0
  363. package/dist/packages/provenance.d.ts +47 -0
  364. package/dist/packages/provenance.js +147 -0
  365. package/dist/packages/tgz.d.ts +76 -0
  366. package/dist/packages/tgz.js +225 -0
  367. package/dist/runtime/abort.d.ts +32 -0
  368. package/dist/runtime/abort.js +71 -0
  369. package/dist/runtime/checkpointer.d.ts +32 -0
  370. package/dist/runtime/checkpointer.js +243 -0
  371. package/dist/runtime/context/build.d.ts +254 -0
  372. package/dist/runtime/context/build.js +693 -0
  373. package/dist/runtime/context/claude-tools.d.ts +11 -0
  374. package/dist/runtime/context/claude-tools.js +24 -0
  375. package/dist/runtime/context/compaction.d.ts +26 -0
  376. package/dist/runtime/context/compaction.js +195 -0
  377. package/dist/runtime/context/pairing.d.ts +11 -0
  378. package/dist/runtime/context/pairing.js +82 -0
  379. package/dist/runtime/context/reminders.d.ts +5 -0
  380. package/dist/runtime/context/reminders.js +11 -0
  381. package/dist/runtime/context/skills.d.ts +105 -0
  382. package/dist/runtime/context/skills.js +283 -0
  383. package/dist/runtime/context/tokens.d.ts +19 -0
  384. package/dist/runtime/context/tokens.js +104 -0
  385. package/dist/runtime/conversation-lock.d.ts +40 -0
  386. package/dist/runtime/conversation-lock.js +97 -0
  387. package/dist/runtime/hook-calls.d.ts +84 -0
  388. package/dist/runtime/hook-calls.js +136 -0
  389. package/dist/runtime/langgraph-loop.d.ts +52 -0
  390. package/dist/runtime/langgraph-loop.js +247 -0
  391. package/dist/runtime/loop.d.ts +93 -0
  392. package/dist/runtime/loop.js +7 -0
  393. package/dist/runtime/maintenance.d.ts +80 -0
  394. package/dist/runtime/maintenance.js +147 -0
  395. package/dist/runtime/media-cache.d.ts +21 -0
  396. package/dist/runtime/media-cache.js +51 -0
  397. package/dist/runtime/model-call.d.ts +176 -0
  398. package/dist/runtime/model-call.js +1049 -0
  399. package/dist/runtime/providers.d.ts +86 -0
  400. package/dist/runtime/providers.js +224 -0
  401. package/dist/runtime/quota.d.ts +29 -0
  402. package/dist/runtime/quota.js +70 -0
  403. package/dist/runtime/run-finish.d.ts +45 -0
  404. package/dist/runtime/run-finish.js +69 -0
  405. package/dist/runtime/run-queue.d.ts +121 -0
  406. package/dist/runtime/run-queue.js +493 -0
  407. package/dist/runtime/run-worker.d.ts +138 -0
  408. package/dist/runtime/run-worker.js +805 -0
  409. package/dist/runtime/stream.controller.d.ts +34 -0
  410. package/dist/runtime/stream.controller.js +122 -0
  411. package/dist/runtime/stream.d.ts +63 -0
  412. package/dist/runtime/stream.js +262 -0
  413. package/dist/runtime/subagents/child.d.ts +80 -0
  414. package/dist/runtime/subagents/child.js +225 -0
  415. package/dist/runtime/subagents/definition.d.ts +103 -0
  416. package/dist/runtime/subagents/definition.js +392 -0
  417. package/dist/runtime/subagents/dispatch.d.ts +69 -0
  418. package/dist/runtime/subagents/dispatch.js +502 -0
  419. package/dist/runtime/subagents/limits.d.ts +23 -0
  420. package/dist/runtime/subagents/limits.js +34 -0
  421. package/dist/runtime/subagents/org-agents.d.ts +50 -0
  422. package/dist/runtime/subagents/org-agents.js +70 -0
  423. package/dist/runtime/subagents/preamble.d.ts +7 -0
  424. package/dist/runtime/subagents/preamble.js +11 -0
  425. package/dist/runtime/subagents/progress.d.ts +26 -0
  426. package/dist/runtime/subagents/progress.js +36 -0
  427. package/dist/runtime/subagents/roster.d.ts +55 -0
  428. package/dist/runtime/subagents/roster.js +111 -0
  429. package/dist/runtime/subagents/skill-fork.d.ts +123 -0
  430. package/dist/runtime/subagents/skill-fork.js +259 -0
  431. package/dist/runtime/usage-report.d.ts +163 -0
  432. package/dist/runtime/usage-report.js +550 -0
  433. package/dist/runtime/waits.d.ts +233 -0
  434. package/dist/runtime/waits.js +883 -0
  435. package/dist/sandbox/leases.d.ts +169 -0
  436. package/dist/sandbox/leases.js +515 -0
  437. package/dist/sandbox/lifecycle.d.ts +21 -0
  438. package/dist/sandbox/lifecycle.js +68 -0
  439. package/dist/sandbox/sandbox.service.d.ts +249 -0
  440. package/dist/sandbox/sandbox.service.js +908 -0
  441. package/dist/skills/catalog.d.ts +149 -0
  442. package/dist/skills/catalog.js +405 -0
  443. package/dist/skills/changes.controller.d.ts +56 -0
  444. package/dist/skills/changes.controller.js +136 -0
  445. package/dist/skills/changes.service.d.ts +175 -0
  446. package/dist/skills/changes.service.js +805 -0
  447. package/dist/skills/invocable.controller.d.ts +23 -0
  448. package/dist/skills/invocable.controller.js +50 -0
  449. package/dist/skills/invocation-keys.d.ts +23 -0
  450. package/dist/skills/invocation-keys.js +44 -0
  451. package/dist/skills/invoke.d.ts +135 -0
  452. package/dist/skills/invoke.js +286 -0
  453. package/dist/skills/package.d.ts +87 -0
  454. package/dist/skills/package.js +227 -0
  455. package/dist/skills/skills.controller.d.ts +40 -0
  456. package/dist/skills/skills.controller.js +110 -0
  457. package/dist/skills/skills.service.d.ts +192 -0
  458. package/dist/skills/skills.service.js +567 -0
  459. package/dist/storage/prefix.d.ts +36 -0
  460. package/dist/storage/prefix.js +104 -0
  461. package/dist/storage/purge.d.ts +27 -0
  462. package/dist/storage/purge.js +75 -0
  463. package/dist/storage/storage.service.d.ts +44 -0
  464. package/dist/storage/storage.service.js +145 -0
  465. package/dist/text.d.ts +13 -0
  466. package/dist/text.js +13 -0
  467. package/dist/tools/approvals.controller.d.ts +53 -0
  468. package/dist/tools/approvals.controller.js +128 -0
  469. package/dist/tools/approvals.service.d.ts +172 -0
  470. package/dist/tools/approvals.service.js +568 -0
  471. package/dist/tools/breaker.d.ts +28 -0
  472. package/dist/tools/breaker.js +72 -0
  473. package/dist/tools/builtins/agent.d.ts +81 -0
  474. package/dist/tools/builtins/agent.js +223 -0
  475. package/dist/tools/builtins/ask-user.d.ts +28 -0
  476. package/dist/tools/builtins/ask-user.js +139 -0
  477. package/dist/tools/builtins/read-tool-output.d.ts +18 -0
  478. package/dist/tools/builtins/read-tool-output.js +108 -0
  479. package/dist/tools/builtins/sandbox/bash.d.ts +16 -0
  480. package/dist/tools/builtins/sandbox/bash.js +137 -0
  481. package/dist/tools/builtins/sandbox/common.d.ts +114 -0
  482. package/dist/tools/builtins/sandbox/common.js +304 -0
  483. package/dist/tools/builtins/sandbox/deliver.d.ts +5 -0
  484. package/dist/tools/builtins/sandbox/deliver.js +180 -0
  485. package/dist/tools/builtins/sandbox/edit.d.ts +4 -0
  486. package/dist/tools/builtins/sandbox/edit.js +98 -0
  487. package/dist/tools/builtins/sandbox/glob-match.d.ts +25 -0
  488. package/dist/tools/builtins/sandbox/glob-match.js +240 -0
  489. package/dist/tools/builtins/sandbox/glob.d.ts +4 -0
  490. package/dist/tools/builtins/sandbox/glob.js +104 -0
  491. package/dist/tools/builtins/sandbox/grep.d.ts +9 -0
  492. package/dist/tools/builtins/sandbox/grep.js +133 -0
  493. package/dist/tools/builtins/sandbox/index.d.ts +12 -0
  494. package/dist/tools/builtins/sandbox/index.js +27 -0
  495. package/dist/tools/builtins/sandbox/names.d.ts +7 -0
  496. package/dist/tools/builtins/sandbox/names.js +20 -0
  497. package/dist/tools/builtins/sandbox/read.d.ts +8 -0
  498. package/dist/tools/builtins/sandbox/read.js +121 -0
  499. package/dist/tools/builtins/sandbox/write.d.ts +4 -0
  500. package/dist/tools/builtins/sandbox/write.js +88 -0
  501. package/dist/tools/builtins/skill-load.d.ts +53 -0
  502. package/dist/tools/builtins/skill-load.js +446 -0
  503. package/dist/tools/builtins/skill-write.d.ts +59 -0
  504. package/dist/tools/builtins/skill-write.js +244 -0
  505. package/dist/tools/builtins/tool-search.d.ts +31 -0
  506. package/dist/tools/builtins/tool-search.js +171 -0
  507. package/dist/tools/connector-content.controller.d.ts +34 -0
  508. package/dist/tools/connector-content.controller.js +78 -0
  509. package/dist/tools/connector-content.d.ts +104 -0
  510. package/dist/tools/connector-content.js +267 -0
  511. package/dist/tools/connectors.controller.d.ts +210 -0
  512. package/dist/tools/connectors.controller.js +234 -0
  513. package/dist/tools/connectors.service.d.ts +303 -0
  514. package/dist/tools/connectors.service.js +1102 -0
  515. package/dist/tools/credentials.d.ts +139 -0
  516. package/dist/tools/credentials.js +351 -0
  517. package/dist/tools/drift.d.ts +141 -0
  518. package/dist/tools/drift.js +539 -0
  519. package/dist/tools/elicitation.d.ts +81 -0
  520. package/dist/tools/elicitation.js +266 -0
  521. package/dist/tools/endpoint.d.ts +18 -0
  522. package/dist/tools/endpoint.js +115 -0
  523. package/dist/tools/info.d.ts +67 -0
  524. package/dist/tools/info.js +113 -0
  525. package/dist/tools/naming.d.ts +27 -0
  526. package/dist/tools/naming.js +47 -0
  527. package/dist/tools/oauth/discovery.d.ts +65 -0
  528. package/dist/tools/oauth/discovery.js +307 -0
  529. package/dist/tools/oauth/flow.d.ts +63 -0
  530. package/dist/tools/oauth/flow.js +237 -0
  531. package/dist/tools/oauth/oauth.controller.d.ts +31 -0
  532. package/dist/tools/oauth/oauth.controller.js +95 -0
  533. package/dist/tools/oauth/tokens.d.ts +111 -0
  534. package/dist/tools/oauth/tokens.js +258 -0
  535. package/dist/tools/outputs.d.ts +61 -0
  536. package/dist/tools/outputs.js +156 -0
  537. package/dist/tools/pipeline.d.ts +322 -0
  538. package/dist/tools/pipeline.js +1236 -0
  539. package/dist/tools/policy.d.ts +60 -0
  540. package/dist/tools/policy.js +236 -0
  541. package/dist/tools/questions.controller.d.ts +24 -0
  542. package/dist/tools/questions.controller.js +58 -0
  543. package/dist/tools/questions.service.d.ts +103 -0
  544. package/dist/tools/questions.service.js +295 -0
  545. package/dist/tools/redact.d.ts +20 -0
  546. package/dist/tools/redact.js +60 -0
  547. package/dist/tools/registry.d.ts +246 -0
  548. package/dist/tools/registry.js +481 -0
  549. package/dist/tools/resources.d.ts +16 -0
  550. package/dist/tools/resources.js +76 -0
  551. package/dist/tools/specs.d.ts +14 -0
  552. package/dist/tools/specs.js +31 -0
  553. package/dist/tools/validate.d.ts +20 -0
  554. package/dist/tools/validate.js +183 -0
  555. package/dist/tools/view.d.ts +43 -0
  556. package/dist/tools/view.js +225 -0
  557. package/dist/ui/embed-token.d.ts +31 -0
  558. package/dist/ui/embed-token.js +132 -0
  559. package/dist/ui/registry.d.ts +58 -0
  560. package/dist/ui/registry.js +90 -0
  561. package/dist/ui/ui-stream.d.ts +37 -0
  562. package/dist/ui/ui-stream.js +162 -0
  563. package/dist/ui/views.controller.d.ts +81 -0
  564. package/dist/ui/views.controller.js +261 -0
  565. package/dist/ui/views.d.ts +155 -0
  566. package/dist/ui/views.js +306 -0
  567. package/dist/version.d.ts +5 -0
  568. package/dist/version.js +6 -0
  569. package/package.json +67 -3
  570. package/src/migrations/0001_init.sql +8 -0
  571. package/src/migrations/0002_secrets.sql +8 -0
  572. package/src/migrations/0003_identity.sql +117 -0
  573. package/src/migrations/0004_plugin_org_config_nullable.sql +3 -0
  574. package/src/migrations/0005_agents.sql +27 -0
  575. package/src/migrations/0006_conversations.sql +37 -0
  576. package/src/migrations/0007_checkpoints.sql +26 -0
  577. package/src/migrations/0008_runs_trigger_seq.sql +3 -0
  578. package/src/migrations/0009_runs_active_unique.sql +4 -0
  579. package/src/migrations/0010_tools.sql +125 -0
  580. package/src/migrations/0011_approvals_spec.sql +10 -0
  581. package/src/migrations/0012_run_waits.sql +24 -0
  582. package/src/migrations/0013_app_tools_source.sql +4 -0
  583. package/src/migrations/0014_tool_specs.sql +8 -0
  584. package/src/migrations/0015_tool_drift.sql +20 -0
  585. package/src/migrations/0016_plugin_permissions.sql +11 -0
  586. package/src/migrations/0017_identity_sources.sql +6 -0
  587. package/src/migrations/0018_channels.sql +74 -0
  588. package/src/migrations/0019_identity_trust.sql +17 -0
  589. package/src/migrations/0020_channel_card_lookup.sql +10 -0
  590. package/src/migrations/0021_org_storage_purge.sql +9 -0
  591. package/src/migrations/0022_attachments.sql +29 -0
  592. package/src/migrations/0023_sandboxes.sql +37 -0
  593. package/src/migrations/0024_skills.sql +46 -0
  594. package/src/migrations/0025_skills_catalog_idx.sql +6 -0
  595. package/src/migrations/0026_skill_changes.sql +34 -0
  596. package/src/migrations/0027_model_prices.sql +18 -0
  597. package/src/migrations/0028_evals.sql +105 -0
  598. package/src/migrations/0029_model_purposes.sql +18 -0
  599. package/src/migrations/0030_plugin_installs.sql +73 -0
  600. package/src/migrations/0031_plugin_snapshot_source.sql +6 -0
  601. package/src/migrations/0032_plugin_deployment_configs.sql +10 -0
  602. package/src/migrations/0033_rename_apps_to_connectors.sql +25 -0
  603. package/src/migrations/0034_directory.sql +49 -0
  604. package/src/migrations/0035_catalogs.sql +40 -0
  605. package/src/migrations/0036_app_import_staging.sql +17 -0
  606. package/src/migrations/0037_directory_installs.sql +92 -0
  607. package/src/migrations/0038_channel_inbound_mode.sql +6 -0
  608. package/src/migrations/0039_channel_card_pending.sql +8 -0
  609. package/src/migrations/0040_usage_report_sweep.sql +10 -0
  610. package/src/migrations/0041_rename_plugins_to_extensions.sql +38 -0
  611. package/src/migrations/0042_rename_directory_to_catalog.sql +80 -0
  612. package/src/migrations/0043_rename_app_installs_to_plugin_installs.sql +20 -0
  613. package/src/migrations/0044_catalog_one_kind.sql +90 -0
  614. package/src/migrations/0045_plugin_dependencies.sql +9 -0
  615. package/src/migrations/0046_git_sources.sql +25 -0
  616. package/src/migrations/0047_marketplace_entry_heads.sql +7 -0
  617. package/src/migrations/0048_marketplace_entry_trees.sql +8 -0
  618. package/src/migrations/0049_plugin_upgrades.sql +37 -0
  619. package/src/migrations/0050_bootstrap.sql +53 -0
  620. package/src/migrations/0051_claude_compat.sql +26 -0
  621. package/src/migrations/0052_conversations_account_agent_idx.sql +5 -0
  622. package/src/migrations/0053_subagents.sql +73 -0
  623. package/src/migrations/0054_subagent_wait_expiry.sql +7 -0
  624. package/src/migrations/0055_subagent_parent_indexes.sql +10 -0
  625. package/src/migrations/0056_approval_reason.sql +3 -0
  626. package/src/migrations/0057_conversation_titles.sql +11 -0
  627. package/src/migrations/0058_conversation_selection.sql +4 -0
  628. package/src/migrations/0059_conversation_queue.sql +22 -0
  629. package/src/migrations/0060_file_previewers.sql +10 -0
  630. package/src/migrations/0061_queue_selection.sql +5 -0
  631. package/src/migrations/0062_queued_skill.sql +8 -0
@@ -0,0 +1,447 @@
1
+ import { type AgentTemplate, type Connector, type ConnectorTemplateFile, type ConnectorTemplateSpec, type Logger, type PluginManifest } from "@capybara-hq/plugin-sdk";
2
+ import { type Transaction } from "kysely";
3
+ import type { KernelDatabase, KernelDb, SourceFormat } from "../db/kernel-schema.js";
4
+ import type { ExtensionHost } from "../extensions/host.js";
5
+ import type { OrgExtensionConfigs } from "../extensions/org-config.js";
6
+ import type { OrgAction } from "../orgs/roles.js";
7
+ import { type SkillConflict, type SkillsService } from "../skills/skills.service.js";
8
+ import type { StorageService } from "../storage/storage.service.js";
9
+ import type { ConnectorsService, CreateConnectorInput } from "../tools/connectors.service.js";
10
+ import { type CatalogVersionFiles, type TemplateDeps } from "./org-catalog.service.js";
11
+ import { type CatalogRequestsService } from "./requests.service.js";
12
+ type Trx = Transaction<KernelDatabase>;
13
+ /** What an org fills in for one connector template at install (C30). */
14
+ export interface ConnectorInstallInput {
15
+ name?: string;
16
+ slug?: string;
17
+ /** Only the paths the template lists in `editableEndpoint`. */
18
+ endpoint?: Record<string, unknown>;
19
+ credential?: Record<string, unknown>;
20
+ client?: {
21
+ clientId: string;
22
+ clientSecret?: string;
23
+ };
24
+ }
25
+ /**
26
+ * What an org fills in when installing a plugin (the body of `POST …/catalog/:itemId/install`
27
+ * without `version`). Dependencies get no input: one whose templates need credentials is installed
28
+ * on its own first.
29
+ */
30
+ export interface PluginInstallInput {
31
+ connectors?: Record<string, ConnectorInstallInput>;
32
+ /** The org config of the plugin's extension (used only when this install enables it). */
33
+ extensionConfig?: Record<string, unknown>;
34
+ }
35
+ /**
36
+ * `plugin` is a dependency install (ref = its plugin install id); `agent_template` (phase C) an
37
+ * agent template (ref = its agent_templates id; like a skill, `skill_version` records the version
38
+ * an install or upgrade added to an existing template).
39
+ */
40
+ export type ComponentKind = "extension" | "connector" | "skill" | "plugin" | "agent_template";
41
+ export interface UninstallReport {
42
+ removed: {
43
+ kind: ComponentKind;
44
+ ref: string;
45
+ }[];
46
+ kept: {
47
+ kind: ComponentKind;
48
+ ref: string;
49
+ reason: "pre_existing" | "used_by_agents" | "used_by_other_install" | "used_by_connectors" | "used_by_plugins";
50
+ }[];
51
+ }
52
+ /** A plugin install in an org (`GET /orgs/:orgId/plugin-installs`). */
53
+ export interface PluginInstallView {
54
+ id: string;
55
+ itemId: string;
56
+ name: string;
57
+ version: string;
58
+ status: "installing" | "installed" | "failed" | "uninstalling" | "upgrading";
59
+ installedBy: string | null;
60
+ installedAt: string;
61
+ /** The failed install's step and code, or the last failed upgrade's (the install stays installed). */
62
+ error: {
63
+ step: string;
64
+ code: string;
65
+ } | null;
66
+ /**
67
+ * `dropped`: an upgrade removed it from the plugin but kept it because an agent uses it ("no
68
+ * longer in the plugin"); uninstalling still removes it once nothing uses it.
69
+ */
70
+ components: {
71
+ kind: ComponentKind;
72
+ ref: string;
73
+ created: boolean;
74
+ skillVersion: number | null;
75
+ dropped: boolean;
76
+ }[];
77
+ /** The highest version this install can be upgraded to now, null when none (spec §10). */
78
+ upgradeAvailable: string | null;
79
+ /**
80
+ * The plugin's extension on the deployment is not the one of this install's version: the org
81
+ * should upgrade to the deployment's version ("upgrade pending", Decision 10).
82
+ */
83
+ deploymentPending: boolean;
84
+ }
85
+ export interface PluginInstallerDeps {
86
+ db: KernelDb;
87
+ storage: StorageService;
88
+ host: Pick<ExtensionHost, "manifests" | "list">;
89
+ findConnector: (plugin: string, kind: string) => Connector | undefined;
90
+ connectors: Pick<ConnectorsService, "create" | "removeIn" | "checkCreateInput" | "prepareTemplateUpdate" | "applyTemplateIn">;
91
+ skills: Pick<SkillsService, "createVersionFromFiles" | "softDeleteIn" | "revertVersionIn">;
92
+ orgConfigs: Pick<OrgExtensionConfigs, "put" | "disableIn" | "afterDisable" | "enabledDependents">;
93
+ requests: Pick<CatalogRequestsService, "resolveByInstall">;
94
+ /** `catalog.staleInstallMinutes`: an install `installing` for longer can be cleaned up by uninstalling it. */
95
+ staleInstallMinutes: () => number;
96
+ log?: Pick<Logger, "warn">;
97
+ }
98
+ /** A dependency resolved against the catalog. */
99
+ export interface ResolvedDependency {
100
+ name: string;
101
+ range: string;
102
+ itemId: string;
103
+ version: string;
104
+ }
105
+ /** How deep plugin dependencies may nest (the root plugin's dependencies are level 1). */
106
+ export declare const DEPENDENCY_DEPTH_LIMIT = 10;
107
+ /** A component as an install records it (see `plugin_install_components`). */
108
+ export interface Component {
109
+ kind: ComponentKind;
110
+ ref: string;
111
+ created: boolean;
112
+ /** A skill's or agent template's version this install added to an existing one. */
113
+ skillVersion: number | null;
114
+ /** A connector's template id (written to `template_id`, migration 0049). */
115
+ templateId?: string;
116
+ }
117
+ export type Step = "dependencies" | "extension" | "connectors" | "skills" | "agent_templates";
118
+ /** What one plugin install will do, checked before anything is written. */
119
+ export interface InstallPlan {
120
+ itemId: string;
121
+ name: string;
122
+ version: string;
123
+ manifest: PluginManifest;
124
+ row: CatalogVersionFiles;
125
+ /** The version's source format, recorded on the org skill versions it creates. */
126
+ sourceFormat: SourceFormat;
127
+ /** The plugin's own extension, to enable in the org. */
128
+ extension: string | null;
129
+ extensionConfig: Record<string, unknown> | undefined;
130
+ templates: {
131
+ id: string;
132
+ file: ConnectorTemplateFile;
133
+ }[];
134
+ /** The connector inputs built from the templates (empty for a preflight without input). */
135
+ connectors: Map<string, CreateConnectorInput>;
136
+ /** The names of the plugin's skills (from each SKILL.md). */
137
+ skillNames: string[];
138
+ /** The plugin's agent templates (phase C). */
139
+ agentTemplates: {
140
+ path: string;
141
+ template: AgentTemplate;
142
+ }[];
143
+ /** `plan` null: the dependency was already installed in the org when planned. */
144
+ dependencies: {
145
+ dep: ResolvedDependency;
146
+ plan: InstallPlan | null;
147
+ }[];
148
+ }
149
+ /** A failed install step, carried up through the dependency installs to the root install. */
150
+ export declare class InstallFailure extends Error {
151
+ readonly step: Step;
152
+ readonly cause: unknown;
153
+ /** The dependency path when a dependency failed (outermost first). */
154
+ readonly dependency: string[];
155
+ readonly rolledBack: boolean;
156
+ constructor(step: Step, cause: unknown,
157
+ /** The dependency path when a dependency failed (outermost first). */
158
+ dependency: string[], rolledBack: boolean);
159
+ get code(): string;
160
+ }
161
+ export interface UninstallCtx {
162
+ report: UninstallReport;
163
+ /** The installs this uninstall is removing (none of them counts as still using a component). */
164
+ removing: Set<string>;
165
+ /** The install whose `plugin` component led here (a dependency uninstall). */
166
+ from?: string;
167
+ /** Re-check the actor's org actions (false for a rollback). */
168
+ authorize: boolean;
169
+ reason?: string;
170
+ opts: {
171
+ actorTokenId?: string;
172
+ };
173
+ }
174
+ /**
175
+ * Resolves a plugin's dependencies against the catalog: for each one the highest imported version
176
+ * of the live item with that name satisfying its range. The whole dependency tree is checked: a
177
+ * dependency nothing satisfies -> `catalog.dependency_unresolved`; a disabled one ->
178
+ * `catalog.dependency_disabled`; a cycle (`a` -> `b` -> `a`, by name) or nesting deeper than
179
+ * {@link DEPENDENCY_DEPTH_LIMIT} -> `catalog.dependency_cycle`. Returns the direct dependencies.
180
+ */
181
+ export declare function resolveDependencies(db: KernelDb | Trx, manifest: PluginManifest): Promise<ResolvedDependency[]>;
182
+ /**
183
+ * The input a template needs that the org did not give: a static credential (the org's for an
184
+ * org-owned template; for a personal one the installer's own, stored as their personal credential,
185
+ * since creating the connector lists its tools with it), or the OAuth client of a
186
+ * client-credentials / manual-client template. Undefined when nothing is missing.
187
+ * `personalCredential: false` keeps a personal static template optional (an existing connector
188
+ * whose template's auth changed: its members keep giving their own).
189
+ */
190
+ export declare function missingTemplateInput(template: ConnectorTemplateSpec, given: ConnectorInstallInput | undefined, o?: {
191
+ personalCredential?: boolean;
192
+ }): "credential" | "client" | undefined;
193
+ /** `e` with its validation paths under `at` (input errors of a template's connector). */
194
+ export declare function under(e: unknown, at: string): unknown;
195
+ /**
196
+ * Org install and uninstall of plugins (spec §10, C31). Before anything is written the install is
197
+ * planned for the whole dependency tree ({@link resolveDependencies}; the extension deployed, the
198
+ * template input valid, else a 4xx). Install, in order, per plugin:
199
+ * 1. dependencies, depth first: each one not yet installed in the org gets its own nested
200
+ * `plugin_installs` row, recorded as a `plugin` component of the parent (created=true); one
201
+ * already installed is recorded created=false;
202
+ * 2. the plugin's extension, enabled in the org (`catalog.not_deployed` when the deployment does
203
+ * not run it; already enabled is recorded created=false);
204
+ * 3. connectors from the templates (credentials / clients go to secrets, default policies are
205
+ * recorded `policy_source 'template'`);
206
+ * 4. the skills (an org skill of the same name from the same catalog item gets a new version,
207
+ * recorded created=false with skill_version; one of other provenance, the org's own or another
208
+ * item's, refuses the install while planning with `plugin.skill_conflict`, spec §9.2).
209
+ * Approval follows the installed plugin's policy only (spec §10): dependency components are
210
+ * re-checked against the root item's policy and their own item's disabled state. Each component is
211
+ * recorded in `plugin_install_components` as soon as it exists; if any step fails, the components
212
+ * this install created (nested dependency installs included) are undone in reverse order, the
213
+ * install is marked failed (error holds only the step and the error code) and 502
214
+ * `plugin.install_failed` is thrown. Uninstall removes only components with created=true that
215
+ * nothing else uses, and reports what it kept and why. No in-process state; the org row lock
216
+ * serializes writes within one org. In-place upgrades are run by `PluginUpgrader`
217
+ * (plugin-upgrade.ts), which reuses the planning, install and ledger methods here (the ones without
218
+ * `private` are internal to the catalog, not an API).
219
+ */
220
+ export declare class PluginInstaller {
221
+ private readonly d;
222
+ constructor(d: PluginInstallerDeps);
223
+ /** The installer's dependencies (shared with `PluginUpgrader`). */
224
+ get deps(): PluginInstallerDeps;
225
+ /**
226
+ * The checks an install runs before it creates anything, without the org's input (for the org
227
+ * catalog to run before a request is created): dependency resolution, the extensions deployed and
228
+ * the template connectors available. Returns the org actions the whole install needs.
229
+ */
230
+ preflight(orgId: string, actor: string, itemId: string, version: string): Promise<{
231
+ actions: OrgAction[];
232
+ }>;
233
+ install(orgId: string, actor: string, itemId: string, version: string, input: PluginInstallInput, opts?: {
234
+ actorTokenId?: string;
235
+ }): Promise<PluginInstallView>;
236
+ /**
237
+ * Refuses a plan whose skills would overwrite a skill of other provenance (spec §9.2, Decision
238
+ * 8) with 409 `plugin.skill_conflict`, before anything is written: for the plugin and each
239
+ * dependency it installs, an org skill of the same name that is the org's own or another item's,
240
+ * and a name two plugins of the same plan both bring (the one installed first is the source).
241
+ */
242
+ private assertNoSkillConflicts;
243
+ /** The connector checks of templates against what this replica loads right now. */
244
+ templateDeps(): TemplateDeps;
245
+ /**
246
+ * Plans the install of one plugin version and, depth first, of its dependencies not yet
247
+ * installed in the org. `input` null skips the input checks (preflight); dependencies always get
248
+ * an empty input. `at` prefixes validation paths (`dependencies.<name>.` for a dependency);
249
+ * `approvedBy` is the root item for a dependency.
250
+ */
251
+ plan(orgId: string, actor: string, itemId: string, version: string, input: PluginInstallInput | null, at: string, approvedBy: string | undefined): Promise<InstallPlan>;
252
+ /**
253
+ * The connector input of one template from the org's input (C30), checked without a connection:
254
+ * the template's connector extension deployed, the input valid, the credential / OAuth client it
255
+ * needs given (else 400; a dependency's says to install it on its own first).
256
+ */
257
+ planConnector(actor: string, plugin: {
258
+ itemId: string;
259
+ version: string;
260
+ name: string;
261
+ }, ct: {
262
+ id: string;
263
+ file: ConnectorTemplateFile;
264
+ }, input: PluginInstallInput, at: string, approvedBy: string | undefined): CreateConnectorInput;
265
+ /**
266
+ * The org's live install of a dependency's item (installing or installed), or undefined. One at a
267
+ * version outside the dependency's range -> `catalog.dependency_unresolved` (org upgrades arrive in
268
+ * phase A).
269
+ */
270
+ liveDependency(db: KernelDb | Trx, orgId: string, dep: ResolvedDependency): Promise<string | undefined>;
271
+ /**
272
+ * The org's live (not failed) install of a dependency's item; `lock` takes it FOR SHARE (the
273
+ * caller holds the org row lock).
274
+ */
275
+ private findLiveDependency;
276
+ /**
277
+ * Records an install of `dep` as a `plugin` component of the install, checked and written in one
278
+ * transaction under the org row lock, so a concurrent uninstall or a sibling install's rollback
279
+ * cannot leave the component pointing at a removed install. `created` false: the org's existing
280
+ * install, if any (returns its id, undefined when there is none); it must be `installed`
281
+ * (`installing` -> 409 `plugin.install_in_progress`, retry later) and in range. `created` true:
282
+ * `child`, the dependency install this install just created, must still exist.
283
+ */
284
+ recordDependency(orgId: string, dep: ResolvedDependency, record: (c: Component, t: Trx) => Promise<void>, child?: string): Promise<string | undefined>;
285
+ /**
286
+ * Runs a plan: the install row, then the steps (see the class comment). Throws
287
+ * {@link InstallFailure} once the row exists (after rolling back); errors before it propagate
288
+ * as they are. Returns the install id.
289
+ */
290
+ execute(orgId: string, actor: string, plan: InstallPlan, opts: {
291
+ actorTokenId?: string;
292
+ }, ctx: {
293
+ actions: OrgAction[];
294
+ approvedBy?: string;
295
+ parent?: string;
296
+ }): Promise<string>;
297
+ /**
298
+ * The extension to enable: the plugin's own, when it has one. Not loaded on this replica ->
299
+ * `catalog.not_deployed`; not yet enabled in this org while its own catalog item is disabled ->
300
+ * `catalog.item_disabled` (a disabled item is a master switch, Ruling M-5); already enabled is
301
+ * unaffected.
302
+ */
303
+ planExtension(orgId: string, manifest: PluginManifest): Promise<string | null>;
304
+ /** The input only names the plugin's template ids, and an extension config needs an extension. */
305
+ private checkInput;
306
+ /**
307
+ * Undoes the components this install created, in reverse order (the role is not re-checked: it
308
+ * undoes this install's own changes); returns the ones that failed. The component rows of undone
309
+ * (or already gone) components are deleted in the same transaction, so cleaning up the failed
310
+ * install later only handles what failed to undo or was kept, and does not undo again an extension
311
+ * an org admin re-enabled by hand or a skill version a user uploaded since.
312
+ */
313
+ private rollback;
314
+ /** Removes one component (one already gone is no error); returns whether anything changed. */
315
+ removeComponent(t: Trx, orgId: string, actor: string, c: Component, reason: string): Promise<boolean>;
316
+ /**
317
+ * Uninstall (the plugin's component actions, see `requiredActions`, re-checked under the org row
318
+ * lock, one transaction). Removes only components with created=true:
319
+ * - a skill is kept when an agent selects it (used_by_agents) or another plugin install in this
320
+ * org uses it too (used_by_other_install);
321
+ * - a connector is kept when an agent references it (used_by_agents);
322
+ * - an extension is kept when another plugin install uses it too (used_by_other_install), a
323
+ * connector still uses a connector it provides (used_by_connectors), or another enabled
324
+ * extension depends on it (used_by_plugins);
325
+ * - a dependency install (`plugin`) is uninstalled by these same rules, after the plugin's own
326
+ * components; it is kept when another install outside this uninstall depends on it
327
+ * (used_by_other_install);
328
+ * - components that existed before are kept (pre_existing).
329
+ * When kept for used_by_other_install, ownership passes to the oldest remaining install (its
330
+ * component row becomes created=true), so the uninstall order doesn't change the end result.
331
+ * Uninstalling a dependency another install still uses removes nothing and reports it kept
332
+ * (`plugin`, used_by_other_install). Deletes the install rows and audits `plugin.org_uninstalled`
333
+ * per install (detail has removed / kept). Can be uninstalled: installed; failed (already rolled
334
+ * back: clears the row and leftovers); installing for longer than `catalog.staleInstallMinutes`
335
+ * (a replica crashed midway) - the last two are cleaned up as a rollback (versions added to
336
+ * existing skills are reverted too). Still installing -> `plugin.install_in_progress`.
337
+ */
338
+ uninstall(orgId: string, actor: string, installId: string, opts?: {
339
+ actorTokenId?: string;
340
+ }): Promise<UninstallReport>;
341
+ /**
342
+ * The oldest other live install (not in `removing`) that has component `kind` / `ref`, or
343
+ * undefined.
344
+ */
345
+ heir(t: Trx, orgId: string, removing: Set<string>, kind: ComponentKind, ref: string): Promise<string | undefined>;
346
+ /** Passes ownership of a component to `heir` (its component row becomes created=true). */
347
+ handOver(t: Trx, heir: string, kind: ComponentKind, ref: string): Promise<void>;
348
+ /**
349
+ * Uninstalls one install in the caller's transaction (see {@link uninstall}); dependency installs
350
+ * it created recurse. Its own components' outcomes go into `ctx.report` (and its audit); the
351
+ * outcome of the install itself is returned for the caller to report: `missing`, `kept` (another
352
+ * install outside this uninstall depends on it) or `removed`.
353
+ */
354
+ uninstallIn(t: Trx, orgId: string, actor: string, installId: string, ctx: UninstallCtx): Promise<"missing" | "kept" | "removed">;
355
+ /**
356
+ * The uninstall rules for one component an install created (a skill, connector or extension;
357
+ * dependency installs recurse through {@link uninstallIn}), in the caller's transaction: kept
358
+ * when an agent uses the skill / connector (`used_by_agents`), when another live install outside
359
+ * `removing` has it (`used_by_other_install`, ownership handed over to the oldest one, so the
360
+ * uninstall order doesn't change the result), when a connector still uses the extension's
361
+ * connector kind (`used_by_connectors`) or another enabled extension depends on it
362
+ * (`used_by_plugins`); otherwise removed (`removed`, or `gone` when it no longer existed). Used
363
+ * by uninstall and by an upgrade's removals.
364
+ */
365
+ decideRemovalIn(t: Trx, orgId: string, actor: string, c: Component, removing: Set<string>, agentRefs: {
366
+ connectors: Set<string>;
367
+ skills: Set<string>;
368
+ templates: Set<string>;
369
+ }, reason: string): Promise<"removed" | "gone" | UninstallReport["kept"][number]["reason"]>;
370
+ /** The order extensions are uninstalled in: the reverse of the install (requires) order; extensions not loaded on this replica last. */
371
+ private uninstallExtensionOrder;
372
+ /** The org's plugin installs (failed ones included), newest first; `installId` picks one. */
373
+ list(orgId: string, installId?: string): Promise<PluginInstallView[]>;
374
+ /**
375
+ * Undoes the steps of an upgrade in the caller's transaction (the caller holds the org row lock),
376
+ * in reverse order: components it created are removed (a dependency install by the uninstall
377
+ * rules, an extension another enabled extension depends on is kept), the ledger rows it added
378
+ * are deleted, and versions it added to skills are reverted (`revertVersionIn` reverts exactly
379
+ * one version, and an upgrade adds at most one per skill). Returns the components removed (an
380
+ * extension among them needs `afterDisable` once committed). Used when an upgrade fails and when
381
+ * an interrupted one is cleaned up.
382
+ */
383
+ undoUpgradeIn(t: Trx, orgId: string, actor: string, installId: string, steps: readonly UpgradeStep[], reason: string): Promise<{
384
+ kind: ComponentKind;
385
+ ref: string;
386
+ }[]>;
387
+ /** The connector kinds an extension provides (the `connector@1` implementations loaded on this replica). */
388
+ connectorKindsOf(plugin: string): string[];
389
+ /**
390
+ * The connectors, org skills and agent templates (`subagents.templates`) referenced by the
391
+ * current definitions of the org's live agents.
392
+ */
393
+ agentRefs(t: Trx, orgId: string): Promise<{
394
+ connectors: Set<string>;
395
+ skills: Set<string>;
396
+ templates: Set<string>;
397
+ }>;
398
+ }
399
+ /**
400
+ * The skill names of a catalog version, read from each skill's SKILL.md in storage (the names are
401
+ * not in plugin.json). Used by install planning and the upgrade preview.
402
+ */
403
+ export declare function catalogSkillNames(storage: StorageService, row: CatalogVersionFiles, manifest: PluginManifest): Promise<string[]>;
404
+ /** The parts of an {@link InstallPlan} the skill conflict check reads (an upgrade builds one too). */
405
+ export interface SkillPlan {
406
+ itemId: string;
407
+ name: string;
408
+ version: string;
409
+ skillNames: string[];
410
+ dependencies: {
411
+ plan: SkillPlan | null;
412
+ }[];
413
+ }
414
+ /**
415
+ * The skill conflicts of a plan, depth first in install order (dependencies before the plugin).
416
+ * Exported for the upgrade preview.
417
+ */
418
+ export declare function planSkillConflicts(db: KernelDb | Trx, orgId: string, plan: SkillPlan): Promise<SkillConflict[]>;
419
+ /**
420
+ * One step a running upgrade took, journaled in `plugin_installs.upgrade.done` (migration 0049) so
421
+ * a failed or interrupted upgrade can be undone: `created` a component the upgrade created (its
422
+ * ledger row created=true), `recorded` an existing component it added to the ledger
423
+ * (created=false), `skill_version` / `template_version` a version it added to a skill / an agent
424
+ * template.
425
+ */
426
+ export type UpgradeStep = {
427
+ op: "created";
428
+ kind: ComponentKind;
429
+ ref: string;
430
+ } | {
431
+ op: "recorded";
432
+ kind: ComponentKind;
433
+ ref: string;
434
+ } | {
435
+ op: "skill_version";
436
+ ref: string;
437
+ version: number;
438
+ } | {
439
+ op: "template_version";
440
+ ref: string;
441
+ version: number;
442
+ };
443
+ /** The journaled steps of `plugin_installs.upgrade` (malformed entries are skipped). */
444
+ export declare function journalEntries(upgrade: unknown): UpgradeStep[];
445
+ /** The org actions a plan needs: the union over the plugins it installs (spec §10). */
446
+ export declare function planActions(plan: InstallPlan): OrgAction[];
447
+ export {};