@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,200 @@
1
+ import { Readable } from "node:stream";
2
+ import FindMyWay from "find-my-way";
3
+ import { errorBody } from "../errors.js";
4
+ import { ACCESS_COOKIE, REFRESH_COOKIE } from "../identity/cookies.js";
5
+ import { codeForStatus, redactPath } from "./error.filter.js";
6
+ /** 插件路由都在此前缀下(ctx.http.route 已加 `/plugins/<name>` 前缀)。 */
7
+ export const PLUGIN_PREFIX = "/plugins/";
8
+ /** 固定的路由列表(测试与只挂一次的调用方):版本不变、没有不可用的插件。 */
9
+ export function staticRouteTable(routes) {
10
+ return { routes: () => routes, revision: () => 0, unavailable: () => false };
11
+ }
12
+ /** 路径里的插件名(`/plugins/<name>/...` 的 `<name>`);不在插件前缀下返回 undefined。 */
13
+ export function pluginOfPath(path) {
14
+ if (!path.startsWith(PLUGIN_PREFIX))
15
+ return undefined;
16
+ const name = path.slice(PLUGIN_PREFIX.length).split("/", 1)[0];
17
+ return name === undefined || name === "" ? undefined : name;
18
+ }
19
+ /** 用 find-my-way 建立插件路由表,路径语法与 Fastify 相同;路径不在 `/plugins/` 下时抛错。 */
20
+ export function createPluginRouter(routes) {
21
+ const router = FindMyWay();
22
+ for (const r of routes) {
23
+ if (!r.path.startsWith(PLUGIN_PREFIX)) {
24
+ throw new Error(`plugin route ${r.method} ${r.path} is outside ${PLUGIN_PREFIX}`);
25
+ }
26
+ router.on(r.method, r.path, () => { }, { handler: r.handler });
27
+ }
28
+ return {
29
+ find(method, path) {
30
+ const lookup = (m) => router.find(m, path)?.store?.handler;
31
+ return lookup(method) ?? (method === "HEAD" ? lookup("GET") : undefined);
32
+ },
33
+ };
34
+ }
35
+ /**
36
+ * Registers `/plugins/*` in its own encapsulated scope and hands each request to the extension handler
37
+ * as a Web `Request`: the scope removes the default parsers and takes every content type as a raw
38
+ * Buffer, so the body the extension gets is the bytes the client sent.
39
+ * - The extension belongs to this deployment but is not in the registry (revoked and so on) -> 503
40
+ * `extension.unavailable`; when an extension instance is revoked or replaced, the `req.signal` of
41
+ * that extension's in-progress requests is aborted (`abortPlugin`, triggered by the route source's
42
+ * `onChange`);
43
+ * - not mounted or no match -> 404 `not_found`; HEAD without its own route is handled as GET, with no
44
+ * body in the response.
45
+ * - A `Request` that cannot be built (e.g. a malformed Host) -> 400 `validation_failed`, not logged as
46
+ * an error.
47
+ * - `req.signal` aborts only when the client disconnects before the response is written (not on
48
+ * normal completion); long-lived handlers use it to unsubscribe;
49
+ * - a throwing handler is logged (path redacted with `redactPath`) and returns 500 `internal` (the
50
+ * error message is not echoed).
51
+ * - Fastify's own errors (a body over 1 MiB and so on) are mapped to the error envelope by the
52
+ * scope's error handler: 4xx by the common error code table (413 `payload_too_large`, 415
53
+ * `unsupported_media_type` and so on), 5xx are logged and return `internal`.
54
+ * - Shutdown: the returned `abortAll()` aborts the `req.signal` of every in-progress request (the
55
+ * extension's SSE and other long connections wind down by it without using the http shutdown
56
+ * budget); requests arriving afterwards start with an aborted `req.signal`. In-progress
57
+ * AbortControllers are held only for the request's lifetime.
58
+ * So extension handlers either finish quickly or tolerate the abort (see
59
+ * .agents/skills/writing-extensions "Extension route matching semantics").
60
+ * Must be called before Nest `app.init()`.
61
+ */
62
+ export async function registerPluginDispatch(fastify, getTable, log) {
63
+ /** 进行中的请求 → 所属插件(停机时全部中止;插件实例变化时只中止该插件的)。 */
64
+ const inFlight = new Map();
65
+ let stopping = false;
66
+ // 按路由来源的版本缓存路由表(插件撤销 / 替换时版本变化才重建)
67
+ let cached;
68
+ const routerOf = (table) => {
69
+ const revision = table.revision();
70
+ if (!cached || cached.table !== table || cached.revision !== revision) {
71
+ cached = { table, revision, router: createPluginRouter(table.routes()) };
72
+ }
73
+ return cached.router;
74
+ };
75
+ const handler = async (req, reply) => {
76
+ const path = req.url.split("?")[0];
77
+ const table = getTable();
78
+ const plugin = pluginOfPath(path);
79
+ if (table && plugin !== undefined && (await table.unavailable(plugin))) {
80
+ return reply
81
+ .code(503)
82
+ .send(errorBody("extension.unavailable", `Extension ${plugin} is not available right now`));
83
+ }
84
+ const pluginHandler = table ? routerOf(table).find(req.method, path) : undefined;
85
+ if (!pluginHandler) {
86
+ return reply.code(404).send(errorBody("not_found", `Route ${req.method} ${path} not found`));
87
+ }
88
+ // 只在响应写完之前连接就关了(客户端断开)时中止 `req.signal`:长连接(SSE)的 handler 据此退订、收尾。
89
+ // 正常写完后的 close 不中止(writableFinished 为 true)。
90
+ const ac = new AbortController();
91
+ inFlight.set(ac, plugin ?? "");
92
+ if (stopping)
93
+ ac.abort();
94
+ reply.raw.once("close", () => {
95
+ inFlight.delete(ac);
96
+ if (!reply.raw.writableFinished)
97
+ ac.abort();
98
+ });
99
+ let webReq;
100
+ try {
101
+ webReq = toWebRequest(req, ac.signal);
102
+ }
103
+ catch {
104
+ return reply.code(400).send(errorBody("validation_failed", "Malformed request"));
105
+ }
106
+ let res;
107
+ try {
108
+ res = await pluginHandler(webReq);
109
+ }
110
+ catch (err) {
111
+ log.error("plugin handler failed", { method: req.method, path: redactPath(path), err });
112
+ return reply.code(500).send(errorBody("internal", "Internal error"));
113
+ }
114
+ reply.code(res.status);
115
+ for (const [name, value] of res.headers) {
116
+ if (name !== "set-cookie")
117
+ reply.header(name, value);
118
+ }
119
+ for (const cookie of res.headers.getSetCookie())
120
+ reply.header("set-cookie", cookie);
121
+ if (res.body === null)
122
+ return reply.send();
123
+ if (req.method === "HEAD") {
124
+ await res.body.cancel().catch(() => { });
125
+ return reply.send();
126
+ }
127
+ return reply.send(Readable.fromWeb(res.body));
128
+ };
129
+ await fastify.register(async (scope) => {
130
+ scope.removeAllContentTypeParsers();
131
+ scope.addContentTypeParser("*", { parseAs: "buffer" }, (_req, body, done) => done(null, body));
132
+ scope.setErrorHandler((err, req, reply) => {
133
+ const status = typeof err.statusCode === "number" ? err.statusCode : 500;
134
+ if (status >= 400 && status < 500) {
135
+ return reply.code(status).send(errorBody(codeForStatus(status), err.message));
136
+ }
137
+ log.error("plugin request failed", { method: req.method, path: redactPath(req.url), err });
138
+ return reply.code(status >= 500 ? status : 500).send(errorBody("internal", "Internal error"));
139
+ });
140
+ scope.all(`${PLUGIN_PREFIX}*`, handler);
141
+ });
142
+ return {
143
+ abortAll() {
144
+ stopping = true;
145
+ for (const ac of [...inFlight.keys()])
146
+ ac.abort();
147
+ },
148
+ abortPlugin(plugin) {
149
+ for (const [ac, p] of [...inFlight])
150
+ if (p === plugin)
151
+ ac.abort();
152
+ },
153
+ };
154
+ }
155
+ const KERNEL_COOKIES = new Set([ACCESS_COOKIE, REFRESH_COOKIE]);
156
+ /**
157
+ * 从 Cookie 头里去掉内核会话 Cookie(`cap_at` / `cap_rt`):插件 handler 不经内核鉴权,
158
+ * 拿到这两个 Cookie 就能冒充用户调内核 API。全部去掉后返回 undefined(不传 Cookie 头)。
159
+ */
160
+ export function stripKernelCookies(cookie) {
161
+ const kept = cookie
162
+ .split(";")
163
+ .map((p) => p.trim())
164
+ .filter((p) => p !== "" && !KERNEL_COOKIES.has(p.split("=", 1)[0]?.trim() ?? ""));
165
+ return kept.length > 0 ? kept.join("; ") : undefined;
166
+ }
167
+ /**
168
+ * Fastify 请求 → Web `Request`:数组头用 `, ` 合并(`set-cookie` 逐条保留);GET / HEAD 不带 body;
169
+ * Cookie 头去掉内核会话 Cookie;`signal` 在响应写完之前客户端断开时中止。
170
+ */
171
+ function toWebRequest(req, signal) {
172
+ const headers = new Headers();
173
+ for (const [name, value] of Object.entries(req.headers)) {
174
+ if (value === undefined)
175
+ continue;
176
+ if (name === "cookie") {
177
+ const kept = stripKernelCookies(Array.isArray(value) ? value.join("; ") : value);
178
+ if (kept !== undefined)
179
+ headers.set(name, kept);
180
+ continue;
181
+ }
182
+ if (Array.isArray(value)) {
183
+ if (name === "set-cookie")
184
+ for (const v of value)
185
+ headers.append(name, v);
186
+ else
187
+ headers.set(name, value.join(", "));
188
+ }
189
+ else {
190
+ headers.set(name, value);
191
+ }
192
+ }
193
+ const hasBody = req.method !== "GET" && req.method !== "HEAD" && Buffer.isBuffer(req.body);
194
+ return new Request(`http://${req.headers.host ?? "localhost"}${req.url}`, {
195
+ method: req.method,
196
+ headers,
197
+ signal,
198
+ ...(hasBody && { body: req.body }),
199
+ });
200
+ }
@@ -0,0 +1,131 @@
1
+ /** 内核 logger(`Logger`)的注入令牌。 */
2
+ export declare const KERNEL_LOG: unique symbol;
3
+ /** 健康检查参数(`HealthOptions`)的注入令牌。 */
4
+ export declare const HEALTH_OPTIONS: unique symbol;
5
+ /** 内核 schema 视图(`KernelDb`)的注入令牌。 */
6
+ export declare const KERNEL_DB: unique symbol;
7
+ /** 内核共享 Redis 连接(ioredis `Redis`)的注入令牌。 */
8
+ export declare const KERNEL_REDIS: unique symbol;
9
+ /** 当前配置的取值函数(`() => KernelConfig`,热更新后返回新配置)的注入令牌。 */
10
+ export declare const KERNEL_CONFIG: unique symbol;
11
+ /** `AccountsService` 的注入令牌。 */
12
+ export declare const ACCOUNTS: unique symbol;
13
+ /** `SessionService` 的注入令牌。 */
14
+ export declare const SESSIONS: unique symbol;
15
+ /** `ApiTokenService` 的注入令牌。 */
16
+ export declare const API_TOKENS: unique symbol;
17
+ /** `SettingsService` 的注入令牌。 */
18
+ export declare const SETTINGS: unique symbol;
19
+ /** `LoginRateLimiter` 的注入令牌。 */
20
+ export declare const RATE_LIMITER: unique symbol;
21
+ /** `OrgsService` 的注入令牌。 */
22
+ export declare const ORGS: unique symbol;
23
+ /** `OrgSettingsService`(组织设置)的注入令牌。 */
24
+ export declare const ORG_SETTINGS: unique symbol;
25
+ /** `MembersService` 的注入令牌。 */
26
+ export declare const MEMBERS: unique symbol;
27
+ /** `InvitationsService` 的注入令牌。 */
28
+ export declare const INVITATIONS: unique symbol;
29
+ /** `SetupService` 的注入令牌。 */
30
+ export declare const SETUP: unique symbol;
31
+ /** Injection token for `OrgExtensionConfigs`. */
32
+ export declare const ORG_EXTENSION_CONFIGS: unique symbol;
33
+ /** `ProviderRegistry` 的注入令牌。 */
34
+ export declare const PROVIDER_REGISTRY: unique symbol;
35
+ /** `AgentsService` 的注入令牌。 */
36
+ export declare const AGENTS: unique symbol;
37
+ /** `AgentTemplatesService` (agent templates from plugins). */
38
+ export declare const AGENT_TEMPLATES: unique symbol;
39
+ /** 内核总线(`createBus(..., "kernel")`,`ExtensionContext["bus"]`)的注入令牌。 */
40
+ export declare const KERNEL_BUS: unique symbol;
41
+ /** `EventLog` 的注入令牌。 */
42
+ export declare const EVENT_LOG: unique symbol;
43
+ /** `ConversationsService` 的注入令牌。 */
44
+ export declare const CONVERSATIONS: unique symbol;
45
+ /** `AttachmentsService`(对话附件)的注入令牌。 */
46
+ export declare const ATTACHMENTS: unique symbol;
47
+ /** `SkillsService`(技能库)的注入令牌。 */
48
+ export declare const SKILLS: unique symbol;
49
+ /** `SkillInvoker` (a person's skill invocation, phase D). */
50
+ export declare const SKILL_INVOKER: unique symbol;
51
+ /** `SkillChangesService`(agent 自写技能与技能变更审批)的注入令牌。 */
52
+ export declare const SKILL_CHANGES: unique symbol;
53
+ /** `InboxService`(收件箱汇总)的注入令牌。 */
54
+ export declare const INBOX: unique symbol;
55
+ /** `ConversationOutputs`(网页读工具输出存档)的注入令牌。 */
56
+ export declare const CONVERSATION_OUTPUTS: unique symbol;
57
+ /** `ConversationArtifacts`(产物下载)的注入令牌。 */
58
+ export declare const CONVERSATION_ARTIFACTS: unique symbol;
59
+ /** `ConversationFiles` (file outputs list and text content, UI refresh B). */
60
+ export declare const CONVERSATION_FILES: unique symbol;
61
+ export declare const FILE_PREVIEWERS: unique symbol;
62
+ /** `ConversationQueue` (queued messages, UI refresh B). */
63
+ export declare const CONVERSATION_QUEUE: unique symbol;
64
+ /** `ConversationSandboxStatus`(对话沙箱状态)的注入令牌。 */
65
+ export declare const CONVERSATION_SANDBOX: unique symbol;
66
+ /** `ConversationToolInfo` (tool titles, kinds and key arguments for the conversation page). */
67
+ export declare const CONVERSATION_TOOLS: unique symbol;
68
+ /** `ConversationStreams`(本进程持有的会话 SSE 连接)的注入令牌。 */
69
+ export declare const CONVERSATION_STREAMS: unique symbol;
70
+ /** 连接器凭据(`Credentials`)的注入令牌。 */
71
+ export declare const CREDENTIALS: unique symbol;
72
+ /** `ToolRegistry` 的注入令牌。 */
73
+ export declare const TOOL_REGISTRY: unique symbol;
74
+ /** `ConnectorsService` 的注入令牌。 */
75
+ export declare const CONNECTORS: unique symbol;
76
+ /** `ConnectorContent`(连接器的 prompts / resources,供斜杠命令与 @ 引用)的注入令牌。 */
77
+ export declare const CONNECTOR_CONTENT: unique symbol;
78
+ /** `ApprovalsService`(工具调用审批与授权)的注入令牌。 */
79
+ export declare const APPROVALS: unique symbol;
80
+ /** `QuestionsService`(工具调用的输入请求)的注入令牌。 */
81
+ export declare const QUESTIONS: unique symbol;
82
+ /** `OAuthFlow`(OAuth 授权码连接流程)的注入令牌。 */
83
+ export declare const OAUTH_FLOW: unique symbol;
84
+ /** `ExternalIdentities`(外部身份 ↔ 账号)的注入令牌。 */
85
+ export declare const EXTERNAL_IDENTITIES: unique symbol;
86
+ /** `IdentityBinding`(IM 身份的一次性绑定链接)的注入令牌。 */
87
+ export declare const IDENTITY_BINDING: unique symbol;
88
+ /** `SsoFlow`(第三方登录)的注入令牌。 */
89
+ export declare const SSO_FLOW: unique symbol;
90
+ /** `Offboarding`(成员离职处理)的注入令牌。 */
91
+ export declare const OFFBOARDING: unique symbol;
92
+ /** `ChannelConnections`(组织的渠道连接)的注入令牌。 */
93
+ export declare const CHANNEL_CONNECTIONS: unique symbol;
94
+ /** `DirectorySync`(通讯录同步)的注入令牌。 */
95
+ export declare const DIRECTORY_SYNC: unique symbol;
96
+ /** `UiViews`(插件视图:列出贡献、render / action)的注入令牌。 */
97
+ export declare const UI_VIEWS: unique symbol;
98
+ /** `EmbedTokens`(嵌入应用的短期令牌,签发 / 校验)的注入令牌。 */
99
+ export declare const EMBED_TOKENS: unique symbol;
100
+ /** `OrgUiStreams`(组织级界面刷新 SSE)的注入令牌。 */
101
+ export declare const ORG_UI_STREAMS: unique symbol;
102
+ /** `PricesService`(模型价格表)的注入令牌。 */
103
+ export declare const PRICES: unique symbol;
104
+ /** `TrajectoryService`(轨迹查看器)的注入令牌。 */
105
+ export declare const TRAJECTORIES: unique symbol;
106
+ /** `EvalSetsService`(评测集与用例)的注入令牌。 */
107
+ export declare const EVAL_SETS: unique symbol;
108
+ /** `EvalRunsService`(评测运行)的注入令牌。 */
109
+ export declare const EVAL_RUNS: unique symbol;
110
+ /** `ModelPurposesService`(模型用途映射)的注入令牌。 */
111
+ export declare const MODEL_PURPOSES: unique symbol;
112
+ /** Injection token for `ExtensionInstalls` (extension package imports and install records). */
113
+ export declare const EXTENSION_INSTALLS: unique symbol;
114
+ /** Injection token for `ExtensionAdmin` (deployment-level extension list, status and web approval, enterprise admins). */
115
+ export declare const EXTENSION_ADMIN: unique symbol;
116
+ /** Deployment-level extension install / enable / disable / uninstall (`ExtensionAdminOps`). */
117
+ export declare const EXTENSION_ADMIN_OPS: unique symbol;
118
+ /** Deployment-level extension config (`ExtensionDeploymentConfigService`). */
119
+ export declare const EXTENSION_DEPLOYMENT_CONFIGS: unique symbol;
120
+ /** The enterprise catalog (`CatalogService`). */
121
+ export declare const CATALOG: unique symbol;
122
+ /** Plugin (app bundle) import: prepare / confirm and staging cleanup (`PluginImport`). */
123
+ export declare const PLUGIN_IMPORT: unique symbol;
124
+ /** Marketplaces (`MarketplacesService`). */
125
+ export declare const MARKETPLACES: unique symbol;
126
+ /** Organizations browse and install from the enterprise catalog (`OrgCatalogService`). */
127
+ export declare const ORG_CATALOG: unique symbol;
128
+ /** Catalog requests and approvals (`CatalogRequestsService`). */
129
+ export declare const CATALOG_REQUESTS: unique symbol;
130
+ /** Org install and uninstall of plugins (app bundles) (`PluginInstaller`). */
131
+ export declare const PLUGIN_INSTALLER: unique symbol;
@@ -0,0 +1,131 @@
1
+ /** 内核 logger(`Logger`)的注入令牌。 */
2
+ export const KERNEL_LOG = Symbol("KERNEL_LOG");
3
+ /** 健康检查参数(`HealthOptions`)的注入令牌。 */
4
+ export const HEALTH_OPTIONS = Symbol("HEALTH_OPTIONS");
5
+ /** 内核 schema 视图(`KernelDb`)的注入令牌。 */
6
+ export const KERNEL_DB = Symbol("KERNEL_DB");
7
+ /** 内核共享 Redis 连接(ioredis `Redis`)的注入令牌。 */
8
+ export const KERNEL_REDIS = Symbol("KERNEL_REDIS");
9
+ /** 当前配置的取值函数(`() => KernelConfig`,热更新后返回新配置)的注入令牌。 */
10
+ export const KERNEL_CONFIG = Symbol("KERNEL_CONFIG");
11
+ /** `AccountsService` 的注入令牌。 */
12
+ export const ACCOUNTS = Symbol("ACCOUNTS");
13
+ /** `SessionService` 的注入令牌。 */
14
+ export const SESSIONS = Symbol("SESSIONS");
15
+ /** `ApiTokenService` 的注入令牌。 */
16
+ export const API_TOKENS = Symbol("API_TOKENS");
17
+ /** `SettingsService` 的注入令牌。 */
18
+ export const SETTINGS = Symbol("SETTINGS");
19
+ /** `LoginRateLimiter` 的注入令牌。 */
20
+ export const RATE_LIMITER = Symbol("RATE_LIMITER");
21
+ /** `OrgsService` 的注入令牌。 */
22
+ export const ORGS = Symbol("ORGS");
23
+ /** `OrgSettingsService`(组织设置)的注入令牌。 */
24
+ export const ORG_SETTINGS = Symbol("ORG_SETTINGS");
25
+ /** `MembersService` 的注入令牌。 */
26
+ export const MEMBERS = Symbol("MEMBERS");
27
+ /** `InvitationsService` 的注入令牌。 */
28
+ export const INVITATIONS = Symbol("INVITATIONS");
29
+ /** `SetupService` 的注入令牌。 */
30
+ export const SETUP = Symbol("SETUP");
31
+ /** Injection token for `OrgExtensionConfigs`. */
32
+ export const ORG_EXTENSION_CONFIGS = Symbol("ORG_EXTENSION_CONFIGS");
33
+ /** `ProviderRegistry` 的注入令牌。 */
34
+ export const PROVIDER_REGISTRY = Symbol("PROVIDER_REGISTRY");
35
+ /** `AgentsService` 的注入令牌。 */
36
+ export const AGENTS = Symbol("AGENTS");
37
+ /** `AgentTemplatesService` (agent templates from plugins). */
38
+ export const AGENT_TEMPLATES = Symbol("AGENT_TEMPLATES");
39
+ /** 内核总线(`createBus(..., "kernel")`,`ExtensionContext["bus"]`)的注入令牌。 */
40
+ export const KERNEL_BUS = Symbol("KERNEL_BUS");
41
+ /** `EventLog` 的注入令牌。 */
42
+ export const EVENT_LOG = Symbol("EVENT_LOG");
43
+ /** `ConversationsService` 的注入令牌。 */
44
+ export const CONVERSATIONS = Symbol("CONVERSATIONS");
45
+ /** `AttachmentsService`(对话附件)的注入令牌。 */
46
+ export const ATTACHMENTS = Symbol("ATTACHMENTS");
47
+ /** `SkillsService`(技能库)的注入令牌。 */
48
+ export const SKILLS = Symbol("SKILLS");
49
+ /** `SkillInvoker` (a person's skill invocation, phase D). */
50
+ export const SKILL_INVOKER = Symbol("SKILL_INVOKER");
51
+ /** `SkillChangesService`(agent 自写技能与技能变更审批)的注入令牌。 */
52
+ export const SKILL_CHANGES = Symbol("SKILL_CHANGES");
53
+ /** `InboxService`(收件箱汇总)的注入令牌。 */
54
+ export const INBOX = Symbol("INBOX");
55
+ /** `ConversationOutputs`(网页读工具输出存档)的注入令牌。 */
56
+ export const CONVERSATION_OUTPUTS = Symbol("CONVERSATION_OUTPUTS");
57
+ /** `ConversationArtifacts`(产物下载)的注入令牌。 */
58
+ export const CONVERSATION_ARTIFACTS = Symbol("CONVERSATION_ARTIFACTS");
59
+ /** `ConversationFiles` (file outputs list and text content, UI refresh B). */
60
+ export const CONVERSATION_FILES = Symbol("CONVERSATION_FILES");
61
+ export const FILE_PREVIEWERS = Symbol("FILE_PREVIEWERS");
62
+ /** `ConversationQueue` (queued messages, UI refresh B). */
63
+ export const CONVERSATION_QUEUE = Symbol("CONVERSATION_QUEUE");
64
+ /** `ConversationSandboxStatus`(对话沙箱状态)的注入令牌。 */
65
+ export const CONVERSATION_SANDBOX = Symbol("CONVERSATION_SANDBOX");
66
+ /** `ConversationToolInfo` (tool titles, kinds and key arguments for the conversation page). */
67
+ export const CONVERSATION_TOOLS = Symbol("CONVERSATION_TOOLS");
68
+ /** `ConversationStreams`(本进程持有的会话 SSE 连接)的注入令牌。 */
69
+ export const CONVERSATION_STREAMS = Symbol("CONVERSATION_STREAMS");
70
+ /** 连接器凭据(`Credentials`)的注入令牌。 */
71
+ export const CREDENTIALS = Symbol("CREDENTIALS");
72
+ /** `ToolRegistry` 的注入令牌。 */
73
+ export const TOOL_REGISTRY = Symbol("TOOL_REGISTRY");
74
+ /** `ConnectorsService` 的注入令牌。 */
75
+ export const CONNECTORS = Symbol("CONNECTORS");
76
+ /** `ConnectorContent`(连接器的 prompts / resources,供斜杠命令与 @ 引用)的注入令牌。 */
77
+ export const CONNECTOR_CONTENT = Symbol("CONNECTOR_CONTENT");
78
+ /** `ApprovalsService`(工具调用审批与授权)的注入令牌。 */
79
+ export const APPROVALS = Symbol("APPROVALS");
80
+ /** `QuestionsService`(工具调用的输入请求)的注入令牌。 */
81
+ export const QUESTIONS = Symbol("QUESTIONS");
82
+ /** `OAuthFlow`(OAuth 授权码连接流程)的注入令牌。 */
83
+ export const OAUTH_FLOW = Symbol("OAUTH_FLOW");
84
+ /** `ExternalIdentities`(外部身份 ↔ 账号)的注入令牌。 */
85
+ export const EXTERNAL_IDENTITIES = Symbol("EXTERNAL_IDENTITIES");
86
+ /** `IdentityBinding`(IM 身份的一次性绑定链接)的注入令牌。 */
87
+ export const IDENTITY_BINDING = Symbol("IDENTITY_BINDING");
88
+ /** `SsoFlow`(第三方登录)的注入令牌。 */
89
+ export const SSO_FLOW = Symbol("SSO_FLOW");
90
+ /** `Offboarding`(成员离职处理)的注入令牌。 */
91
+ export const OFFBOARDING = Symbol("OFFBOARDING");
92
+ /** `ChannelConnections`(组织的渠道连接)的注入令牌。 */
93
+ export const CHANNEL_CONNECTIONS = Symbol("CHANNEL_CONNECTIONS");
94
+ /** `DirectorySync`(通讯录同步)的注入令牌。 */
95
+ export const DIRECTORY_SYNC = Symbol("DIRECTORY_SYNC");
96
+ /** `UiViews`(插件视图:列出贡献、render / action)的注入令牌。 */
97
+ export const UI_VIEWS = Symbol("UI_VIEWS");
98
+ /** `EmbedTokens`(嵌入应用的短期令牌,签发 / 校验)的注入令牌。 */
99
+ export const EMBED_TOKENS = Symbol("EMBED_TOKENS");
100
+ /** `OrgUiStreams`(组织级界面刷新 SSE)的注入令牌。 */
101
+ export const ORG_UI_STREAMS = Symbol("ORG_UI_STREAMS");
102
+ /** `PricesService`(模型价格表)的注入令牌。 */
103
+ export const PRICES = Symbol("PRICES");
104
+ /** `TrajectoryService`(轨迹查看器)的注入令牌。 */
105
+ export const TRAJECTORIES = Symbol("TRAJECTORIES");
106
+ /** `EvalSetsService`(评测集与用例)的注入令牌。 */
107
+ export const EVAL_SETS = Symbol("EVAL_SETS");
108
+ /** `EvalRunsService`(评测运行)的注入令牌。 */
109
+ export const EVAL_RUNS = Symbol("EVAL_RUNS");
110
+ /** `ModelPurposesService`(模型用途映射)的注入令牌。 */
111
+ export const MODEL_PURPOSES = Symbol("MODEL_PURPOSES");
112
+ /** Injection token for `ExtensionInstalls` (extension package imports and install records). */
113
+ export const EXTENSION_INSTALLS = Symbol("EXTENSION_INSTALLS");
114
+ /** Injection token for `ExtensionAdmin` (deployment-level extension list, status and web approval, enterprise admins). */
115
+ export const EXTENSION_ADMIN = Symbol("EXTENSION_ADMIN");
116
+ /** Deployment-level extension install / enable / disable / uninstall (`ExtensionAdminOps`). */
117
+ export const EXTENSION_ADMIN_OPS = Symbol("EXTENSION_ADMIN_OPS");
118
+ /** Deployment-level extension config (`ExtensionDeploymentConfigService`). */
119
+ export const EXTENSION_DEPLOYMENT_CONFIGS = Symbol("EXTENSION_DEPLOYMENT_CONFIGS");
120
+ /** The enterprise catalog (`CatalogService`). */
121
+ export const CATALOG = Symbol("CATALOG");
122
+ /** Plugin (app bundle) import: prepare / confirm and staging cleanup (`PluginImport`). */
123
+ export const PLUGIN_IMPORT = Symbol("PLUGIN_IMPORT");
124
+ /** Marketplaces (`MarketplacesService`). */
125
+ export const MARKETPLACES = Symbol("MARKETPLACES");
126
+ /** Organizations browse and install from the enterprise catalog (`OrgCatalogService`). */
127
+ export const ORG_CATALOG = Symbol("ORG_CATALOG");
128
+ /** Catalog requests and approvals (`CatalogRequestsService`). */
129
+ export const CATALOG_REQUESTS = Symbol("CATALOG_REQUESTS");
130
+ /** Org install and uninstall of plugins (app bundles) (`PluginInstaller`). */
131
+ export const PLUGIN_INSTALLER = Symbol("PLUGIN_INSTALLER");
@@ -0,0 +1,8 @@
1
+ import type { PipeTransform } from "@nestjs/common";
2
+ import type { z } from "zod";
3
+ /** 用 Zod schema 校验请求参数(通常是 body);失败抛 `validation_failed`,details 逐条给出路径与原因。 */
4
+ export declare class ZodPipe<S extends z.ZodType> implements PipeTransform<unknown, z.infer<S>> {
5
+ private readonly schema;
6
+ constructor(schema: S);
7
+ transform(value: unknown): z.infer<S>;
8
+ }
@@ -0,0 +1,14 @@
1
+ import { ApiError } from "../errors.js";
2
+ /** 用 Zod schema 校验请求参数(通常是 body);失败抛 `validation_failed`,details 逐条给出路径与原因。 */
3
+ export class ZodPipe {
4
+ schema;
5
+ constructor(schema) {
6
+ this.schema = schema;
7
+ }
8
+ transform(value) {
9
+ const r = this.schema.safeParse(value);
10
+ if (r.success)
11
+ return r.data;
12
+ throw new ApiError("validation_failed", "Request validation failed", r.error.issues.map((i) => ({ path: i.path.map(String).join("."), message: i.message })));
13
+ }
14
+ }
@@ -0,0 +1,93 @@
1
+ import { type Selectable, type Transaction } from "kysely";
2
+ import type { AccountsTable, KernelDatabase, KernelDb } from "../db/kernel-schema.js";
3
+ export interface Account {
4
+ id: string;
5
+ displayName: string;
6
+ email: string | null;
7
+ status: "active" | "disabled";
8
+ isEnterpriseAdmin: boolean;
9
+ createdAt: Date;
10
+ }
11
+ type Trx = Transaction<KernelDatabase>;
12
+ /** 企业管理员可改的账号字段。 */
13
+ export type AccountPatch = {
14
+ displayName?: string;
15
+ status?: "active" | "disabled";
16
+ isEnterpriseAdmin?: boolean;
17
+ };
18
+ /** 构造 `Account` 所需的 accounts 列(供跨表查询 select 使用)。 */
19
+ export declare const ACCOUNT_COLUMNS: readonly ["accounts.id", "accounts.display_name", "accounts.email", "accounts.status", "accounts.is_enterprise_admin", "accounts.created_at"];
20
+ type AccountRow = Pick<Selectable<AccountsTable>, "id" | "display_name" | "email" | "status" | "is_enterprise_admin" | "created_at">;
21
+ export declare function toAccount(r: AccountRow): Account;
22
+ export interface LocalAccountInput {
23
+ login: string;
24
+ password: string;
25
+ displayName: string;
26
+ email?: string;
27
+ enterpriseAdmin?: boolean;
28
+ }
29
+ /** 账号服务:本地账号的创建、认证与管理。框架无关,由调用方注入 db。 */
30
+ export declare class AccountsService {
31
+ private readonly db;
32
+ constructor(db: KernelDb);
33
+ /** 校验密码长度并算出哈希(scrypt,较慢):供需要在事务之外先算好哈希的调用方使用。 */
34
+ hashNewPassword(password: string): Promise<string>;
35
+ /**
36
+ * 建本地账号。传 `trx` 时在调用方的事务内插入;在事务内调用时应先在事务**之外**用 `hashNewPassword`
37
+ * 算好 `passwordHash` 传进来,避免 scrypt 期间连接处于 idle in transaction。
38
+ */
39
+ createLocal(input: LocalAccountInput, trx?: Trx, passwordHash?: string): Promise<Account>;
40
+ /**
41
+ * 企业管理员建本地账号(可同时设为企业管理员):事务内取企业管理员锁并复核发起人仍是活跃企业管理员
42
+ * (否则 `forbidden`),建号并写审计 `account.created`。密码哈希在取锁之前算好,不在锁内跑 scrypt。
43
+ */
44
+ createByAdmin(input: LocalAccountInput, actorAccountId: string, actorTokenId?: string): Promise<Account>;
45
+ authenticateLocal(login: string, password: string): Promise<Account | null>;
46
+ /** 按账号 id 校验本地密码(改密码时核对旧密码);没有本地密码、超长或不符 → false。 */
47
+ verifyPassword(accountId: string, password: string): Promise<boolean>;
48
+ get(id: string): Promise<Account | undefined>;
49
+ /** 按 id 升序分页,`after` 为上一页最后一个 id。 */
50
+ list(opts: {
51
+ limit: number;
52
+ after?: string;
53
+ }): Promise<Account[]>;
54
+ setPassword(accountId: string, password: string): Promise<void>;
55
+ /**
56
+ * 用户改密码(R24):同一个 PG 事务里写新密码、吊销该账号除 `exceptSessionId` 外的全部会话
57
+ * (`sessions.revoked_at`)与全部个人访问令牌,要么全部生效要么都不生效。scrypt 在 BEGIN 之前算好。
58
+ * 返回被吊销的会话 id,调用方随后写 Redis 吊销标记(快速路径;鉴权以 PG `revoked_at` 为准,
59
+ * 标记写失败也不会让这些会话继续可用)。
60
+ */
61
+ changePassword(accountId: string, password: string, exceptSessionId: string): Promise<string[]>;
62
+ update(id: string, patch: AccountPatch, actorAccountId: string, actorTokenId?: string): Promise<Account>;
63
+ /**
64
+ * 企业管理员改账号。停用(`status: "disabled"`)时在**同一个 PG 事务**里吊销该账号的全部会话
65
+ * (`sessions.revoked_at`)与个人访问令牌,要么都生效要么都不生效;返回被吊销的会话 id,
66
+ * 调用方在提交后写 Redis 吊销标记(快速路径,失败只记 warn:鉴权以 PG 为准)。
67
+ */
68
+ updateAccount(id: string, patch: AccountPatch, actorAccountId: string, actorTokenId?: string): Promise<{
69
+ account: Account;
70
+ revokedSessionIds: string[];
71
+ }>;
72
+ /**
73
+ * CLI 的 `capybara admin grant|revoke <login>`(没有发起账号):按本地登录名在 {@link lockEnterpriseAdmins}
74
+ * 的事务里改企业管理员标记;撤销沿用 {@link updateAccount} 的「最后一个活跃企业管理员」复核
75
+ * (`account.last_enterprise_admin`),在锁内判定,与网页撤销并发也不会一个都不剩。审计 `account.updated`
76
+ * 不带发起账号,`detail.via = "cli"`。已是目标状态时不改、不写审计(`changed: false`)。
77
+ * 登录名不存在 → `account.not_found`。
78
+ */
79
+ setEnterpriseAdminByLogin(login: string, isEnterpriseAdmin: boolean): Promise<{
80
+ account: Account;
81
+ changed: boolean;
82
+ }>;
83
+ /**
84
+ * 已持企业管理员锁的事务内改账号:改行、复核「最后一个活跃企业管理员」、写审计 `account.updated`;
85
+ * 停用时吊销该账号的全部会话与个人令牌。
86
+ */
87
+ private applyUpdate;
88
+ /** 全部账号数(含停用的;后台概览)。 */
89
+ count(): Promise<number>;
90
+ /** 活跃(status = active)的企业管理员数量。 */
91
+ countEnterpriseAdmins(trx?: Trx): Promise<number>;
92
+ }
93
+ export {};