@bevel-software/platform-core-backend 0.15.1 → 0.19.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.
- package/THIRD-PARTY-NOTICES.md +4 -4
- package/dist/core/catalog-cache-invalidation.d.ts +16 -0
- package/dist/core/catalog-cache-invalidation.d.ts.map +1 -1
- package/dist/core/catalog-cache-invalidation.js +6 -1
- package/dist/core/catalog-cache-invalidation.js.map +1 -1
- package/dist/core/catalog-revision.d.ts +39 -0
- package/dist/core/catalog-revision.d.ts.map +1 -0
- package/dist/core/catalog-revision.js +94 -0
- package/dist/core/catalog-revision.js.map +1 -0
- package/dist/core/create-core-server.d.ts +7 -0
- package/dist/core/create-core-server.d.ts.map +1 -1
- package/dist/core/create-core-server.js +199 -75
- package/dist/core/create-core-server.js.map +1 -1
- package/dist/core/create-core-services.d.ts +49 -2
- package/dist/core/create-core-services.d.ts.map +1 -1
- package/dist/core/create-core-services.js +212 -86
- package/dist/core/create-core-services.js.map +1 -1
- package/dist/core/lifecycle.d.ts +138 -0
- package/dist/core/lifecycle.d.ts.map +1 -0
- package/dist/core/lifecycle.js +218 -0
- package/dist/core/lifecycle.js.map +1 -0
- package/dist/core/public-config.d.ts +82 -0
- package/dist/core/public-config.d.ts.map +1 -0
- package/dist/core/public-config.js +78 -0
- package/dist/core/public-config.js.map +1 -0
- package/dist/core/readiness.d.ts +86 -0
- package/dist/core/readiness.d.ts.map +1 -0
- package/dist/core/readiness.js +56 -0
- package/dist/core/readiness.js.map +1 -0
- package/dist/core-config.d.ts +30 -0
- package/dist/core-config.d.ts.map +1 -1
- package/dist/core-config.js +64 -2
- package/dist/core-config.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/access/access-control.interface.d.ts +215 -11
- package/dist/modules/access/access-control.interface.d.ts.map +1 -1
- package/dist/modules/access/access-control.service.d.ts +57 -11
- package/dist/modules/access/access-control.service.d.ts.map +1 -1
- package/dist/modules/access/access-control.service.js +616 -155
- package/dist/modules/access/access-control.service.js.map +1 -1
- package/dist/modules/access/access-mutation.service.d.ts +71 -5
- package/dist/modules/access/access-mutation.service.d.ts.map +1 -1
- package/dist/modules/access/access-mutation.service.js +161 -13
- package/dist/modules/access/access-mutation.service.js.map +1 -1
- package/dist/modules/access/access-view.d.ts +147 -0
- package/dist/modules/access/access-view.d.ts.map +1 -0
- package/dist/modules/access/access-view.js +211 -0
- package/dist/modules/access/access-view.js.map +1 -0
- package/dist/modules/access/access.routes.d.ts.map +1 -1
- package/dist/modules/access/access.routes.js +255 -79
- package/dist/modules/access/access.routes.js.map +1 -1
- package/dist/modules/access/admin-locked-commit.d.ts +2 -3
- package/dist/modules/access/admin-locked-commit.d.ts.map +1 -1
- package/dist/modules/access/admin-locked-commit.js +9 -8
- package/dist/modules/access/admin-locked-commit.js.map +1 -1
- package/dist/modules/access/admin-route-helpers.d.ts.map +1 -1
- package/dist/modules/access/admin-route-helpers.js +4 -4
- package/dist/modules/access/admin-route-helpers.js.map +1 -1
- package/dist/modules/access/change-read-gate.d.ts +53 -0
- package/dist/modules/access/change-read-gate.d.ts.map +1 -0
- package/dist/modules/access/change-read-gate.js +134 -0
- package/dist/modules/access/change-read-gate.js.map +1 -0
- package/dist/modules/access/creator-access.d.ts +33 -39
- package/dist/modules/access/creator-access.d.ts.map +1 -1
- package/dist/modules/access/creator-access.js +92 -119
- package/dist/modules/access/creator-access.js.map +1 -1
- package/dist/modules/access/directory-sync-bot.d.ts.map +1 -1
- package/dist/modules/access/directory-sync-bot.js +3 -1
- package/dist/modules/access/directory-sync-bot.js.map +1 -1
- package/dist/modules/access/groups-admin.service.d.ts +3 -3
- package/dist/modules/access/groups-admin.service.js +2 -2
- package/dist/modules/access/reference-scan.d.ts +1 -1
- package/dist/modules/access/reference-scan.d.ts.map +1 -1
- package/dist/modules/access/reference-scan.js +5 -4
- package/dist/modules/access/reference-scan.js.map +1 -1
- package/dist/modules/access/roles-admin.service.d.ts +72 -13
- package/dist/modules/access/roles-admin.service.d.ts.map +1 -1
- package/dist/modules/access/roles-admin.service.js +71 -13
- package/dist/modules/access/roles-admin.service.js.map +1 -1
- package/dist/modules/access/synced-groups-committer.d.ts.map +1 -1
- package/dist/modules/access/synced-groups-committer.js +8 -6
- package/dist/modules/access/synced-groups-committer.js.map +1 -1
- package/dist/modules/access/synced-groups-writer.d.ts.map +1 -1
- package/dist/modules/access/synced-groups-writer.js +3 -8
- package/dist/modules/access/synced-groups-writer.js.map +1 -1
- package/dist/modules/access/user-access-removal.service.d.ts +209 -0
- package/dist/modules/access/user-access-removal.service.d.ts.map +1 -0
- package/dist/modules/access/user-access-removal.service.js +662 -0
- package/dist/modules/access/user-access-removal.service.js.map +1 -0
- package/dist/modules/access-model/access-errors.d.ts +32 -1
- package/dist/modules/access-model/access-errors.d.ts.map +1 -1
- package/dist/modules/access-model/access-errors.js +38 -11
- package/dist/modules/access-model/access-errors.js.map +1 -1
- package/dist/modules/access-model/access-grammar.d.ts +49 -24
- package/dist/modules/access-model/access-grammar.d.ts.map +1 -1
- package/dist/modules/access-model/access-grammar.js +68 -48
- package/dist/modules/access-model/access-grammar.js.map +1 -1
- package/dist/modules/access-model/access-splice.d.ts.map +1 -1
- package/dist/modules/access-model/access-splice.js +18 -18
- package/dist/modules/access-model/access-splice.js.map +1 -1
- package/dist/modules/access-model/access-template.d.ts +22 -0
- package/dist/modules/access-model/access-template.d.ts.map +1 -0
- package/dist/modules/access-model/access-template.js +42 -0
- package/dist/modules/access-model/access-template.js.map +1 -0
- package/dist/modules/access-model/change-gate.d.ts +65 -0
- package/dist/modules/access-model/change-gate.d.ts.map +1 -0
- package/dist/modules/access-model/change-gate.js +25 -0
- package/dist/modules/access-model/change-gate.js.map +1 -0
- package/dist/modules/access-model/creator.d.ts +13 -16
- package/dist/modules/access-model/creator.d.ts.map +1 -1
- package/dist/modules/access-model/creator.js.map +1 -1
- package/dist/modules/access-model/frontmatter-lines.d.ts +27 -0
- package/dist/modules/access-model/frontmatter-lines.d.ts.map +1 -0
- package/dist/modules/access-model/frontmatter-lines.js +74 -0
- package/dist/modules/access-model/frontmatter-lines.js.map +1 -0
- package/dist/modules/access-model/plugin-principals.d.ts +5 -3
- package/dist/modules/access-model/plugin-principals.d.ts.map +1 -1
- package/dist/modules/access-model/plugin-principals.js +11 -17
- package/dist/modules/access-model/plugin-principals.js.map +1 -1
- package/dist/modules/access-model/roles-yaml-guard.d.ts +73 -2
- package/dist/modules/access-model/roles-yaml-guard.d.ts.map +1 -1
- package/dist/modules/access-model/roles-yaml-guard.js +153 -3
- package/dist/modules/access-model/roles-yaml-guard.js.map +1 -1
- package/dist/modules/admin/admin-access.service.d.ts.map +1 -1
- package/dist/modules/admin/admin-access.service.js +5 -2
- package/dist/modules/admin/admin-access.service.js.map +1 -1
- package/dist/modules/agent-instructions/agent-instructions.routes.d.ts +21 -0
- package/dist/modules/agent-instructions/agent-instructions.routes.d.ts.map +1 -0
- package/dist/modules/agent-instructions/agent-instructions.routes.js +38 -0
- package/dist/modules/agent-instructions/agent-instructions.routes.js.map +1 -0
- package/dist/modules/agent-instructions/compose.d.ts +71 -0
- package/dist/modules/agent-instructions/compose.d.ts.map +1 -0
- package/dist/modules/agent-instructions/compose.js +234 -0
- package/dist/modules/agent-instructions/compose.js.map +1 -0
- package/dist/modules/agent-instructions/index.d.ts +4 -0
- package/dist/modules/agent-instructions/index.d.ts.map +1 -0
- package/dist/modules/agent-instructions/index.js +4 -0
- package/dist/modules/agent-instructions/index.js.map +1 -0
- package/dist/modules/agent-instructions/read-preamble.d.ts +37 -0
- package/dist/modules/agent-instructions/read-preamble.d.ts.map +1 -0
- package/dist/modules/agent-instructions/read-preamble.js +81 -0
- package/dist/modules/agent-instructions/read-preamble.js.map +1 -0
- package/dist/modules/auth/account-erasure.service.d.ts +30 -4
- package/dist/modules/auth/account-erasure.service.d.ts.map +1 -1
- package/dist/modules/auth/account-erasure.service.js +96 -10
- package/dist/modules/auth/account-erasure.service.js.map +1 -1
- package/dist/modules/auth/account.routes.d.ts +6 -3
- package/dist/modules/auth/account.routes.d.ts.map +1 -1
- package/dist/modules/auth/account.routes.js +109 -10
- package/dist/modules/auth/account.routes.js.map +1 -1
- package/dist/modules/auth/auth.routes.d.ts +10 -3
- package/dist/modules/auth/auth.routes.d.ts.map +1 -1
- package/dist/modules/auth/auth.routes.js +9 -4
- package/dist/modules/auth/auth.routes.js.map +1 -1
- package/dist/modules/auth/auth.service.d.ts +89 -5
- package/dist/modules/auth/auth.service.d.ts.map +1 -1
- package/dist/modules/auth/auth.service.js +160 -25
- package/dist/modules/auth/auth.service.js.map +1 -1
- package/dist/modules/auth/oidc-auth-provider.d.ts +46 -3
- package/dist/modules/auth/oidc-auth-provider.d.ts.map +1 -1
- package/dist/modules/auth/oidc-auth-provider.js +99 -21
- package/dist/modules/auth/oidc-auth-provider.js.map +1 -1
- package/dist/modules/code-mode/code-mode.tool.d.ts.map +1 -1
- package/dist/modules/code-mode/code-mode.tool.js +14 -2
- package/dist/modules/code-mode/code-mode.tool.js.map +1 -1
- package/dist/modules/connection-probe/connection-probe.service.d.ts.map +1 -1
- package/dist/modules/connection-probe/connection-probe.service.js +56 -7
- package/dist/modules/connection-probe/connection-probe.service.js.map +1 -1
- package/dist/modules/database/advisory-lock.d.ts +103 -0
- package/dist/modules/database/advisory-lock.d.ts.map +1 -0
- package/dist/modules/database/advisory-lock.js +320 -0
- package/dist/modules/database/advisory-lock.js.map +1 -0
- package/dist/modules/database/connection.d.ts.map +1 -1
- package/dist/modules/database/connection.js +9 -1
- package/dist/modules/database/connection.js.map +1 -1
- package/dist/modules/database/core-schema.d.ts +346 -0
- package/dist/modules/database/core-schema.d.ts.map +1 -1
- package/dist/modules/database/core-schema.js +119 -0
- package/dist/modules/database/core-schema.js.map +1 -1
- package/dist/modules/database/migrate.d.ts.map +1 -1
- package/dist/modules/database/migrate.js +26 -6
- package/dist/modules/database/migrate.js.map +1 -1
- package/dist/modules/declared-variables/declared-variables.routes.d.ts.map +1 -1
- package/dist/modules/declared-variables/declared-variables.routes.js +4 -2
- package/dist/modules/declared-variables/declared-variables.routes.js.map +1 -1
- package/dist/modules/diff/diff.routes.d.ts.map +1 -1
- package/dist/modules/diff/diff.routes.js +2 -4
- package/dist/modules/diff/diff.routes.js.map +1 -1
- package/dist/modules/diff/diff.service.d.ts +4 -1
- package/dist/modules/diff/diff.service.d.ts.map +1 -1
- package/dist/modules/diff/diff.service.js +79 -81
- package/dist/modules/diff/diff.service.js.map +1 -1
- package/dist/modules/kb-fs/bevel-ignore.d.ts +35 -0
- package/dist/modules/kb-fs/bevel-ignore.d.ts.map +1 -0
- package/dist/modules/kb-fs/bevel-ignore.js +71 -0
- package/dist/modules/kb-fs/bevel-ignore.js.map +1 -0
- package/dist/modules/kb-fs/file-change-notifier.d.ts.map +1 -1
- package/dist/modules/kb-fs/file-change-notifier.js +3 -1
- package/dist/modules/kb-fs/file-change-notifier.js.map +1 -1
- package/dist/modules/kb-fs/git-guarded-filesystem.d.ts +37 -0
- package/dist/modules/kb-fs/git-guarded-filesystem.d.ts.map +1 -0
- package/dist/modules/kb-fs/git-guarded-filesystem.js +104 -0
- package/dist/modules/kb-fs/git-guarded-filesystem.js.map +1 -0
- package/dist/modules/kb-fs/locking-filesystem.d.ts +113 -18
- package/dist/modules/kb-fs/locking-filesystem.d.ts.map +1 -1
- package/dist/modules/kb-fs/locking-filesystem.js +353 -76
- package/dist/modules/kb-fs/locking-filesystem.js.map +1 -1
- package/dist/modules/kb-fs/node-fs.d.ts +23 -0
- package/dist/modules/kb-fs/node-fs.d.ts.map +1 -0
- package/dist/modules/kb-fs/node-fs.js +158 -0
- package/dist/modules/kb-fs/node-fs.js.map +1 -0
- package/dist/modules/kb-fs/read-only-filesystem.d.ts +10 -9
- package/dist/modules/kb-fs/read-only-filesystem.d.ts.map +1 -1
- package/dist/modules/kb-fs/read-only-filesystem.js +18 -9
- package/dist/modules/kb-fs/read-only-filesystem.js.map +1 -1
- package/dist/modules/kb-fs/repo-path.d.ts +100 -3
- package/dist/modules/kb-fs/repo-path.d.ts.map +1 -1
- package/dist/modules/kb-fs/repo-path.js +195 -3
- package/dist/modules/kb-fs/repo-path.js.map +1 -1
- package/dist/modules/kb-sync/kb-sync.routes.d.ts.map +1 -1
- package/dist/modules/kb-sync/kb-sync.routes.js +4 -2
- package/dist/modules/kb-sync/kb-sync.routes.js.map +1 -1
- package/dist/modules/kb-sync/kb-sync.service.d.ts.map +1 -1
- package/dist/modules/kb-sync/kb-sync.service.js +7 -5
- package/dist/modules/kb-sync/kb-sync.service.js.map +1 -1
- package/dist/modules/marketplace/git-http.routes.d.ts.map +1 -1
- package/dist/modules/marketplace/git-http.routes.js +6 -4
- package/dist/modules/marketplace/git-http.routes.js.map +1 -1
- package/dist/modules/marketplace/github-facade/github-facade-admin.routes.d.ts +12 -2
- package/dist/modules/marketplace/github-facade/github-facade-admin.routes.d.ts.map +1 -1
- package/dist/modules/marketplace/github-facade/github-facade-admin.routes.js +32 -3
- package/dist/modules/marketplace/github-facade/github-facade-admin.routes.js.map +1 -1
- package/dist/modules/marketplace/github-facade/github-facade-credentials.service.d.ts +27 -0
- package/dist/modules/marketplace/github-facade/github-facade-credentials.service.d.ts.map +1 -1
- package/dist/modules/marketplace/github-facade/github-facade-credentials.service.js +45 -0
- package/dist/modules/marketplace/github-facade/github-facade-credentials.service.js.map +1 -1
- package/dist/modules/marketplace/github-facade/github-facade.routes.d.ts.map +1 -1
- package/dist/modules/marketplace/github-facade/github-facade.routes.js +30 -6
- package/dist/modules/marketplace/github-facade/github-facade.routes.js.map +1 -1
- package/dist/modules/marketplace/github-facade/github-facade.service.d.ts +21 -9
- package/dist/modules/marketplace/github-facade/github-facade.service.d.ts.map +1 -1
- package/dist/modules/marketplace/github-facade/github-facade.service.js +60 -19
- package/dist/modules/marketplace/github-facade/github-facade.service.js.map +1 -1
- package/dist/modules/marketplace/github-facade/index.d.ts +1 -1
- package/dist/modules/marketplace/github-facade/index.d.ts.map +1 -1
- package/dist/modules/marketplace/github-facade/index.js +1 -1
- package/dist/modules/marketplace/github-facade/index.js.map +1 -1
- package/dist/modules/marketplace/marketplace-repo.service.d.ts +14 -1
- package/dist/modules/marketplace/marketplace-repo.service.d.ts.map +1 -1
- package/dist/modules/marketplace/marketplace-repo.service.js +26 -8
- package/dist/modules/marketplace/marketplace-repo.service.js.map +1 -1
- package/dist/modules/mcp/downstream-pool.d.ts +107 -0
- package/dist/modules/mcp/downstream-pool.d.ts.map +1 -0
- package/dist/modules/mcp/downstream-pool.js +221 -0
- package/dist/modules/mcp/downstream-pool.js.map +1 -0
- package/dist/modules/mcp/downstream-token-refresh.d.ts +77 -0
- package/dist/modules/mcp/downstream-token-refresh.d.ts.map +1 -0
- package/dist/modules/mcp/downstream-token-refresh.js +166 -0
- package/dist/modules/mcp/downstream-token-refresh.js.map +1 -0
- package/dist/modules/mcp/first-call-probe.cli-args.d.ts +78 -0
- package/dist/modules/mcp/first-call-probe.cli-args.d.ts.map +1 -0
- package/dist/modules/mcp/first-call-probe.cli-args.js +151 -0
- package/dist/modules/mcp/first-call-probe.cli-args.js.map +1 -0
- package/dist/modules/mcp/first-call-probe.cli.d.ts +2 -0
- package/dist/modules/mcp/first-call-probe.cli.d.ts.map +1 -0
- package/dist/modules/mcp/first-call-probe.cli.js +62 -0
- package/dist/modules/mcp/first-call-probe.cli.js.map +1 -0
- package/dist/modules/mcp/first-call-probe.d.ts +165 -0
- package/dist/modules/mcp/first-call-probe.d.ts.map +1 -0
- package/dist/modules/mcp/first-call-probe.js +298 -0
- package/dist/modules/mcp/first-call-probe.js.map +1 -0
- package/dist/modules/mcp/manual-failure-memo.d.ts +42 -17
- package/dist/modules/mcp/manual-failure-memo.d.ts.map +1 -1
- package/dist/modules/mcp/manual-failure-memo.js +79 -23
- package/dist/modules/mcp/manual-failure-memo.js.map +1 -1
- package/dist/modules/mcp/mcp-auth.middleware.d.ts +9 -5
- package/dist/modules/mcp/mcp-auth.middleware.d.ts.map +1 -1
- package/dist/modules/mcp/mcp-auth.middleware.js +24 -16
- package/dist/modules/mcp/mcp-auth.middleware.js.map +1 -1
- package/dist/modules/mcp/mcp.routes.d.ts +4 -4
- package/dist/modules/mcp/mcp.routes.d.ts.map +1 -1
- package/dist/modules/mcp/mcp.routes.js +83 -179
- package/dist/modules/mcp/mcp.routes.js.map +1 -1
- package/dist/modules/mcp/mcp.service.d.ts +218 -61
- package/dist/modules/mcp/mcp.service.d.ts.map +1 -1
- package/dist/modules/mcp/mcp.service.js +713 -159
- package/dist/modules/mcp/mcp.service.js.map +1 -1
- package/dist/modules/mcp/oauth/bevel-oauth-provider.d.ts.map +1 -1
- package/dist/modules/mcp/oauth/bevel-oauth-provider.js +4 -2
- package/dist/modules/mcp/oauth/bevel-oauth-provider.js.map +1 -1
- package/dist/modules/mcp/oauth/oauth-consent.routes.d.ts.map +1 -1
- package/dist/modules/mcp/oauth/oauth-consent.routes.js +3 -1
- package/dist/modules/mcp/oauth/oauth-consent.routes.js.map +1 -1
- package/dist/modules/mcp/surface-log-throttle.d.ts +59 -0
- package/dist/modules/mcp/surface-log-throttle.d.ts.map +1 -0
- package/dist/modules/mcp/surface-log-throttle.js +94 -0
- package/dist/modules/mcp/surface-log-throttle.js.map +1 -0
- package/dist/modules/plugins/compile/compile-marketplace.d.ts +13 -6
- package/dist/modules/plugins/compile/compile-marketplace.d.ts.map +1 -1
- package/dist/modules/plugins/compile/compile-marketplace.js +119 -36
- package/dist/modules/plugins/compile/compile-marketplace.js.map +1 -1
- package/dist/modules/plugins/compile/marketplace-compiler.service.d.ts +8 -1
- package/dist/modules/plugins/compile/marketplace-compiler.service.d.ts.map +1 -1
- package/dist/modules/plugins/compile/marketplace-compiler.service.js +9 -6
- package/dist/modules/plugins/compile/marketplace-compiler.service.js.map +1 -1
- package/dist/modules/plugins/discovery/bundle-dialect/bundle.source.d.ts.map +1 -1
- package/dist/modules/plugins/discovery/bundle-dialect/bundle.source.js +32 -9
- package/dist/modules/plugins/discovery/bundle-dialect/bundle.source.js.map +1 -1
- package/dist/modules/plugins/discovery/bundle-dialect/registry.d.ts +26 -6
- package/dist/modules/plugins/discovery/bundle-dialect/registry.d.ts.map +1 -1
- package/dist/modules/plugins/discovery/bundle-dialect/registry.js +71 -14
- package/dist/modules/plugins/discovery/bundle-dialect/registry.js.map +1 -1
- package/dist/modules/plugins/discovery/kb-plugin-source.d.ts +4 -2
- package/dist/modules/plugins/discovery/kb-plugin-source.d.ts.map +1 -1
- package/dist/modules/plugins/discovery/kb-plugin-source.js +9 -6
- package/dist/modules/plugins/discovery/kb-plugin-source.js.map +1 -1
- package/dist/modules/plugins/discovery/native.source.d.ts +2 -1
- package/dist/modules/plugins/discovery/native.source.d.ts.map +1 -1
- package/dist/modules/plugins/discovery/native.source.js +22 -4
- package/dist/modules/plugins/discovery/native.source.js.map +1 -1
- package/dist/modules/plugins/discovery/plugin-source.d.ts +17 -3
- package/dist/modules/plugins/discovery/plugin-source.d.ts.map +1 -1
- package/dist/modules/plugins/index.d.ts +6 -3
- package/dist/modules/plugins/index.d.ts.map +1 -1
- package/dist/modules/plugins/index.js +6 -3
- package/dist/modules/plugins/index.js.map +1 -1
- package/dist/modules/plugins/join-request-jobs.service.d.ts +250 -0
- package/dist/modules/plugins/join-request-jobs.service.d.ts.map +1 -0
- package/dist/modules/plugins/join-request-jobs.service.js +602 -0
- package/dist/modules/plugins/join-request-jobs.service.js.map +1 -0
- package/dist/modules/plugins/join-request-records.store.d.ts +161 -0
- package/dist/modules/plugins/join-request-records.store.d.ts.map +1 -0
- package/dist/modules/plugins/join-request-records.store.js +179 -0
- package/dist/modules/plugins/join-request-records.store.js.map +1 -0
- package/dist/modules/plugins/join-requests.service.d.ts.map +1 -1
- package/dist/modules/plugins/join-requests.service.js +4 -2
- package/dist/modules/plugins/join-requests.service.js.map +1 -1
- package/dist/modules/plugins/plugin-links.d.ts +4 -1
- package/dist/modules/plugins/plugin-links.d.ts.map +1 -1
- package/dist/modules/plugins/plugin-links.js +6 -3
- package/dist/modules/plugins/plugin-links.js.map +1 -1
- package/dist/modules/plugins/plugin-links.service.d.ts +2 -5
- package/dist/modules/plugins/plugin-links.service.d.ts.map +1 -1
- package/dist/modules/plugins/plugin-links.service.js +4 -13
- package/dist/modules/plugins/plugin-links.service.js.map +1 -1
- package/dist/modules/plugins/plugin-provision.service.d.ts +91 -19
- package/dist/modules/plugins/plugin-provision.service.d.ts.map +1 -1
- package/dist/modules/plugins/plugin-provision.service.js +183 -38
- package/dist/modules/plugins/plugin-provision.service.js.map +1 -1
- package/dist/modules/plugins/plugin-rename.service.d.ts +3 -1
- package/dist/modules/plugins/plugin-rename.service.d.ts.map +1 -1
- package/dist/modules/plugins/plugin-rename.service.js +20 -11
- package/dist/modules/plugins/plugin-rename.service.js.map +1 -1
- package/dist/modules/plugins/plugins.contract.d.ts +52 -4
- package/dist/modules/plugins/plugins.contract.d.ts.map +1 -1
- package/dist/modules/plugins/plugins.routes.d.ts +38 -5
- package/dist/modules/plugins/plugins.routes.d.ts.map +1 -1
- package/dist/modules/plugins/plugins.routes.js +190 -116
- package/dist/modules/plugins/plugins.routes.js.map +1 -1
- package/dist/modules/plugins/plugins.service.d.ts +38 -6
- package/dist/modules/plugins/plugins.service.d.ts.map +1 -1
- package/dist/modules/plugins/plugins.service.js +86 -17
- package/dist/modules/plugins/plugins.service.js.map +1 -1
- package/dist/modules/plugins/plugins.tools.d.ts +25 -0
- package/dist/modules/plugins/plugins.tools.d.ts.map +1 -0
- package/dist/modules/plugins/plugins.tools.js +82 -0
- package/dist/modules/plugins/plugins.tools.js.map +1 -0
- package/dist/modules/plugins/teams.routes.d.ts +42 -0
- package/dist/modules/plugins/teams.routes.d.ts.map +1 -0
- package/dist/modules/plugins/teams.routes.js +79 -0
- package/dist/modules/plugins/teams.routes.js.map +1 -0
- package/dist/modules/secrets-vault/db-secrets-vault.service.d.ts +40 -1
- package/dist/modules/secrets-vault/db-secrets-vault.service.d.ts.map +1 -1
- package/dist/modules/secrets-vault/db-secrets-vault.service.js +202 -37
- package/dist/modules/secrets-vault/db-secrets-vault.service.js.map +1 -1
- package/dist/modules/secrets-vault/index.d.ts +1 -1
- package/dist/modules/secrets-vault/index.d.ts.map +1 -1
- package/dist/modules/secrets-vault/index.js.map +1 -1
- package/dist/modules/secrets-vault/mcp-oauth-discovery.service.d.ts.map +1 -1
- package/dist/modules/secrets-vault/mcp-oauth-discovery.service.js +5 -3
- package/dist/modules/secrets-vault/mcp-oauth-discovery.service.js.map +1 -1
- package/dist/modules/secrets-vault/secrets-variable-loader.d.ts.map +1 -1
- package/dist/modules/secrets-vault/secrets-variable-loader.js +3 -1
- package/dist/modules/secrets-vault/secrets-variable-loader.js.map +1 -1
- package/dist/modules/secrets-vault/secrets-vault.contract.d.ts +78 -0
- package/dist/modules/secrets-vault/secrets-vault.contract.d.ts.map +1 -1
- package/dist/modules/secrets-vault/secrets-vault.contract.js +40 -0
- package/dist/modules/secrets-vault/secrets-vault.contract.js.map +1 -1
- package/dist/modules/secrets-vault/secrets-vault.routes.d.ts.map +1 -1
- package/dist/modules/secrets-vault/secrets-vault.routes.js +106 -52
- package/dist/modules/secrets-vault/secrets-vault.routes.js.map +1 -1
- package/dist/modules/settings/connection-check.d.ts +118 -0
- package/dist/modules/settings/connection-check.d.ts.map +1 -0
- package/dist/modules/settings/connection-check.js +287 -0
- package/dist/modules/settings/connection-check.js.map +1 -0
- package/dist/modules/settings/deployment-settings.service.d.ts +153 -7
- package/dist/modules/settings/deployment-settings.service.d.ts.map +1 -1
- package/dist/modules/settings/deployment-settings.service.js +348 -51
- package/dist/modules/settings/deployment-settings.service.js.map +1 -1
- package/dist/modules/settings/git-root-folders.d.ts +54 -0
- package/dist/modules/settings/git-root-folders.d.ts.map +1 -0
- package/dist/modules/settings/git-root-folders.js +130 -0
- package/dist/modules/settings/git-root-folders.js.map +1 -0
- package/dist/modules/settings/oidc-check.d.ts +85 -0
- package/dist/modules/settings/oidc-check.d.ts.map +1 -0
- package/dist/modules/settings/oidc-check.js +172 -0
- package/dist/modules/settings/oidc-check.js.map +1 -0
- package/dist/modules/settings/setup.routes.d.ts +31 -1
- package/dist/modules/settings/setup.routes.d.ts.map +1 -1
- package/dist/modules/settings/setup.routes.js +400 -108
- package/dist/modules/settings/setup.routes.js.map +1 -1
- package/dist/modules/skills/allowed-tools-check.d.ts +132 -0
- package/dist/modules/skills/allowed-tools-check.d.ts.map +1 -0
- package/dist/modules/skills/allowed-tools-check.js +260 -0
- package/dist/modules/skills/allowed-tools-check.js.map +1 -0
- package/dist/modules/skills/index.d.ts +3 -1
- package/dist/modules/skills/index.d.ts.map +1 -1
- package/dist/modules/skills/index.js +1 -0
- package/dist/modules/skills/index.js.map +1 -1
- package/dist/modules/skills/pending-skills.service.d.ts +6 -11
- package/dist/modules/skills/pending-skills.service.d.ts.map +1 -1
- package/dist/modules/skills/pending-skills.service.js +18 -70
- package/dist/modules/skills/pending-skills.service.js.map +1 -1
- package/dist/modules/skills/skill-access-requests.routes.d.ts.map +1 -1
- package/dist/modules/skills/skill-access-requests.routes.js +9 -6
- package/dist/modules/skills/skill-access-requests.routes.js.map +1 -1
- package/dist/modules/skills/skills.contract.d.ts +44 -10
- package/dist/modules/skills/skills.contract.d.ts.map +1 -1
- package/dist/modules/skills/skills.routes.d.ts +8 -1
- package/dist/modules/skills/skills.routes.d.ts.map +1 -1
- package/dist/modules/skills/skills.routes.js +16 -2
- package/dist/modules/skills/skills.routes.js.map +1 -1
- package/dist/modules/skills/skills.service.d.ts +31 -7
- package/dist/modules/skills/skills.service.d.ts.map +1 -1
- package/dist/modules/skills/skills.service.js +191 -81
- package/dist/modules/skills/skills.service.js.map +1 -1
- package/dist/modules/skills/skills.tools.d.ts +4 -1
- package/dist/modules/skills/skills.tools.d.ts.map +1 -1
- package/dist/modules/skills/skills.tools.js +41 -6
- package/dist/modules/skills/skills.tools.js.map +1 -1
- package/dist/modules/tool-auth/connection-key-rejection.d.ts +18 -0
- package/dist/modules/tool-auth/connection-key-rejection.d.ts.map +1 -0
- package/dist/modules/tool-auth/connection-key-rejection.js +20 -0
- package/dist/modules/tool-auth/connection-key-rejection.js.map +1 -0
- package/dist/modules/tool-auth/connection-keys-admin.routes.d.ts +14 -0
- package/dist/modules/tool-auth/connection-keys-admin.routes.d.ts.map +1 -0
- package/dist/modules/tool-auth/connection-keys-admin.routes.js +67 -0
- package/dist/modules/tool-auth/connection-keys-admin.routes.js.map +1 -0
- package/dist/modules/tool-auth/external-api-key.interface.d.ts +51 -3
- package/dist/modules/tool-auth/external-api-key.interface.d.ts.map +1 -1
- package/dist/modules/tool-auth/external-api-key.interface.js.map +1 -1
- package/dist/modules/tool-auth/external-api-key.service.d.ts +16 -6
- package/dist/modules/tool-auth/external-api-key.service.d.ts.map +1 -1
- package/dist/modules/tool-auth/external-api-key.service.js +61 -18
- package/dist/modules/tool-auth/external-api-key.service.js.map +1 -1
- package/dist/modules/tool-auth/internal-token.service.d.ts +5 -2
- package/dist/modules/tool-auth/internal-token.service.d.ts.map +1 -1
- package/dist/modules/tool-auth/internal-token.service.js +5 -2
- package/dist/modules/tool-auth/internal-token.service.js.map +1 -1
- package/dist/modules/tool-auth/key-or-session.middleware.d.ts +23 -0
- package/dist/modules/tool-auth/key-or-session.middleware.d.ts.map +1 -0
- package/dist/modules/tool-auth/key-or-session.middleware.js +39 -0
- package/dist/modules/tool-auth/key-or-session.middleware.js.map +1 -0
- package/dist/modules/tool-auth/tool-auth.middleware.d.ts +7 -1
- package/dist/modules/tool-auth/tool-auth.middleware.d.ts.map +1 -1
- package/dist/modules/tool-auth/tool-auth.middleware.js +8 -5
- package/dist/modules/tool-auth/tool-auth.middleware.js.map +1 -1
- package/dist/modules/tool-helpers/tool-context.d.ts +14 -0
- package/dist/modules/tool-helpers/tool-context.d.ts.map +1 -1
- package/dist/modules/tool-helpers/tool-context.js +28 -6
- package/dist/modules/tool-helpers/tool-context.js.map +1 -1
- package/dist/modules/tool-helpers/tool-handler.d.ts.map +1 -1
- package/dist/modules/tool-helpers/tool-handler.js +22 -5
- package/dist/modules/tool-helpers/tool-handler.js.map +1 -1
- package/dist/modules/tool-helpers/tool.contract.d.ts +6 -1
- package/dist/modules/tool-helpers/tool.contract.d.ts.map +1 -1
- package/dist/modules/tool-helpers/tool.contract.js +7 -1
- package/dist/modules/tool-helpers/tool.contract.js.map +1 -1
- package/dist/modules/tool-manuals/index.d.ts +2 -1
- package/dist/modules/tool-manuals/index.d.ts.map +1 -1
- package/dist/modules/tool-manuals/index.js +1 -0
- package/dist/modules/tool-manuals/index.js.map +1 -1
- package/dist/modules/tool-manuals/mcp-json-discovery.d.ts.map +1 -1
- package/dist/modules/tool-manuals/mcp-json-discovery.js +8 -6
- package/dist/modules/tool-manuals/mcp-json-discovery.js.map +1 -1
- package/dist/modules/tool-manuals/mcp-server-edit.service.d.ts +10 -2
- package/dist/modules/tool-manuals/mcp-server-edit.service.d.ts.map +1 -1
- package/dist/modules/tool-manuals/mcp-server-edit.service.js +12 -15
- package/dist/modules/tool-manuals/mcp-server-edit.service.js.map +1 -1
- package/dist/modules/tool-manuals/pending-tools.service.d.ts +50 -0
- package/dist/modules/tool-manuals/pending-tools.service.d.ts.map +1 -0
- package/dist/modules/tool-manuals/pending-tools.service.js +149 -0
- package/dist/modules/tool-manuals/pending-tools.service.js.map +1 -0
- package/dist/modules/tool-manuals/tool-delete.service.d.ts +135 -0
- package/dist/modules/tool-manuals/tool-delete.service.d.ts.map +1 -0
- package/dist/modules/tool-manuals/tool-delete.service.js +303 -0
- package/dist/modules/tool-manuals/tool-delete.service.js.map +1 -0
- package/dist/modules/tool-manuals/tool-manuals.contract.d.ts +161 -0
- package/dist/modules/tool-manuals/tool-manuals.contract.d.ts.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.contract.js +9 -0
- package/dist/modules/tool-manuals/tool-manuals.contract.js.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.routes.d.ts +19 -2
- package/dist/modules/tool-manuals/tool-manuals.routes.d.ts.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.routes.js +127 -57
- package/dist/modules/tool-manuals/tool-manuals.routes.js.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.service.d.ts +119 -5
- package/dist/modules/tool-manuals/tool-manuals.service.d.ts.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.service.js +404 -74
- package/dist/modules/tool-manuals/tool-manuals.service.js.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.tools.d.ts.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.tools.js +78 -6
- package/dist/modules/tool-manuals/tool-manuals.tools.js.map +1 -1
- package/dist/modules/workflow/agent-tools/workflow.tools.d.ts.map +1 -1
- package/dist/modules/workflow/agent-tools/workflow.tools.js +88 -54
- package/dist/modules/workflow/agent-tools/workflow.tools.js.map +1 -1
- package/dist/modules/workflow/event-bus.d.ts +10 -4
- package/dist/modules/workflow/event-bus.d.ts.map +1 -1
- package/dist/modules/workflow/event-bus.js +14 -11
- package/dist/modules/workflow/event-bus.js.map +1 -1
- package/dist/modules/workflow/events.routes.d.ts +17 -2
- package/dist/modules/workflow/events.routes.d.ts.map +1 -1
- package/dist/modules/workflow/events.routes.js +31 -12
- package/dist/modules/workflow/events.routes.js.map +1 -1
- package/dist/modules/workflow/file-lock.service.d.ts +22 -4
- package/dist/modules/workflow/file-lock.service.d.ts.map +1 -1
- package/dist/modules/workflow/file-lock.service.js +27 -4
- package/dist/modules/workflow/file-lock.service.js.map +1 -1
- package/dist/modules/workflow/git/change-request-link.d.ts +20 -0
- package/dist/modules/workflow/git/change-request-link.d.ts.map +1 -0
- package/dist/modules/workflow/git/change-request-link.js +34 -0
- package/dist/modules/workflow/git/change-request-link.js.map +1 -0
- package/dist/modules/workflow/git/git-version.d.ts.map +1 -1
- package/dist/modules/workflow/git/git-version.js +3 -1
- package/dist/modules/workflow/git/git-version.js.map +1 -1
- package/dist/modules/workflow/git/git.service.d.ts +263 -4
- package/dist/modules/workflow/git/git.service.d.ts.map +1 -1
- package/dist/modules/workflow/git/git.service.js +528 -118
- package/dist/modules/workflow/git/git.service.js.map +1 -1
- package/dist/modules/workflow/git/node-git-runner.d.ts +36 -0
- package/dist/modules/workflow/git/node-git-runner.d.ts.map +1 -0
- package/dist/modules/workflow/git/node-git-runner.js +273 -0
- package/dist/modules/workflow/git/node-git-runner.js.map +1 -0
- package/dist/modules/workflow/git/pull-request.service.d.ts +51 -2
- package/dist/modules/workflow/git/pull-request.service.d.ts.map +1 -1
- package/dist/modules/workflow/git/pull-request.service.js +157 -25
- package/dist/modules/workflow/git/pull-request.service.js.map +1 -1
- package/dist/modules/workflow/pending-commits.service.d.ts +11 -0
- package/dist/modules/workflow/pending-commits.service.d.ts.map +1 -1
- package/dist/modules/workflow/pending-commits.service.js +24 -4
- package/dist/modules/workflow/pending-commits.service.js.map +1 -1
- package/dist/modules/workflow/pending-commits.worker.d.ts +15 -8
- package/dist/modules/workflow/pending-commits.worker.d.ts.map +1 -1
- package/dist/modules/workflow/pending-commits.worker.js +107 -58
- package/dist/modules/workflow/pending-commits.worker.js.map +1 -1
- package/dist/modules/workflow/recovery-bot.d.ts.map +1 -1
- package/dist/modules/workflow/recovery-bot.js +3 -1
- package/dist/modules/workflow/recovery-bot.js.map +1 -1
- package/dist/modules/workflow/review-workflow/approval-lock.d.ts +60 -0
- package/dist/modules/workflow/review-workflow/approval-lock.d.ts.map +1 -0
- package/dist/modules/workflow/review-workflow/approval-lock.js +116 -0
- package/dist/modules/workflow/review-workflow/approval-lock.js.map +1 -0
- package/dist/modules/workflow/review-workflow/review-workflow.interface.d.ts +54 -7
- package/dist/modules/workflow/review-workflow/review-workflow.interface.d.ts.map +1 -1
- package/dist/modules/workflow/review-workflow/review-workflow.service.d.ts +64 -0
- package/dist/modules/workflow/review-workflow/review-workflow.service.d.ts.map +1 -1
- package/dist/modules/workflow/review-workflow/review-workflow.service.js +269 -90
- package/dist/modules/workflow/review-workflow/review-workflow.service.js.map +1 -1
- package/dist/modules/workflow/sanitize-error.d.ts +5 -2
- package/dist/modules/workflow/sanitize-error.d.ts.map +1 -1
- package/dist/modules/workflow/sanitize-error.js +8 -4
- package/dist/modules/workflow/sanitize-error.js.map +1 -1
- package/dist/modules/workflow/workflow.routes.d.ts +2 -0
- package/dist/modules/workflow/workflow.routes.d.ts.map +1 -1
- package/dist/modules/workflow/workflow.routes.js +259 -29
- package/dist/modules/workflow/workflow.routes.js.map +1 -1
- package/dist/modules/workflow/workflow.service.d.ts +166 -14
- package/dist/modules/workflow/workflow.service.d.ts.map +1 -1
- package/dist/modules/workflow/workflow.service.js +906 -106
- package/dist/modules/workflow/workflow.service.js.map +1 -1
- package/dist/modules/workspace/empty-dirs.d.ts +15 -0
- package/dist/modules/workspace/empty-dirs.d.ts.map +1 -0
- package/dist/modules/workspace/empty-dirs.js +90 -0
- package/dist/modules/workspace/empty-dirs.js.map +1 -0
- package/dist/modules/workspace/file-readers/content-mode.d.ts +50 -0
- package/dist/modules/workspace/file-readers/content-mode.d.ts.map +1 -0
- package/dist/modules/workspace/file-readers/content-mode.js +55 -0
- package/dist/modules/workspace/file-readers/content-mode.js.map +1 -0
- package/dist/modules/workspace/file-readers/doc-extract.service.d.ts +4 -1
- package/dist/modules/workspace/file-readers/doc-extract.service.d.ts.map +1 -1
- package/dist/modules/workspace/file-readers/doc-extract.service.js +4 -1
- package/dist/modules/workspace/file-readers/doc-extract.service.js.map +1 -1
- package/dist/modules/workspace/file-readers/doc-extract.types.d.ts +5 -2
- package/dist/modules/workspace/file-readers/doc-extract.types.d.ts.map +1 -1
- package/dist/modules/workspace/file-readers/doc-extract.types.js +7 -4
- package/dist/modules/workspace/file-readers/doc-extract.types.js.map +1 -1
- package/dist/modules/workspace/file-readers/document-reader.d.ts +2 -0
- package/dist/modules/workspace/file-readers/document-reader.d.ts.map +1 -1
- package/dist/modules/workspace/file-readers/document-reader.js +5 -0
- package/dist/modules/workspace/file-readers/document-reader.js.map +1 -1
- package/dist/modules/workspace/file-readers/extract-docx.d.ts +6 -0
- package/dist/modules/workspace/file-readers/extract-docx.d.ts.map +1 -1
- package/dist/modules/workspace/file-readers/extract-docx.js +6 -0
- package/dist/modules/workspace/file-readers/extract-docx.js.map +1 -1
- package/dist/modules/workspace/file-readers/file-reader.d.ts +24 -5
- package/dist/modules/workspace/file-readers/file-reader.d.ts.map +1 -1
- package/dist/modules/workspace/file-readers/file-reader.js +11 -6
- package/dist/modules/workspace/file-readers/file-reader.js.map +1 -1
- package/dist/modules/workspace/file-readers/file-reader.registry.d.ts.map +1 -1
- package/dist/modules/workspace/file-readers/file-reader.registry.js +6 -1
- package/dist/modules/workspace/file-readers/file-reader.registry.js.map +1 -1
- package/dist/modules/workspace/file-readers/image-reader.d.ts +7 -5
- package/dist/modules/workspace/file-readers/image-reader.d.ts.map +1 -1
- package/dist/modules/workspace/file-readers/image-reader.js +9 -5
- package/dist/modules/workspace/file-readers/image-reader.js.map +1 -1
- package/dist/modules/workspace/file-readers/ooxml-text.d.ts +3 -0
- package/dist/modules/workspace/file-readers/ooxml-text.d.ts.map +1 -1
- package/dist/modules/workspace/file-readers/ooxml-text.js +39 -2
- package/dist/modules/workspace/file-readers/ooxml-text.js.map +1 -1
- package/dist/modules/workspace/file-readers/text-reader.d.ts +29 -1
- package/dist/modules/workspace/file-readers/text-reader.d.ts.map +1 -1
- package/dist/modules/workspace/file-readers/text-reader.js +57 -3
- package/dist/modules/workspace/file-readers/text-reader.js.map +1 -1
- package/dist/modules/workspace/git-internals.middleware.d.ts +28 -0
- package/dist/modules/workspace/git-internals.middleware.d.ts.map +1 -0
- package/dist/modules/workspace/git-internals.middleware.js +93 -0
- package/dist/modules/workspace/git-internals.middleware.js.map +1 -0
- package/dist/modules/workspace/not-found.d.ts +80 -0
- package/dist/modules/workspace/not-found.d.ts.map +1 -0
- package/dist/modules/workspace/not-found.js +112 -0
- package/dist/modules/workspace/not-found.js.map +1 -0
- package/dist/modules/workspace/session-ontology.gate.d.ts +1 -1
- package/dist/modules/workspace/session-ontology.gate.d.ts.map +1 -1
- package/dist/modules/workspace/session-ontology.gate.js +1 -1
- package/dist/modules/workspace/session-ontology.gate.js.map +1 -1
- package/dist/modules/workspace/startup/beside-checkout.d.ts +42 -0
- package/dist/modules/workspace/startup/beside-checkout.d.ts.map +1 -0
- package/dist/modules/workspace/startup/beside-checkout.js +110 -0
- package/dist/modules/workspace/startup/beside-checkout.js.map +1 -0
- package/dist/modules/workspace/startup/kb-git.d.ts +7 -12
- package/dist/modules/workspace/startup/kb-git.d.ts.map +1 -1
- package/dist/modules/workspace/startup/kb-git.js +34 -35
- package/dist/modules/workspace/startup/kb-git.js.map +1 -1
- package/dist/modules/workspace/startup/kb-startup-runner.d.ts +95 -0
- package/dist/modules/workspace/startup/kb-startup-runner.d.ts.map +1 -1
- package/dist/modules/workspace/startup/kb-startup-runner.js +257 -55
- package/dist/modules/workspace/startup/kb-startup-runner.js.map +1 -1
- package/dist/modules/workspace/startup/steps/groups-to-plugins.step.d.ts +45 -0
- package/dist/modules/workspace/startup/steps/groups-to-plugins.step.d.ts.map +1 -1
- package/dist/modules/workspace/startup/steps/groups-to-plugins.step.js +417 -385
- package/dist/modules/workspace/startup/steps/groups-to-plugins.step.js.map +1 -1
- package/dist/modules/workspace/startup/steps/personal-spaces.step.d.ts +48 -0
- package/dist/modules/workspace/startup/steps/personal-spaces.step.d.ts.map +1 -0
- package/dist/modules/workspace/startup/steps/personal-spaces.step.js +183 -0
- package/dist/modules/workspace/startup/steps/personal-spaces.step.js.map +1 -0
- package/dist/modules/workspace/startup/steps/plugin-display-names.step.d.ts +51 -0
- package/dist/modules/workspace/startup/steps/plugin-display-names.step.d.ts.map +1 -0
- package/dist/modules/workspace/startup/steps/plugin-display-names.step.js +158 -0
- package/dist/modules/workspace/startup/steps/plugin-display-names.step.js.map +1 -0
- package/dist/modules/workspace/startup/steps/plugin-layout.d.ts +64 -0
- package/dist/modules/workspace/startup/steps/plugin-layout.d.ts.map +1 -0
- package/dist/modules/workspace/startup/steps/plugin-layout.js +97 -0
- package/dist/modules/workspace/startup/steps/plugin-layout.js.map +1 -0
- package/dist/modules/workspace/startup/steps/plugin-manifests.step.d.ts +7 -1
- package/dist/modules/workspace/startup/steps/plugin-manifests.step.d.ts.map +1 -1
- package/dist/modules/workspace/startup/steps/plugin-manifests.step.js +45 -81
- package/dist/modules/workspace/startup/steps/plugin-manifests.step.js.map +1 -1
- package/dist/modules/workspace/startup/steps/roles-yaml.step.d.ts +3 -1
- package/dist/modules/workspace/startup/steps/roles-yaml.step.d.ts.map +1 -1
- package/dist/modules/workspace/startup/steps/roles-yaml.step.js +4 -12
- package/dist/modules/workspace/startup/steps/roles-yaml.step.js.map +1 -1
- package/dist/modules/workspace/startup/steps/seed-tree.d.ts +6 -1
- package/dist/modules/workspace/startup/steps/seed-tree.d.ts.map +1 -1
- package/dist/modules/workspace/startup/steps/seed-tree.js +154 -78
- package/dist/modules/workspace/startup/steps/seed-tree.js.map +1 -1
- package/dist/modules/workspace/startup/steps/template-files.step.d.ts +96 -24
- package/dist/modules/workspace/startup/steps/template-files.step.d.ts.map +1 -1
- package/dist/modules/workspace/startup/steps/template-files.step.js +446 -138
- package/dist/modules/workspace/startup/steps/template-files.step.js.map +1 -1
- package/dist/modules/workspace/startup/steps/template-source.d.ts +94 -0
- package/dist/modules/workspace/startup/steps/template-source.d.ts.map +1 -0
- package/dist/modules/workspace/startup/steps/template-source.js +160 -0
- package/dist/modules/workspace/startup/steps/template-source.js.map +1 -0
- package/dist/modules/workspace/workspace.routes.d.ts +14 -2
- package/dist/modules/workspace/workspace.routes.d.ts.map +1 -1
- package/dist/modules/workspace/workspace.routes.js +649 -238
- package/dist/modules/workspace/workspace.routes.js.map +1 -1
- package/dist/modules/workspace/workspace.service.d.ts +290 -12
- package/dist/modules/workspace/workspace.service.d.ts.map +1 -1
- package/dist/modules/workspace/workspace.service.js +924 -269
- package/dist/modules/workspace/workspace.service.js.map +1 -1
- package/dist/modules/workspace/workspace.tools.d.ts +42 -1
- package/dist/modules/workspace/workspace.tools.d.ts.map +1 -1
- package/dist/modules/workspace/workspace.tools.js +1590 -146
- package/dist/modules/workspace/workspace.tools.js.map +1 -1
- package/dist/modules/workspace/write-denial.d.ts +76 -0
- package/dist/modules/workspace/write-denial.d.ts.map +1 -0
- package/dist/modules/workspace/write-denial.js +138 -0
- package/dist/modules/workspace/write-denial.js.map +1 -0
- package/dist/shared/canonical-file-identity.d.ts +64 -0
- package/dist/shared/canonical-file-identity.d.ts.map +1 -0
- package/dist/shared/canonical-file-identity.js +92 -0
- package/dist/shared/canonical-file-identity.js.map +1 -0
- package/dist/shared/domain-errors.d.ts +108 -0
- package/dist/shared/domain-errors.d.ts.map +1 -1
- package/dist/shared/domain-errors.js +137 -0
- package/dist/shared/domain-errors.js.map +1 -1
- package/dist/shared/email-identity.d.ts +32 -0
- package/dist/shared/email-identity.d.ts.map +1 -0
- package/dist/shared/email-identity.js +37 -0
- package/dist/shared/email-identity.js.map +1 -0
- package/dist/shared/fs.contract.d.ts +206 -0
- package/dist/shared/fs.contract.d.ts.map +1 -0
- package/dist/shared/fs.contract.js +79 -0
- package/dist/shared/fs.contract.js.map +1 -0
- package/dist/shared/git-failure.d.ts +80 -0
- package/dist/shared/git-failure.d.ts.map +1 -0
- package/dist/shared/git-failure.js +139 -0
- package/dist/shared/git-failure.js.map +1 -0
- package/dist/shared/git-internals.d.ts +17 -0
- package/dist/shared/git-internals.d.ts.map +1 -0
- package/dist/shared/git-internals.js +123 -0
- package/dist/shared/git-internals.js.map +1 -0
- package/dist/shared/git.contract.d.ts +157 -0
- package/dist/shared/git.contract.d.ts.map +1 -0
- package/dist/shared/git.contract.js +103 -0
- package/dist/shared/git.contract.js.map +1 -0
- package/dist/shared/http-errors.d.ts +33 -0
- package/dist/shared/http-errors.d.ts.map +1 -0
- package/dist/shared/http-errors.js +35 -0
- package/dist/shared/http-errors.js.map +1 -0
- package/dist/shared/logger.contract.d.ts +63 -0
- package/dist/shared/logger.contract.d.ts.map +1 -0
- package/dist/shared/logger.contract.js +126 -0
- package/dist/shared/logger.contract.js.map +1 -0
- package/dist/shared/logging.d.ts +31 -0
- package/dist/shared/logging.d.ts.map +1 -0
- package/dist/shared/logging.js +92 -0
- package/dist/shared/logging.js.map +1 -0
- package/dist/shared/path-containment.d.ts +21 -0
- package/dist/shared/path-containment.d.ts.map +1 -0
- package/dist/shared/path-containment.js +34 -0
- package/dist/shared/path-containment.js.map +1 -0
- package/dist/shared/pending-proposals.d.ts +71 -0
- package/dist/shared/pending-proposals.d.ts.map +1 -0
- package/dist/shared/pending-proposals.js +98 -0
- package/dist/shared/pending-proposals.js.map +1 -0
- package/dist/shared/printable.d.ts +22 -0
- package/dist/shared/printable.d.ts.map +1 -0
- package/dist/shared/printable.js +65 -0
- package/dist/shared/printable.js.map +1 -0
- package/dist/shared/redact-secret.d.ts +30 -0
- package/dist/shared/redact-secret.d.ts.map +1 -0
- package/dist/shared/redact-secret.js +114 -0
- package/dist/shared/redact-secret.js.map +1 -0
- package/dist/shared/rename-no-replace.d.ts +119 -0
- package/dist/shared/rename-no-replace.d.ts.map +1 -0
- package/dist/shared/rename-no-replace.js +323 -0
- package/dist/shared/rename-no-replace.js.map +1 -0
- package/dist/shared/ssrf.d.ts.map +1 -1
- package/dist/shared/ssrf.js +49 -18
- package/dist/shared/ssrf.js.map +1 -1
- package/dist/version.d.ts +10 -6
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +10 -6
- package/dist/version.js.map +1 -1
- package/kb-template/.bevelignore +4 -3
- package/kb-template/AGENTS.md +281 -36
- package/kb-template/KnowledgeBase/How to get started.md +1 -1
- package/kb-template/access.md +5 -3
- package/kb-template/mcp-description.md +27 -0
- package/migrations/0006_api_tokens_revoked_by.sql +1 -0
- package/migrations/0007_github_facade_registered.sql +1 -0
- package/migrations/0008_change_request_apply_failure.sql +4 -0
- package/migrations/0009_change_request_apply_failure_kind.sql +13 -0
- package/migrations/0010_plugin_join_requests.sql +15 -0
- package/migrations/0011_plugin_join_request_claim.sql +11 -0
- package/migrations/meta/0006_snapshot.json +1723 -0
- package/migrations/meta/0007_snapshot.json +1729 -0
- package/migrations/meta/0008_snapshot.json +1753 -0
- package/migrations/meta/0009_snapshot.json +1759 -0
- package/migrations/meta/0010_snapshot.json +1872 -0
- package/migrations/meta/0011_snapshot.json +1884 -0
- package/migrations/meta/_journal.json +42 -0
- package/package.json +6 -5
- package/src/__tests__/core-config.domain.test.ts +67 -2
- package/src/__tests__/kb-layout-config.test.ts +186 -1
- package/src/__tests__/open-change-gate.ts +15 -0
- package/src/core/__tests__/catalog-cache-invalidation.test.ts +83 -3
- package/src/core/__tests__/catalog-revision.test.ts +190 -0
- package/src/core/__tests__/lifecycle.test.ts +369 -0
- package/src/core/__tests__/public-config.test.ts +30 -0
- package/src/core/__tests__/readiness.test.ts +109 -0
- package/src/core/catalog-cache-invalidation.ts +20 -1
- package/src/core/catalog-revision.ts +110 -0
- package/src/core/create-core-server.ts +258 -79
- package/src/core/create-core-services.ts +302 -81
- package/src/core/lifecycle.ts +312 -0
- package/src/core/public-config.ts +86 -0
- package/src/core/readiness.ts +123 -0
- package/src/core-config.ts +70 -4
- package/src/index.ts +15 -0
- package/src/modules/access/__tests__/access-control.admin-root-floor.test.ts +362 -0
- package/src/modules/access/__tests__/access-control.atref-batch.test.ts +2 -1
- package/src/modules/access/__tests__/access-control.atref-cache.test.ts +46 -22
- package/src/modules/access/__tests__/access-control.deny-dependents.test.ts +215 -0
- package/src/modules/access/__tests__/access-control.download-read.test.ts +268 -0
- package/src/modules/access/__tests__/access-control.everyone-read.test.ts +145 -0
- package/src/modules/access/__tests__/access-control.group-read.test.ts +163 -0
- package/src/modules/access/__tests__/access-control.invalidate-race.test.ts +2 -0
- package/src/modules/access/__tests__/access-control.platform-restore.test.ts +152 -0
- package/src/modules/access/__tests__/access-control.prospective.test.ts +189 -0
- package/src/modules/access/__tests__/access-control.read-batch.test.ts +2 -1
- package/src/modules/access/__tests__/access-control.service.test.ts +123 -78
- package/src/modules/access/__tests__/access-groups.test.ts +47 -14
- package/src/modules/access/__tests__/access-md-format.test.ts +2 -1
- package/src/modules/access/__tests__/access-mutation.service.test.ts +52 -4
- package/src/modules/access/__tests__/access-own-read-grant.test.ts +2 -0
- package/src/modules/access/__tests__/access-personal-plugin.test.ts +153 -0
- package/src/modules/access/__tests__/access-plugin-principals.test.ts +18 -1
- package/src/modules/access/__tests__/access-restrict-here.test.ts +450 -0
- package/src/modules/access/__tests__/access.routes.batch.test.ts +139 -0
- package/src/modules/access/__tests__/access.routes.folder-governs.test.ts +394 -0
- package/src/modules/access/__tests__/access.routes.group-grant.test.ts +6 -2
- package/src/modules/access/__tests__/access.routes.overrides.test.ts +3 -2
- package/src/modules/access/__tests__/access.routes.proposal-branch.test.ts +234 -0
- package/src/modules/access/__tests__/access.routes.prospective.test.ts +216 -0
- package/src/modules/access/__tests__/access.routes.revoke.test.ts +7 -2
- package/src/modules/access/__tests__/access.routes.unknown-email.test.ts +360 -0
- package/src/modules/access/__tests__/change-read-gate.test.ts +272 -0
- package/src/modules/access/__tests__/creator-access.test.ts +81 -83
- package/src/modules/access/__tests__/grant-sources.test.ts +3 -2
- package/src/modules/access/__tests__/groups-admin.service.test.ts +6 -5
- package/src/modules/access/__tests__/roles-admin.security.test.ts +196 -0
- package/src/modules/access/__tests__/roles-admin.service.test.ts +127 -2
- package/src/modules/access/__tests__/roles-capabilities.test.ts +5 -4
- package/src/modules/access/__tests__/roles.routes.test.ts +5 -2
- package/src/modules/access/__tests__/user-access-removal.service.test.ts +402 -0
- package/src/modules/access/__tests__/users-db-double.ts +63 -0
- package/src/modules/access/access-control.interface.ts +251 -11
- package/src/modules/access/access-control.service.ts +719 -164
- package/src/modules/access/access-mutation.service.ts +182 -13
- package/src/modules/access/access-view.ts +316 -0
- package/src/modules/access/access.routes.ts +293 -95
- package/src/modules/access/admin-locked-commit.ts +12 -14
- package/src/modules/access/admin-route-helpers.ts +4 -4
- package/src/modules/access/change-read-gate.ts +148 -0
- package/src/modules/access/creator-access.ts +89 -124
- package/src/modules/access/directory-sync-bot.ts +4 -1
- package/src/modules/access/groups-admin.service.ts +3 -3
- package/src/modules/access/reference-scan.ts +5 -5
- package/src/modules/access/roles-admin.service.ts +94 -15
- package/src/modules/access/synced-groups-committer.ts +10 -15
- package/src/modules/access/synced-groups-writer.ts +3 -12
- package/src/modules/access/user-access-removal.service.ts +711 -0
- package/src/modules/access-model/__tests__/access-splice.test.ts +63 -1
- package/src/modules/access-model/__tests__/frontmatter-fences.test.ts +71 -0
- package/src/modules/access-model/__tests__/roles-yaml-guard.test.ts +131 -0
- package/src/modules/access-model/access-errors.ts +56 -15
- package/src/modules/access-model/access-grammar.ts +85 -48
- package/src/modules/access-model/access-splice.ts +18 -18
- package/src/modules/access-model/access-template.ts +44 -0
- package/src/modules/access-model/change-gate.ts +80 -0
- package/src/modules/access-model/creator.ts +18 -21
- package/src/modules/access-model/frontmatter-lines.ts +98 -0
- package/src/modules/access-model/plugin-principals.ts +12 -19
- package/src/modules/access-model/roles-yaml-guard.ts +182 -4
- package/src/modules/admin/admin-access.service.ts +6 -2
- package/src/modules/agent-instructions/__tests__/agent-instructions.route.test.ts +100 -0
- package/src/modules/agent-instructions/__tests__/compose.test.ts +256 -0
- package/src/modules/agent-instructions/__tests__/read-preamble.test.ts +135 -0
- package/src/modules/agent-instructions/agent-instructions.routes.ts +41 -0
- package/src/modules/agent-instructions/compose.ts +271 -0
- package/src/modules/agent-instructions/index.ts +14 -0
- package/src/modules/agent-instructions/read-preamble.ts +88 -0
- package/src/modules/auth/__tests__/account-erasure.approval-gate.test.ts +209 -0
- package/src/modules/auth/__tests__/account.routes.test.ts +178 -2
- package/src/modules/auth/__tests__/auth.middleware.test.ts +78 -0
- package/src/modules/auth/__tests__/auth.service.test.ts +338 -5
- package/src/modules/auth/__tests__/oidc-auth-provider.test.ts +352 -12
- package/src/modules/auth/__tests__/onboarding-done.route.test.ts +3 -1
- package/src/modules/auth/account-erasure.service.ts +117 -10
- package/src/modules/auth/account.routes.ts +115 -14
- package/src/modules/auth/auth.routes.ts +20 -7
- package/src/modules/auth/auth.service.ts +187 -28
- package/src/modules/auth/oidc-auth-provider.ts +120 -22
- package/src/modules/code-mode/__tests__/code-mode.tool.test.ts +109 -1
- package/src/modules/code-mode/code-mode.tool.ts +13 -2
- package/src/modules/connection-probe/__tests__/connection-probe.service.test.ts +78 -0
- package/src/modules/connection-probe/connection-probe.service.ts +59 -7
- package/src/modules/database/__tests__/advisory-lease.test.ts +152 -0
- package/src/modules/database/__tests__/advisory-lock.test.ts +147 -0
- package/src/modules/database/advisory-lock.ts +346 -0
- package/src/modules/database/connection.ts +9 -1
- package/src/modules/database/core-schema.ts +123 -0
- package/src/modules/database/migrate.ts +27 -6
- package/src/modules/declared-variables/declared-variables.routes.ts +6 -3
- package/src/modules/diff/__tests__/diff.service.seed-atomicity.test.ts +3 -0
- package/src/modules/diff/__tests__/diff.service.test.ts +3 -0
- package/src/modules/diff/diff.routes.ts +2 -4
- package/src/modules/diff/diff.service.ts +75 -79
- package/src/modules/kb-fs/__tests__/locking-filesystem.test.ts +472 -9
- package/src/modules/kb-fs/__tests__/node-fs.test.ts +409 -0
- package/src/modules/kb-fs/__tests__/repo-path.test.ts +210 -1
- package/src/modules/{workspace → kb-fs}/bevel-ignore.ts +22 -15
- package/src/modules/kb-fs/file-change-notifier.ts +4 -1
- package/src/modules/kb-fs/git-guarded-filesystem.ts +123 -0
- package/src/modules/kb-fs/locking-filesystem.ts +399 -109
- package/src/modules/kb-fs/node-fs.ts +165 -0
- package/src/modules/kb-fs/read-only-filesystem.ts +18 -9
- package/src/modules/kb-fs/repo-path.ts +213 -3
- package/src/modules/kb-sync/kb-sync.routes.ts +5 -2
- package/src/modules/kb-sync/kb-sync.service.ts +8 -5
- package/src/modules/marketplace/__tests__/github-facade.test.ts +134 -2
- package/src/modules/marketplace/__tests__/marketplace-git.test.ts +2 -1
- package/src/modules/marketplace/__tests__/marketplace-repo.head.test.ts +47 -0
- package/src/modules/marketplace/git-http.routes.ts +7 -4
- package/src/modules/marketplace/github-facade/github-facade-admin.routes.ts +35 -3
- package/src/modules/marketplace/github-facade/github-facade-credentials.service.ts +55 -0
- package/src/modules/marketplace/github-facade/github-facade.routes.ts +32 -6
- package/src/modules/marketplace/github-facade/github-facade.service.ts +80 -19
- package/src/modules/marketplace/github-facade/index.ts +1 -0
- package/src/modules/marketplace/marketplace-repo.service.ts +23 -8
- package/src/modules/mcp/__tests__/downstream-pool.test.ts +278 -0
- package/src/modules/mcp/__tests__/downstream-token-refresh.test.ts +178 -0
- package/src/modules/mcp/__tests__/fake-downstream-mcp-server.ts +156 -0
- package/src/modules/mcp/__tests__/first-call-probe.cli-args.test.ts +178 -0
- package/src/modules/mcp/__tests__/first-call-probe.test.ts +414 -0
- package/src/modules/mcp/__tests__/manual-failure-memo.test.ts +98 -6
- package/src/modules/mcp/__tests__/mcp-auth.middleware.test.ts +8 -5
- package/src/modules/mcp/__tests__/mcp-routes-harness.ts +1 -3
- package/src/modules/mcp/__tests__/mcp.e2e.test.ts +1055 -59
- package/src/modules/mcp/__tests__/mcp.routes.stateless.test.ts +182 -0
- package/src/modules/mcp/__tests__/mcp.service.test.ts +274 -6
- package/src/modules/mcp/__tests__/surface-log-throttle.test.ts +169 -0
- package/src/modules/mcp/downstream-pool.ts +256 -0
- package/src/modules/mcp/downstream-token-refresh.ts +170 -0
- package/src/modules/mcp/first-call-probe.cli-args.ts +159 -0
- package/src/modules/mcp/first-call-probe.cli.ts +60 -0
- package/src/modules/mcp/first-call-probe.ts +418 -0
- package/src/modules/mcp/manual-failure-memo.ts +81 -23
- package/src/modules/mcp/mcp-auth.middleware.ts +25 -16
- package/src/modules/mcp/mcp.routes.ts +376 -482
- package/src/modules/mcp/mcp.service.ts +846 -176
- package/src/modules/mcp/oauth/bevel-oauth-provider.ts +5 -2
- package/src/modules/mcp/oauth/oauth-consent.routes.ts +4 -4
- package/src/modules/mcp/surface-log-throttle.ts +120 -0
- package/src/modules/plugins/__tests__/bundle-dialect.e2e.test.ts +10 -7
- package/src/modules/plugins/__tests__/bundle-dialect.test.ts +165 -0
- package/src/modules/plugins/__tests__/compile-marketplace.test.ts +139 -10
- package/src/modules/plugins/__tests__/fake-join-request-store.ts +189 -0
- package/src/modules/plugins/__tests__/join-request-jobs.service.test.ts +608 -0
- package/src/modules/plugins/__tests__/plugin-creation-display-name.test.ts +241 -0
- package/src/modules/plugins/__tests__/plugin-index.service.test.ts +148 -7
- package/src/modules/plugins/__tests__/plugin-links.service.test.ts +10 -13
- package/src/modules/plugins/__tests__/plugin-names.test.ts +77 -0
- package/src/modules/plugins/__tests__/plugin-provision.service.test.ts +129 -19
- package/src/modules/plugins/__tests__/plugin-rename.service.test.ts +91 -29
- package/src/modules/plugins/__tests__/plugins.routes.test.ts +370 -19
- package/src/modules/plugins/__tests__/plugins.tools.test.ts +131 -0
- package/src/modules/plugins/__tests__/teams.routes.test.ts +248 -0
- package/src/modules/plugins/compile/compile-marketplace.ts +143 -46
- package/src/modules/plugins/compile/marketplace-compiler.service.ts +8 -7
- package/src/modules/plugins/discovery/__tests__/kb-plugin-source.test.ts +56 -20
- package/src/modules/plugins/discovery/bundle-dialect/bundle.source.ts +30 -9
- package/src/modules/plugins/discovery/bundle-dialect/registry.ts +93 -18
- package/src/modules/plugins/discovery/kb-plugin-source.ts +10 -7
- package/src/modules/plugins/discovery/native.source.ts +21 -3
- package/src/modules/plugins/discovery/plugin-source.ts +17 -3
- package/src/modules/plugins/index.ts +16 -3
- package/src/modules/plugins/join-request-jobs.service.ts +675 -0
- package/src/modules/plugins/join-request-records.store.ts +353 -0
- package/src/modules/plugins/join-requests.service.ts +7 -4
- package/src/modules/plugins/plugin-links.service.ts +4 -17
- package/src/modules/plugins/plugin-links.ts +6 -3
- package/src/modules/plugins/plugin-provision.service.ts +209 -37
- package/src/modules/plugins/plugin-rename.service.ts +21 -9
- package/src/modules/plugins/plugins.contract.ts +52 -4
- package/src/modules/plugins/plugins.routes.ts +204 -124
- package/src/modules/plugins/plugins.service.ts +92 -18
- package/src/modules/plugins/plugins.tools.ts +88 -0
- package/src/modules/plugins/teams.routes.ts +129 -0
- package/src/modules/secrets-vault/__tests__/connect-pending.route.test.ts +359 -15
- package/src/modules/secrets-vault/__tests__/db-secrets-vault.oauth.test.ts +248 -0
- package/src/modules/secrets-vault/__tests__/namespace-secrets.test.ts +202 -0
- package/src/modules/secrets-vault/db-secrets-vault.service.ts +217 -35
- package/src/modules/secrets-vault/index.ts +1 -0
- package/src/modules/secrets-vault/mcp-oauth-discovery.service.ts +6 -3
- package/src/modules/secrets-vault/secrets-variable-loader.ts +4 -4
- package/src/modules/secrets-vault/secrets-vault.contract.ts +93 -0
- package/src/modules/secrets-vault/secrets-vault.routes.ts +99 -38
- package/src/modules/settings/__tests__/connection-check.test.ts +233 -0
- package/src/modules/settings/__tests__/deployment-settings.service.test.ts +188 -6
- package/src/modules/settings/__tests__/git-root-folders.test.ts +247 -0
- package/src/modules/settings/__tests__/oidc-check.test.ts +185 -0
- package/src/modules/settings/__tests__/setup.routes.boot-failure.test.ts +119 -0
- package/src/modules/settings/__tests__/setup.routes.layout-phase.test.ts +170 -0
- package/src/modules/settings/__tests__/setup.routes.oidc.test.ts +555 -0
- package/src/modules/settings/__tests__/setup.routes.test.ts +667 -16
- package/src/modules/settings/connection-check.ts +351 -0
- package/src/modules/settings/deployment-settings.service.ts +403 -57
- package/src/modules/settings/git-root-folders.ts +171 -0
- package/src/modules/settings/oidc-check.ts +229 -0
- package/src/modules/settings/setup.routes.ts +456 -110
- package/src/modules/skills/__tests__/allowed-tools-check.test.ts +224 -0
- package/src/modules/skills/__tests__/allowed-tools-warn.tools.test.ts +210 -0
- package/src/modules/skills/__tests__/pending-skills.service.test.ts +3 -3
- package/src/modules/skills/__tests__/skills.routes.warnings.test.ts +91 -0
- package/src/modules/skills/__tests__/skills.service.test.ts +223 -2
- package/src/modules/skills/allowed-tools-check.ts +352 -0
- package/src/modules/skills/index.ts +4 -0
- package/src/modules/skills/pending-skills.service.ts +21 -82
- package/src/modules/skills/skill-access-requests.routes.ts +10 -6
- package/src/modules/skills/skills.contract.ts +43 -11
- package/src/modules/skills/skills.routes.ts +16 -1
- package/src/modules/skills/skills.service.ts +214 -84
- package/src/modules/skills/skills.tools.ts +43 -5
- package/src/modules/tool-auth/__tests__/connection-key-rejection.test.ts +192 -0
- package/src/modules/tool-auth/__tests__/connection-keys-admin.routes.test.ts +116 -0
- package/src/modules/tool-auth/__tests__/external-api-key.service.test.ts +124 -0
- package/src/modules/tool-auth/connection-key-rejection.ts +25 -0
- package/src/modules/tool-auth/connection-keys-admin.routes.ts +76 -0
- package/src/modules/tool-auth/external-api-key.interface.ts +56 -3
- package/src/modules/tool-auth/external-api-key.service.ts +73 -25
- package/src/modules/tool-auth/internal-token.service.ts +5 -2
- package/src/modules/tool-auth/key-or-session.middleware.ts +45 -0
- package/src/modules/tool-auth/tool-auth.middleware.ts +16 -7
- package/src/modules/tool-helpers/__tests__/agent-roles-write.test.ts +228 -0
- package/src/modules/tool-helpers/__tests__/phase4-tools.test.ts +33 -4
- package/src/modules/tool-helpers/tool-context.ts +46 -7
- package/src/modules/tool-helpers/tool-handler.ts +23 -5
- package/src/modules/tool-helpers/tool.contract.ts +5 -0
- package/src/modules/tool-manuals/__tests__/mcp-server-edit.service.test.ts +2 -1
- package/src/modules/tool-manuals/__tests__/pending-tools.service.test.ts +411 -0
- package/src/modules/tool-manuals/__tests__/tool-delete.route.test.ts +133 -0
- package/src/modules/tool-manuals/__tests__/tool-delete.service.test.ts +469 -0
- package/src/modules/tool-manuals/__tests__/tool-manuals.archive.route.test.ts +21 -2
- package/src/modules/tool-manuals/__tests__/tool-manuals.cli.test.ts +9 -4
- package/src/modules/tool-manuals/__tests__/tool-manuals.detail.route.test.ts +6 -1
- package/src/modules/tool-manuals/__tests__/tool-manuals.invalid.routes.test.ts +254 -0
- package/src/modules/tool-manuals/__tests__/tool-manuals.invalid.test.ts +577 -0
- package/src/modules/tool-manuals/__tests__/tool-manuals.mcp-oauth.test.ts +6 -1
- package/src/modules/tool-manuals/__tests__/tool-manuals.pending.route.test.ts +102 -0
- package/src/modules/tool-manuals/__tests__/tool-manuals.restart.test.ts +285 -0
- package/src/modules/tool-manuals/__tests__/tool-manuals.service.test.ts +178 -2
- package/src/modules/tool-manuals/__tests__/tool-manuals.tools.test.ts +114 -2
- package/src/modules/tool-manuals/index.ts +3 -0
- package/src/modules/tool-manuals/mcp-json-discovery.ts +13 -10
- package/src/modules/tool-manuals/mcp-server-edit.service.ts +11 -14
- package/src/modules/tool-manuals/pending-tools.service.ts +179 -0
- package/src/modules/tool-manuals/tool-delete.service.ts +401 -0
- package/src/modules/tool-manuals/tool-manuals.contract.ts +165 -0
- package/src/modules/tool-manuals/tool-manuals.routes.ts +138 -54
- package/src/modules/tool-manuals/tool-manuals.service.ts +432 -87
- package/src/modules/tool-manuals/tool-manuals.tools.ts +81 -6
- package/src/modules/workflow/__tests__/apply-failure.test.ts +1038 -0
- package/src/modules/workflow/__tests__/event-bus.test.ts +61 -9
- package/src/modules/workflow/__tests__/fake-file-lock-db.ts +199 -0
- package/src/modules/workflow/__tests__/file-lock.service.path-identity.test.ts +237 -0
- package/src/modules/workflow/__tests__/format-affected-owners.test.ts +18 -0
- package/src/modules/workflow/__tests__/merge-announces-tree.test.ts +220 -0
- package/src/modules/workflow/__tests__/pending-commits.worker.concurrency.test.ts +187 -0
- package/src/modules/workflow/__tests__/preserve-roles-yaml.test.ts +2 -0
- package/src/modules/workflow/__tests__/sanitize-error.test.ts +10 -0
- package/src/modules/workflow/__tests__/workflow.routes.folder-proposals.test.ts +128 -0
- package/src/modules/workflow/__tests__/workflow.routes.fork-point-file.test.ts +149 -0
- package/src/modules/workflow/__tests__/workflow.routes.lock-path.test.ts +305 -0
- package/src/modules/workflow/__tests__/workflow.service.branch-in-use.test.ts +2 -0
- package/src/modules/workflow/__tests__/workflow.service.commitFileWhileLocked.test.ts +2 -0
- package/src/modules/workflow/__tests__/workflow.service.deleted-branch-sweep.test.ts +2 -0
- package/src/modules/workflow/__tests__/workflow.service.facade.test.ts +294 -25
- package/src/modules/workflow/__tests__/workflow.service.folder-proposals.test.ts +564 -0
- package/src/modules/workflow/__tests__/workflow.service.platform-restore.test.ts +135 -0
- package/src/modules/workflow/__tests__/workflow.service.read-gate.test.ts +172 -0
- package/src/modules/workflow/__tests__/workflow.service.releaseLock.test.ts +14 -0
- package/src/modules/workflow/__tests__/workflow.service.sync.test.ts +5 -0
- package/src/modules/workflow/__tests__/workflow.service.update-from-target.test.ts +281 -0
- package/src/modules/workflow/agent-tools/__tests__/workflow.tools.test.ts +158 -7
- package/src/modules/workflow/agent-tools/workflow.tools.ts +93 -64
- package/src/modules/workflow/event-bus.ts +26 -28
- package/src/modules/workflow/events.routes.ts +56 -21
- package/src/modules/workflow/file-lock.service.ts +27 -4
- package/src/modules/workflow/git/__tests__/change-request-link.test.ts +43 -0
- package/src/modules/workflow/git/__tests__/git.service.accessGating.test.ts +1 -0
- package/src/modules/workflow/git/__tests__/git.service.changedFilesForPr.test.ts +238 -1
- package/src/modules/workflow/git/__tests__/git.service.forkPoint.test.ts +245 -0
- package/src/modules/workflow/git/__tests__/git.service.list-branches.test.ts +35 -0
- package/src/modules/workflow/git/__tests__/git.service.mergeChangeRequest.test.ts +149 -0
- package/src/modules/workflow/git/__tests__/git.service.revertPathsAndPush.test.ts +177 -0
- package/src/modules/workflow/git/__tests__/node-git-runner.test.ts +114 -0
- package/src/modules/workflow/git/__tests__/pull-request.service.getPrDetail.test.ts +69 -2
- package/src/modules/workflow/git/__tests__/pull-request.service.list-fetch.test.ts +121 -0
- package/src/modules/workflow/git/__tests__/pull-request.service.placeholder.test.ts +79 -0
- package/src/modules/workflow/git/__tests__/pull-request.service.test.ts +1 -1
- package/src/modules/workflow/git/__tests__/pull-request.service.viewer-can-cancel.test.ts +1 -1
- package/src/modules/workflow/git/__tests__/pull-request.service.viewer-can-update.test.ts +111 -0
- package/src/modules/workflow/git/change-request-link.ts +35 -0
- package/src/modules/workflow/git/git-version.ts +5 -2
- package/src/modules/workflow/git/git.service.ts +684 -144
- package/src/modules/workflow/git/node-git-runner.ts +315 -0
- package/src/modules/workflow/git/pull-request.service.ts +179 -27
- package/src/modules/workflow/pending-commits.service.ts +26 -7
- package/src/modules/workflow/pending-commits.worker.ts +114 -69
- package/src/modules/workflow/recovery-bot.ts +4 -1
- package/src/modules/workflow/review-workflow/__tests__/approval-states.test.ts +180 -1
- package/src/modules/workflow/review-workflow/__tests__/cancel-pr.test.ts +1 -1
- package/src/modules/workflow/review-workflow/__tests__/carry-approvals-forward.test.ts +520 -0
- package/src/modules/workflow/review-workflow/__tests__/erase-approver.test.ts +84 -0
- package/src/modules/workflow/review-workflow/__tests__/merge-gate.test.ts +89 -77
- package/src/modules/workflow/review-workflow/approval-lock.ts +122 -0
- package/src/modules/workflow/review-workflow/review-workflow.interface.ts +59 -7
- package/src/modules/workflow/review-workflow/review-workflow.service.ts +309 -105
- package/src/modules/workflow/sanitize-error.ts +9 -4
- package/src/modules/workflow/workflow.routes.ts +273 -29
- package/src/modules/workflow/workflow.service.ts +1087 -171
- package/src/modules/workspace/__tests__/empty-dirs.test.ts +44 -0
- package/src/modules/workspace/__tests__/file-stat-access.test.ts +301 -0
- package/src/modules/workspace/__tests__/git-internals.security.test.ts +792 -0
- package/src/modules/workspace/__tests__/workspace-paths-inside-the-repo.test.ts +464 -0
- package/src/modules/workspace/__tests__/workspace.routes.branch-errors.test.ts +139 -0
- package/src/modules/workspace/__tests__/workspace.routes.create-grant.test.ts +189 -37
- package/src/modules/workspace/__tests__/workspace.routes.delete.test.ts +51 -11
- package/src/modules/workspace/__tests__/workspace.routes.download-implies-read.test.ts +161 -0
- package/src/modules/workspace/__tests__/workspace.routes.download.test.ts +109 -10
- package/src/modules/workspace/__tests__/workspace.routes.file-writes.test.ts +624 -0
- package/src/modules/workspace/__tests__/workspace.routes.folders.test.ts +409 -0
- package/src/modules/workspace/__tests__/workspace.routes.move-platform-files.test.ts +327 -0
- package/src/modules/workspace/__tests__/workspace.routes.read-gate.test.ts +25 -6
- package/src/modules/workspace/__tests__/workspace.service.ensure-remotes-fetched.test.ts +109 -0
- package/src/modules/workspace/__tests__/workspace.service.list-cloned.test.ts +6 -5
- package/src/modules/workspace/__tests__/workspace.service.move-never-overwrites.test.ts +218 -0
- package/src/modules/workspace/__tests__/workspace.service.read-filter.test.ts +56 -1
- package/src/modules/workspace/__tests__/workspace.service.test.ts +811 -42
- package/src/modules/workspace/__tests__/workspace.service.unknown-branch.test.ts +197 -0
- package/src/modules/workspace/__tests__/workspace.tools.agents-file.test.ts +128 -0
- package/src/modules/workspace/__tests__/workspace.tools.branch-errors.test.ts +212 -0
- package/src/modules/workspace/__tests__/workspace.tools.test.ts +2632 -110
- package/src/modules/workspace/__tests__/write-denial.test.ts +75 -0
- package/src/modules/workspace/empty-dirs.ts +79 -0
- package/src/modules/workspace/file-readers/README.md +32 -0
- package/src/modules/workspace/file-readers/__tests__/doc-extract.test.ts +59 -2
- package/src/modules/workspace/file-readers/__tests__/file-reader.registry.test.ts +133 -4
- package/src/modules/workspace/file-readers/__tests__/fixtures/soft-break.docx +0 -0
- package/src/modules/workspace/file-readers/__tests__/fixtures/tab.docx +0 -0
- package/src/modules/workspace/file-readers/content-mode.ts +87 -0
- package/src/modules/workspace/file-readers/doc-extract.service.ts +4 -1
- package/src/modules/workspace/file-readers/doc-extract.types.ts +8 -4
- package/src/modules/workspace/file-readers/document-reader.ts +6 -0
- package/src/modules/workspace/file-readers/extract-docx.ts +6 -0
- package/src/modules/workspace/file-readers/file-reader.registry.ts +9 -1
- package/src/modules/workspace/file-readers/file-reader.ts +27 -6
- package/src/modules/workspace/file-readers/image-reader.ts +10 -5
- package/src/modules/workspace/file-readers/ooxml-text.ts +38 -2
- package/src/modules/workspace/file-readers/text-reader.ts +61 -4
- package/src/modules/workspace/git-internals.middleware.ts +86 -0
- package/src/modules/workspace/not-found.ts +119 -0
- package/src/modules/workspace/session-ontology.gate.ts +1 -1
- package/src/modules/workspace/startup/__tests__/beside-checkout.test.ts +181 -0
- package/src/modules/workspace/startup/__tests__/kb-startup-runner.degraded.test.ts +361 -0
- package/src/modules/workspace/startup/__tests__/kb-startup-runner.test.ts +53 -16
- package/src/modules/workspace/startup/beside-checkout.ts +112 -0
- package/src/modules/workspace/startup/kb-git.ts +43 -36
- package/src/modules/workspace/startup/kb-startup-runner.ts +303 -63
- package/src/modules/workspace/startup/steps/__tests__/steps.test.ts +1215 -73
- package/src/modules/workspace/startup/steps/groups-to-plugins.step.ts +460 -417
- package/src/modules/workspace/startup/steps/personal-spaces.step.ts +191 -0
- package/src/modules/workspace/startup/steps/plugin-display-names.step.ts +169 -0
- package/src/modules/workspace/startup/steps/plugin-layout.ts +110 -0
- package/src/modules/workspace/startup/steps/plugin-manifests.step.ts +46 -85
- package/src/modules/workspace/startup/steps/roles-yaml.step.ts +6 -12
- package/src/modules/workspace/startup/steps/seed-tree.ts +159 -78
- package/src/modules/workspace/startup/steps/template-files.step.ts +492 -141
- package/src/modules/workspace/startup/steps/template-source.ts +168 -0
- package/src/modules/workspace/workspace.routes.ts +687 -257
- package/src/modules/workspace/workspace.service.ts +991 -303
- package/src/modules/workspace/workspace.tools.ts +1787 -180
- package/src/modules/workspace/write-denial.ts +189 -0
- package/src/shared/__tests__/canonical-file-identity.test.ts +154 -0
- package/src/shared/__tests__/email-identity.test.ts +35 -0
- package/src/shared/__tests__/filename.test.ts +0 -0
- package/src/shared/__tests__/frontmatter-id.test.ts +5 -0
- package/src/shared/__tests__/git-failure.test.ts +198 -0
- package/src/shared/__tests__/git-internals.test.ts +115 -0
- package/src/shared/__tests__/http-errors.test.ts +42 -0
- package/src/shared/__tests__/logging.test.ts +185 -0
- package/src/shared/__tests__/path-containment.test.ts +60 -0
- package/src/shared/__tests__/pending-proposals.readAt.test.ts +102 -0
- package/src/shared/__tests__/printable.test.ts +64 -0
- package/src/shared/__tests__/redact-secret.test.ts +122 -0
- package/src/shared/__tests__/rename-no-replace.test.ts +466 -0
- package/src/shared/__tests__/ssrf.test.ts +20 -0
- package/src/shared/canonical-file-identity.ts +92 -0
- package/src/shared/domain-errors.ts +149 -0
- package/src/shared/email-identity.ts +38 -0
- package/src/shared/fs.contract.ts +225 -0
- package/src/shared/git-failure.ts +196 -0
- package/src/shared/git-internals.ts +124 -0
- package/src/shared/git.contract.ts +170 -0
- package/src/shared/http-errors.ts +36 -0
- package/src/shared/logger.contract.ts +141 -0
- package/src/shared/logging.ts +96 -0
- package/src/shared/path-containment.ts +34 -0
- package/src/shared/pending-proposals.ts +161 -0
- package/src/shared/printable.ts +68 -0
- package/src/shared/redact-secret.ts +118 -0
- package/src/shared/rename-no-replace.ts +386 -0
- package/src/shared/ssrf.ts +44 -16
- package/src/version.ts +10 -6
- package/src/modules/diff/diff-paths.ts +0 -9
- package/src/modules/mcp/__tests__/mcp-session-store.test.ts +0 -151
- package/src/modules/mcp/__tests__/mcp.routes.session.test.ts +0 -226
- package/src/modules/mcp/mcp-session-store.ts +0 -162
- package/src/shared/__tests__/fs-walk.test.ts +0 -63
- package/src/shared/__tests__/kb-walk.test.ts +0 -107
- package/src/shared/fs-errors.ts +0 -10
- package/src/shared/fs-walk.ts +0 -45
- package/src/shared/hash-email.ts +0 -14
- package/src/shared/kb-walk.ts +0 -95
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-core-services.d.ts","sourceRoot":"","sources":["../../src/core/create-core-services.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-core-services.d.ts","sourceRoot":"","sources":["../../src/core/create-core-services.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
|
+
import { logger } from '../shared/logging.js';
|
|
2
3
|
import { DEFAULT_BRANCH, configureBranchModel, validateBranchModel, PROTECTED_BRANCHES, configureKbLayout, } from '@bevel-software/platform-shared';
|
|
3
4
|
import { getDb } from '../modules/database/connection.js';
|
|
4
5
|
import { runCoreMigrations } from '../modules/database/migrate.js';
|
|
@@ -7,12 +8,18 @@ import { WorkspaceService } from '../modules/workspace/workspace.service.js';
|
|
|
7
8
|
import { RoutineWritePolicyService } from '../modules/workspace/routine-write-policy.js';
|
|
8
9
|
import { KbStartupRunner } from '../modules/workspace/startup/kb-startup-runner.js';
|
|
9
10
|
import { GroupsToPluginsStep } from '../modules/workspace/startup/steps/groups-to-plugins.step.js';
|
|
11
|
+
import { PluginDisplayNamesStep } from '../modules/workspace/startup/steps/plugin-display-names.step.js';
|
|
10
12
|
import { PluginManifestsStep } from '../modules/workspace/startup/steps/plugin-manifests.step.js';
|
|
13
|
+
import { PersonalSpacesStep } from '../modules/workspace/startup/steps/personal-spaces.step.js';
|
|
11
14
|
import { TemplateFilesStep } from '../modules/workspace/startup/steps/template-files.step.js';
|
|
12
15
|
import { RolesYamlStep } from '../modules/workspace/startup/steps/roles-yaml.step.js';
|
|
13
16
|
import { buildSeedTree } from '../modules/workspace/startup/steps/seed-tree.js';
|
|
14
17
|
import { DeploymentSettingsService } from '../modules/settings/deployment-settings.service.js';
|
|
15
18
|
import { KbSyncService } from '../modules/kb-sync/kb-sync.service.js';
|
|
19
|
+
import { NodeFs } from '../modules/kb-fs/node-fs.js';
|
|
20
|
+
import { assertKbDirNameFree } from '../modules/kb-fs/repo-path.js';
|
|
21
|
+
import { AdvisoryLease, AdvisoryLock } from '../modules/database/advisory-lock.js';
|
|
22
|
+
import { holdCommitWorkerLease, withStartupTask } from './lifecycle.js';
|
|
16
23
|
/** The hosted MCP endpoint at a deployment address, with any userinfo stripped. */
|
|
17
24
|
function mcpEndpointUrl(publicBackendUrl) {
|
|
18
25
|
const url = new URL('/api/mcp', publicBackendUrl);
|
|
@@ -32,20 +39,24 @@ import { DocExtractService } from '../modules/workspace/file-readers/doc-extract
|
|
|
32
39
|
import { UuidSessionSink } from '../modules/workspace/session-sink.js';
|
|
33
40
|
import { AuthService } from '../modules/auth/auth.service.js';
|
|
34
41
|
import { AccountErasureService } from '../modules/auth/account-erasure.service.js';
|
|
35
|
-
import { OidcAuthProvider } from '../modules/auth/oidc-auth-provider.js';
|
|
42
|
+
import { OidcAuthProvider, oidcSettingsFrom } from '../modules/auth/oidc-auth-provider.js';
|
|
36
43
|
import { createAuthMiddleware } from '../modules/auth/auth.middleware.js';
|
|
37
|
-
import { AccessControlService } from '../modules/access/access-control.service.js';
|
|
44
|
+
import { AccessControlService, loadActiveGroups } from '../modules/access/access-control.service.js';
|
|
38
45
|
import { CreatorAccessService } from '../modules/access/creator-access.js';
|
|
46
|
+
import { ChangeReadGate } from '../modules/access/change-read-gate.js';
|
|
39
47
|
import { GroupsAdminService } from '../modules/access/groups-admin.service.js';
|
|
48
|
+
import { UserAccessRemovalService } from '../modules/access/user-access-removal.service.js';
|
|
40
49
|
import { PendingSkillsService, SkillService } from '../modules/skills/index.js';
|
|
41
|
-
import { ToolManualService } from '../modules/tool-manuals/index.js';
|
|
50
|
+
import { PendingToolsService, ToolManualService } from '../modules/tool-manuals/index.js';
|
|
42
51
|
import { McpServerEditService } from '../modules/tool-manuals/mcp-server-edit.service.js';
|
|
43
|
-
import {
|
|
52
|
+
import { ToolDeleteService } from '../modules/tool-manuals/tool-delete.service.js';
|
|
53
|
+
import { PluginIndexService, pluginFolderBelowRoot, PluginProvisionService, JoinRequestsService, PluginJoinRequestJobs, JoinRequestNotReadyError, DbJoinRequestStore, PluginLinkIndex, PluginLinksService, PluginRenameService, MarketplaceCompilerService, KbPluginSource, } from '../modules/plugins/index.js';
|
|
44
54
|
import { MarketplaceRepoService } from '../modules/marketplace/index.js';
|
|
45
|
-
import { GitHubFacadeCredentialsService, GitHubFacade, DbGitHubFacadeCodeStore, DbGitHubFacadeCredentialsStore, CLAUDE_CONSUMER, GITHUB_LINK_KEY_KIND,
|
|
55
|
+
import { GitHubFacadeCredentialsService, GitHubFacade, DbGitHubFacadeCodeStore, DbGitHubFacadeCredentialsStore, CLAUDE_CONSUMER, GITHUB_LINK_KEY_KIND, GITHUB_LINK_KEY_SPEC, } from '../modules/marketplace/github-facade/index.js';
|
|
46
56
|
import { DbSecretsVaultService, McpOAuthDiscoveryService, registerBevelSecretsVariableLoader, } from '../modules/secrets-vault/index.js';
|
|
47
57
|
import { ConnectionProbeService } from '../modules/connection-probe/index.js';
|
|
48
58
|
import { GitService } from '../modules/workflow/git/git.service.js';
|
|
59
|
+
import { NodeGitRunner } from '../modules/workflow/git/node-git-runner.js';
|
|
49
60
|
import { PullRequestService } from '../modules/workflow/git/pull-request.service.js';
|
|
50
61
|
import { WorkspaceMutex } from '../modules/kb-fs/mutex.js';
|
|
51
62
|
import { assertGitVersion } from '../modules/workflow/git/git-version.js';
|
|
@@ -68,8 +79,8 @@ import { ExternalApiKeyService } from '../modules/tool-auth/external-api-key.ser
|
|
|
68
79
|
import { InternalTokenService, deriveInternalTokenSecret, } from '../modules/tool-auth/internal-token.service.js';
|
|
69
80
|
import { createToolAuthMiddleware, createManualAuthMiddleware, } from '../modules/tool-auth/tool-auth.middleware.js';
|
|
70
81
|
import { unmeteredLlmUsage } from '../modules/tool-auth/llm-usage-meter.js';
|
|
71
|
-
import { McpSessionStore } from '../modules/mcp/mcp-session-store.js';
|
|
72
82
|
import { McpService } from '../modules/mcp/mcp.service.js';
|
|
83
|
+
import { readAgentPreamble } from '../modules/agent-instructions/index.js';
|
|
73
84
|
import { createMcpAuthMiddleware } from '../modules/mcp/mcp-auth.middleware.js';
|
|
74
85
|
import { BevelOAuthProvider } from '../modules/mcp/oauth/bevel-oauth-provider.js';
|
|
75
86
|
import { getOAuthProtectedResourceMetadataUrl } from '@modelcontextprotocol/sdk/server/auth/router.js';
|
|
@@ -124,10 +135,14 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
124
135
|
};
|
|
125
136
|
if (!validateBranchModel(branchModel))
|
|
126
137
|
configureBranchModel(branchModel);
|
|
127
|
-
// The
|
|
128
|
-
//
|
|
129
|
-
//
|
|
130
|
-
|
|
138
|
+
// The layout variables that were retired this release, folded into their
|
|
139
|
+
// saved settings before anything reads the layout — so the boot that imports
|
|
140
|
+
// them also RUNS on the imported names rather than on the defaults.
|
|
141
|
+
await settings.importLegacyLayoutEnv();
|
|
142
|
+
// The KB layout — the three renameable roots and the agent guide's file name
|
|
143
|
+
// — applied the same way and at the same moment, before any service captures
|
|
144
|
+
// one of them. Unlike the branch model it always resolves (every name has a
|
|
145
|
+
// default), so an invalid value is a real misconfiguration and stops the boot.
|
|
131
146
|
configureKbLayout(settings.resolveKbLayout());
|
|
132
147
|
// A token supplied through the setup screen has to reach the credential
|
|
133
148
|
// helper, which reads `$GITHUB_TOKEN` at call time.
|
|
@@ -137,7 +152,19 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
137
152
|
// The remote URL and username are read per-operation instead, so an admin
|
|
138
153
|
// finishing setup can clone immediately without bouncing the process.
|
|
139
154
|
const kbDirName = settings.resolve('kbDirName') || 'knowledge-base';
|
|
140
|
-
|
|
155
|
+
// A checkout folder named like one of the repository's own roots would make
|
|
156
|
+
// every path under that root read as the checkout itself, and the root
|
|
157
|
+
// unnameable. Both are operator settings, so the collision is refused here,
|
|
158
|
+
// by name, before any service captures either.
|
|
159
|
+
assertKbDirNameFree(kbDirName, settings.resolveKbLayout());
|
|
160
|
+
// The disk: one walk, one probe, for every reader below.
|
|
161
|
+
const disk = new NodeFs();
|
|
162
|
+
// How git is run, for every module that runs it: one environment, one buffer
|
|
163
|
+
// ceiling, one error shape, and — the reason it exists — one deadline, so a
|
|
164
|
+
// git that never returns cannot hold a workspace (and with it the commit
|
|
165
|
+
// queue) open indefinitely. See `shared/git.contract.ts`.
|
|
166
|
+
const gitRunner = new NodeGitRunner(config.gitTimeoutMs);
|
|
167
|
+
const workspaceService = new WorkspaceService(config.workspacesRoot, () => settings.resolve('kbRepoUrl'), kbDirName, disk, () => settings.resolve('gitUsername') || 'x-access-token', gitRunner);
|
|
141
168
|
// The KB startup phase: every seeding, scaffolding and migration concern,
|
|
142
169
|
// run through one runner at the deployment's quiet moments (boot + setup
|
|
143
170
|
// completion) instead of lazily on branch loads. Root folders this
|
|
@@ -149,10 +176,23 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
149
176
|
// reshapes trees the template top-up would otherwise re-scaffold — then
|
|
150
177
|
// whatever the distribution appends.
|
|
151
178
|
const kbStartupSteps = [
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
179
|
+
// (The note about anything sitting BESIDE a checkout is not a step: it is
|
|
180
|
+
// read-only, needs no remote, and must be said even on a deployment whose
|
|
181
|
+
// setup never finished — so `noteBesideCheckout` runs once from the server
|
|
182
|
+
// builder, ahead of this gated phase.)
|
|
183
|
+
new GroupsToPluginsStep(disk),
|
|
184
|
+
new PluginManifestsStep(disk),
|
|
185
|
+
// After the manifests step: a folder that only just got its manifest got
|
|
186
|
+
// one the renderer wrote, which already carries the display name — the
|
|
187
|
+
// backfill then has nothing to do for it. Ordered the other way, the
|
|
188
|
+
// backfill would walk a tree still missing those manifests.
|
|
189
|
+
new PluginDisplayNamesStep(disk),
|
|
190
|
+
new PersonalSpacesStep(disk),
|
|
191
|
+
// A getter, not a value: the step is built here, while the process may
|
|
192
|
+
// still hold the defaults, and the save that completes first-run setup
|
|
193
|
+
// applies the admin's answer afterwards.
|
|
194
|
+
new TemplateFilesStep(disk, extraDirs, () => settings.resolveAgentsFileLink()),
|
|
195
|
+
new RolesYamlStep(disk, [config.adminEmail]),
|
|
156
196
|
...(ports.kbStartupSteps ?? []),
|
|
157
197
|
];
|
|
158
198
|
const kbStartupRunner = new KbStartupRunner({
|
|
@@ -161,6 +201,7 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
161
201
|
// the first thing that needs them.
|
|
162
202
|
kbRepoUrl: () => settings.resolve('kbRepoUrl'),
|
|
163
203
|
gitUsername: () => settings.resolve('gitUsername') || 'x-access-token',
|
|
204
|
+
gitToken: () => settings.resolve('gitToken'),
|
|
164
205
|
workspacesRoot: config.workspacesRoot,
|
|
165
206
|
kbDirName,
|
|
166
207
|
templateDir: config.kbTemplateDir,
|
|
@@ -170,7 +211,8 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
170
211
|
// same answer `SEED_ADMIN_EMAILS` used to ask for a second time.
|
|
171
212
|
seedAdminEmails: [config.adminEmail],
|
|
172
213
|
steps: kbStartupSteps,
|
|
173
|
-
buildSeedTree: buildSeedTree(config.kbTemplateDir, extraDirs, [config.adminEmail]),
|
|
214
|
+
buildSeedTree: buildSeedTree(disk, config.kbTemplateDir, extraDirs, [config.adminEmail]),
|
|
215
|
+
gitRunner,
|
|
174
216
|
});
|
|
175
217
|
// Shared, workspace-independent store for oversized `call_tool_chain` results,
|
|
176
218
|
// read back via `read_file`. Sibling of `workspacesRoot`, never committed.
|
|
@@ -182,15 +224,18 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
182
224
|
// rescues (`roles.yaml` and any `access.md`) — the SAME list
|
|
183
225
|
// `AdminAccessService` below is given, so the admin surfaces and the write
|
|
184
226
|
// gate cannot disagree about who the owner is. They did: the owner could
|
|
185
|
-
// open
|
|
227
|
+
// open App roles and then be refused the save, with the UI showing
|
|
186
228
|
// them as an admin and the gate saying "Eligible: Admin".
|
|
187
|
-
const accessControl = new AccessControlService(workspaceService, kbDirName, [
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
//
|
|
191
|
-
//
|
|
192
|
-
|
|
193
|
-
|
|
229
|
+
const accessControl = new AccessControlService(workspaceService, kbDirName, disk, [config.adminEmail], gitRunner);
|
|
230
|
+
// Creator read-grant on creation: read is default-deny and the roots grant
|
|
231
|
+
// it to nobody, so every surface that starts a new folder at a root (human
|
|
232
|
+
// routes, agent tools, upload apply) consults this planner to keep the new
|
|
233
|
+
// folder visible to its creator.
|
|
234
|
+
const creatorAccess = new CreatorAccessService(workspaceService, accessControl, kbDirName, disk);
|
|
235
|
+
// Read-before-write: the gate every lock acquire asks, on every branch —
|
|
236
|
+
// nothing is created, changed or removed where its author cannot read,
|
|
237
|
+
// except that new folder at a root (see `access-model/change-gate.ts`).
|
|
238
|
+
const changeGate = new ChangeReadGate(workspaceService, accessControl, kbDirName, disk);
|
|
194
239
|
// Ontology-session boundary: records each agent run's touched ontologies and
|
|
195
240
|
// blocks writes once a run has crossed ontologies. Postgres-backed so the
|
|
196
241
|
// boundary survives a restart.
|
|
@@ -201,23 +246,23 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
201
246
|
// one run, unlike the Postgres-backed ontology touched-set above.
|
|
202
247
|
const routineWritePolicy = new RoutineWritePolicyService();
|
|
203
248
|
// Skills: discovered from the default-branch workspace only (global catalog).
|
|
204
|
-
const skillService = new SkillService(workspaceService, accessControl, kbDirName);
|
|
249
|
+
const skillService = new SkillService(workspaceService, accessControl, kbDirName, disk);
|
|
205
250
|
// Tool manuals: user-authored `*.tool` files under `Plugins/` in the default
|
|
206
251
|
// branch — access-controlled like Skills, served to external agents via
|
|
207
252
|
// `GET /api/agent/all-tools` and registered on the MCP proxy's UTCP client.
|
|
208
253
|
// Where plugins come from: one walk of the plugins root that reads every
|
|
209
254
|
// plugin folder in whichever file shape it carries (see
|
|
210
255
|
// modules/plugins/discovery). Nothing to configure, nothing to document.
|
|
211
|
-
const pluginSource = new KbPluginSource();
|
|
212
|
-
const toolManualService = new ToolManualService(workspaceService, accessControl, kbDirName,
|
|
256
|
+
const pluginSource = new KbPluginSource(disk);
|
|
257
|
+
const toolManualService = new ToolManualService(workspaceService, accessControl, kbDirName, disk, pluginSource);
|
|
213
258
|
// Plugins: the folders under `Plugins/` that carry a
|
|
214
259
|
// team's skills AND the tools they need. Enumerated for EVERY authenticated
|
|
215
260
|
// caller — a plugin they cannot read still exists for them, as a locked one —
|
|
216
261
|
// with the counts read off the two catalogs above rather than a second scan.
|
|
217
262
|
// The link index resolves manifests against the released catalog, and the
|
|
218
263
|
// plugin index counts through it (inline + linked), so it comes first.
|
|
219
|
-
const pluginLinkIndex = new PluginLinkIndex(workspaceService, skillService, accessControl, kbDirName,
|
|
220
|
-
const pluginIndexService = new PluginIndexService(workspaceService, accessControl, skillService, toolManualService, kbDirName, Date.now, pluginLinkIndex
|
|
264
|
+
const pluginLinkIndex = new PluginLinkIndex(workspaceService, skillService, accessControl, kbDirName, pluginSource);
|
|
265
|
+
const pluginIndexService = new PluginIndexService(workspaceService, accessControl, skillService, toolManualService, kbDirName, pluginSource, Date.now, pluginLinkIndex);
|
|
221
266
|
// Auth service — resolves identities for login, PR author attribution, and
|
|
222
267
|
// access lookups. (Change requests now store the author email directly, so
|
|
223
268
|
// PullRequestService no longer depends on it for attribution.)
|
|
@@ -228,6 +273,7 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
228
273
|
adminEmail: config.adminEmail,
|
|
229
274
|
adminPassword: config.adminPassword,
|
|
230
275
|
allowedEmailDomains: parseDomainList(settings.resolve('allowedEmailDomains')),
|
|
276
|
+
loginPasswordEnabled: config.loginPasswordEnabled,
|
|
231
277
|
});
|
|
232
278
|
const authMiddleware = createAuthMiddleware(authService);
|
|
233
279
|
// Shared mutex so git and diff operations on the same workspace serialize
|
|
@@ -240,12 +286,20 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
240
286
|
// this function returns. Core registers none: no commit-time validation
|
|
241
287
|
// (advisory anyway) and no ontology write block.
|
|
242
288
|
const workflowHooks = new WorkflowHooks();
|
|
243
|
-
const gitService = new GitService(workspaceService, workflowHooks, kbDirName, workspaceMutex, accessControl);
|
|
289
|
+
const gitService = new GitService(workspaceService, workflowHooks, kbDirName, workspaceMutex, accessControl, gitRunner);
|
|
290
|
+
// `get_skill` with a `version` reads the skill out of the default branch's
|
|
291
|
+
// history; the skill service is built before git exists, so git is handed
|
|
292
|
+
// to it here.
|
|
293
|
+
skillService.setHistory(gitService);
|
|
244
294
|
// A fresh clone has already fetched every ref — let the git layer skip the
|
|
245
295
|
// redundant implicit `git fetch` on the first `listBranches` after bootstrap.
|
|
246
296
|
workspaceService.setWorkspaceClonedListener((id) => gitService.noteWorkspaceFetched(id));
|
|
247
|
-
|
|
248
|
-
|
|
297
|
+
// A branch listing is also the platform's memory of which branch names it
|
|
298
|
+
// has ever heard of — what tells a deleted branch (410) from one that never
|
|
299
|
+
// existed (404) when a bootstrap finds no such ref on origin.
|
|
300
|
+
gitService.setBranchesListedListener((names) => workspaceService.noteBranchesListed(names));
|
|
301
|
+
const pullRequestService = new PullRequestService(db, workspaceService, accessControl, gitService, config.configuredPublicFrontendUrl);
|
|
302
|
+
const diffService = new DiffService(workspaceService, workspaceMutex, config.workspacesRoot, config.backupsRoot, kbDirName, disk);
|
|
249
303
|
// Late-bind the diff service into WorkspaceService so file writes/moves
|
|
250
304
|
// trigger backup updates. (GitService used to take a diffService too — for
|
|
251
305
|
// the post-switch backup reseed — but switchBranch is gone with the
|
|
@@ -283,7 +337,7 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
283
337
|
// id-repair keeps the id namespace collision-free. Subscribers are registered
|
|
284
338
|
// below, once the reacting services exist.
|
|
285
339
|
const fileChangeNotifier = new FileChangeNotifier();
|
|
286
|
-
const workflowService = new WorkflowService(db, gitService, pullRequestService, reviewWorkflowService, workspaceService, accessControl, fileLockService, pendingCommitsService, kbDirName, eventBus, fileChangeNotifier,
|
|
340
|
+
const workflowService = new WorkflowService(db, gitService, pullRequestService, reviewWorkflowService, workspaceService, accessControl, fileLockService, pendingCommitsService, kbDirName, changeGate, eventBus, fileChangeNotifier,
|
|
287
341
|
// Exposed as `workflowService.hooks` — the SAME instance GitService and
|
|
288
342
|
// the session-ontology gate consult, so enterprise registrations against
|
|
289
343
|
// it reach every hook point.
|
|
@@ -293,12 +347,44 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
293
347
|
// only needs to read files at refs and to close a request whose proposals
|
|
294
348
|
// have all landed.
|
|
295
349
|
const joinRequestsService = new JoinRequestsService(workspaceService, workflowService);
|
|
350
|
+
// The OTHER half of a join request: the row the subscribe endpoint writes
|
|
351
|
+
// before it answers, and the branch/clone/commit/push/change-request work
|
|
352
|
+
// that runs against it afterwards. The row is what lets the click be
|
|
353
|
+
// answered in a database round-trip instead of a clone, and what survives a
|
|
354
|
+
// restart with the request still owed.
|
|
355
|
+
const pluginJoinRequestJobs = new PluginJoinRequestJobs(new DbJoinRequestStore(db), {
|
|
356
|
+
workflow: workflowService,
|
|
357
|
+
workspaceService,
|
|
358
|
+
kbDirName,
|
|
359
|
+
// A record keys on the plugin's primary FOLDER below the root, which the
|
|
360
|
+
// catalog is the only thing that can turn back into a path and a name
|
|
361
|
+
// people read. Null once nothing answers to the key — a deleted plugin,
|
|
362
|
+
// a moved folder — which the job records as a failure the requester sees.
|
|
363
|
+
//
|
|
364
|
+
// An EMPTY catalog is not that. Discovery degrades to empty whenever it
|
|
365
|
+
// cannot read the knowledge base — a boot that has not finished cloning,
|
|
366
|
+
// a remote that blipped — and answering "null" then would tell everyone
|
|
367
|
+
// with a request outstanding that their plugin is gone, permanently, for
|
|
368
|
+
// a fault that healed in seconds. A request is only refused when the
|
|
369
|
+
// catalog has something to say and this key is absent from it; when it
|
|
370
|
+
// has nothing to say at all, the failure is raised as a transient one, so
|
|
371
|
+
// the row stays `pending` for the next sweep to retry.
|
|
372
|
+
target: async (pluginKey) => {
|
|
373
|
+
const catalog = await pluginIndexService.catalog();
|
|
374
|
+
if (catalog.length === 0) {
|
|
375
|
+
throw new JoinRequestNotReadyError('the plugin catalog is not available yet');
|
|
376
|
+
}
|
|
377
|
+
const entry = catalog.find((g) => pluginFolderBelowRoot(g.folders[0]) === pluginKey);
|
|
378
|
+
return entry ? { folder: entry.folders[0], displayName: entry.displayName } : null;
|
|
379
|
+
},
|
|
380
|
+
requester: (email) => authService.getUserByEmail(email),
|
|
381
|
+
});
|
|
296
382
|
// Links land as ordinary default-branch commits and change what the plugin
|
|
297
383
|
// index counts, so a link drops that cache too.
|
|
298
384
|
const pluginLinksService = new PluginLinksService(workspaceService, workflowService, accessControl, skillService, pluginLinkIndex, kbDirName, eventBus, () => pluginIndexService.invalidate());
|
|
299
385
|
// A rename rewrites grants across the knowledge base in one batch commit,
|
|
300
386
|
// then drops every cache that keyed on the old identity.
|
|
301
|
-
const pluginRenameService = new PluginRenameService(workspaceService, workflowService, accessControl, pluginSource, kbDirName, eventBus, () => {
|
|
387
|
+
const pluginRenameService = new PluginRenameService(workspaceService, workflowService, accessControl, pluginSource, disk, kbDirName, eventBus, () => {
|
|
302
388
|
pluginIndexService.invalidate();
|
|
303
389
|
pluginLinkIndex.invalidate();
|
|
304
390
|
});
|
|
@@ -313,10 +399,10 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
313
399
|
// to. The same address `/api/config` and the OAuth metadata publish,
|
|
314
400
|
// userinfo stripped; the client's OAuth flow supplies the identity.
|
|
315
401
|
knowledgeBaseMcp: { name: 'hexis', url: mcpEndpointUrl(config.publicBackendUrl) },
|
|
316
|
-
}, pluginSource);
|
|
402
|
+
}, pluginSource, disk, gitRunner);
|
|
317
403
|
// Sibling of the workspaces root, like the spill store: one bare repo, one
|
|
318
404
|
// git namespace per caller (see marketplace-repo.service.ts).
|
|
319
|
-
const marketplaceRepo = new MarketplaceRepoService(path.resolve(config.workspacesRoot, '..', 'marketplace.git'), marketplaceCompiler);
|
|
405
|
+
const marketplaceRepo = new MarketplaceRepoService(path.resolve(config.workspacesRoot, '..', 'marketplace.git'), marketplaceCompiler, gitRunner);
|
|
320
406
|
// Remote sync. Drives the workflow module's per-branch pull-and-announce
|
|
321
407
|
// over every clone the workspace service knows about; owns no git of its own.
|
|
322
408
|
const kbSyncService = new KbSyncService(workflowService, workspaceService);
|
|
@@ -324,28 +410,35 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
324
410
|
// spans a plugin's mcp.json AND plugin.json extensions block, and this is
|
|
325
411
|
// the ONE writer that rewrites both entries and commits them together (see
|
|
326
412
|
// McpServerEditService).
|
|
327
|
-
const mcpServerEditService = new McpServerEditService(workspaceService, workflowService, accessControl, toolManualService, kbDirName);
|
|
413
|
+
const mcpServerEditService = new McpServerEditService(workspaceService, workflowService, accessControl, toolManualService, kbDirName, disk);
|
|
328
414
|
// Plugin provisioning — the one privileged door that brings `Plugins/<name>/`
|
|
329
415
|
// folders into existence (named plugins and personal folders alike). Commits
|
|
330
416
|
// INLINE through the same pipeline the pending-commits worker uses, so the
|
|
331
417
|
// folder's rules are at HEAD before the endpoint answers.
|
|
332
|
-
const pluginProvisionService = new PluginProvisionService(workspaceService, workflowService, accessControl, kbDirName, eventBus);
|
|
418
|
+
const pluginProvisionService = new PluginProvisionService(workspaceService, workflowService, accessControl, kbDirName, eventBus, pluginSource, disk);
|
|
333
419
|
// Pending skills: the other half of the catalog — skills that exist only on
|
|
334
420
|
// an open change request's branch. Built here rather than beside
|
|
335
421
|
// `skillService` because it needs the workflow service, which does not exist
|
|
336
422
|
// that early; it holds no state of its own, so where it is constructed is the
|
|
337
423
|
// only thing the ordering decides.
|
|
338
424
|
const pendingSkillsService = new PendingSkillsService(workspaceService, accessControl, skillService, workflowService);
|
|
425
|
+
// The same missing half, for tools: a `.tool` manual or an `mcp.json` server
|
|
426
|
+
// an agent proposes is nowhere in the product until its change request
|
|
427
|
+
// merges. Built here for the same reason — it needs the workflow service —
|
|
428
|
+
// and stateless for the same reason.
|
|
429
|
+
const pendingToolsService = new PendingToolsService(workspaceService, accessControl, toolManualService, workflowService);
|
|
339
430
|
// Catalog freshness: the skill / tool-manual / plugin-index caches all scan
|
|
340
431
|
// the DEFAULT branch's working tree, and all three go stale on the same
|
|
341
|
-
// events (a commit, a working-tree write, a merge)
|
|
342
|
-
//
|
|
343
|
-
//
|
|
432
|
+
// events (a commit, a working-tree write, a merge) — as does the access
|
|
433
|
+
// model they are filtered through. Wired in one place so a new way of
|
|
434
|
+
// reaching the default branch cannot refresh two of them and leave the
|
|
435
|
+
// third serving last minute's answer.
|
|
344
436
|
registerCatalogCacheInvalidation({
|
|
345
437
|
eventBus,
|
|
346
438
|
fileChangeNotifier,
|
|
347
439
|
kbDirName,
|
|
348
440
|
catalogs: [toolManualService, skillService, pluginIndexService, pluginLinkIndex],
|
|
441
|
+
accessControl,
|
|
349
442
|
});
|
|
350
443
|
// Admin = `Admin` role in roles.yaml, resolved through the access model on the
|
|
351
444
|
// default branch (no env allow-list).
|
|
@@ -375,6 +468,12 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
375
468
|
// Register the `bevel-secrets` UTCP variable loader against this vault so any
|
|
376
469
|
// UTCP client can resolve `${VAR}` from the caller's secrets at tool-call time.
|
|
377
470
|
registerBevelSecretsVariableLoader(secretsVaultService);
|
|
471
|
+
// Deleting ONE tool from its page — the owner's verb, the other end of the
|
|
472
|
+
// promise that made them the owner. Built here because it is the one service
|
|
473
|
+
// that spans both halves of a tool: the definition (a `.tool` file or an
|
|
474
|
+
// mcp.json entry) and the credentials stored under its name, which is why it
|
|
475
|
+
// can only exist once the vault does.
|
|
476
|
+
const toolDeleteService = new ToolDeleteService(workspaceService, workflowService, accessControl, toolManualService, skillService, pluginIndexService, pluginSource, secretsVaultService, kbDirName, disk);
|
|
378
477
|
// The credential probe: whether a tool's stored credential actually WORKS, as
|
|
379
478
|
// distinct from whether one is stored. Built here — after the vault and the
|
|
380
479
|
// tool catalog — because a probe needs both: the catalog to know what to
|
|
@@ -408,18 +507,18 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
408
507
|
});
|
|
409
508
|
// GDPR erasure path: admin-driven user deletion. The core service erases the
|
|
410
509
|
// rows it owns; each module contributes its slice as a participant.
|
|
411
|
-
const accountErasureService = new AccountErasureService(db, ports.erasureParticipants ?? []);
|
|
510
|
+
const accountErasureService = new AccountErasureService(db, reviewWorkflowService, ports.erasureParticipants ?? []);
|
|
412
511
|
// MCP (remote agent access). ExternalApiKeyService handles connection-key
|
|
413
|
-
// lifecycle
|
|
414
|
-
//
|
|
415
|
-
//
|
|
416
|
-
//
|
|
417
|
-
//
|
|
512
|
+
// lifecycle. McpService is a GENERIC, STATELESS proxy: per request it
|
|
513
|
+
// discovers the caller's catalog at /api/agent/all-tools over loopback and
|
|
514
|
+
// re-exposes every tool, dispatching calls back through the REST tool
|
|
515
|
+
// surface (so agent logic + metering live there, once). No MCP session is
|
|
516
|
+
// kept, so a restart is invisible to connected clients.
|
|
418
517
|
// Connection keys also come as GitHub-shaped links (`gho_…`, kind
|
|
419
518
|
// `github-link`): the same key, minted by the marketplace facade below when
|
|
420
519
|
// a person connects an account on claude.ai, told apart by its stored kind.
|
|
421
520
|
const externalApiKeyService = new ExternalApiKeyService(db, config.externalApiKeyPrefix, {
|
|
422
|
-
[GITHUB_LINK_KEY_KIND]:
|
|
521
|
+
[GITHUB_LINK_KEY_KIND]: GITHUB_LINK_KEY_SPEC,
|
|
423
522
|
});
|
|
424
523
|
// The facade that lets products which sync marketplaces only from a GitHub
|
|
425
524
|
// Enterprise Server (claude.ai, Cowork) add the per-user marketplace:
|
|
@@ -436,36 +535,42 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
436
535
|
stateSecret: config.jwtSecret,
|
|
437
536
|
publicFrontendUrl: config.publicFrontendUrl,
|
|
438
537
|
});
|
|
439
|
-
|
|
440
|
-
|
|
538
|
+
// What every connected agent is told at initialize: the admin's preamble
|
|
539
|
+
// at the repository root, read as the platform (the root is default-deny
|
|
540
|
+
// for readers, and the preamble is a broadcast). One reader, two consumers:
|
|
541
|
+
// the proxy below composes in-process per request; the agent-facing route
|
|
542
|
+
// serves the same composition to the local bridge and the frontend card.
|
|
543
|
+
const readPreamble = () => readAgentPreamble(workspaceService, kbDirName, disk);
|
|
544
|
+
const mcpService = new McpService({
|
|
441
545
|
// Loopback to our own REST tool surface — 127.0.0.1 (not localhost) to pin
|
|
442
546
|
// IPv4 and dodge resolver ambiguity. The proxy authenticates each call with
|
|
443
547
|
// the caller's own connection key.
|
|
444
548
|
loopbackBaseUrl: `http://127.0.0.1:${config.port}`,
|
|
445
549
|
// Manual namespace + UTCP variable prefix (KNOWLEDGE_BASE_API_URL / …).
|
|
446
550
|
manualName: 'KNOWLEDGE_BASE',
|
|
447
|
-
// Oversized chain results spill here too — an external MCP
|
|
551
|
+
// Oversized chain results spill here too — an external MCP caller has no
|
|
448
552
|
// ambient workspace, so it reads the spill back by ref via `read_file`.
|
|
449
553
|
spillStore,
|
|
450
554
|
// For the needs-authorization setup link surfaced to external agents.
|
|
451
555
|
publicFrontendUrl: config.publicFrontendUrl,
|
|
556
|
+
readAgentPreamble: readPreamble,
|
|
452
557
|
},
|
|
453
558
|
// Pre-dispatch per-user credential check: the vault answers "has this caller
|
|
454
559
|
// set it?" and the manual catalog answers "which user-scoped vars does this
|
|
455
560
|
// tool need?".
|
|
456
561
|
secretsVaultService, toolManualService,
|
|
457
|
-
// Loopback bearer mint for OAuth/JWT
|
|
562
|
+
// Loopback bearer mint for OAuth/JWT requests — their own bearer would
|
|
458
563
|
// 401 at the connection-key/internal-only /api/agent/* hop.
|
|
459
564
|
internalTokenService,
|
|
460
|
-
//
|
|
565
|
+
// Grant reset for broken tool sign-ins. A closure because the
|
|
461
566
|
// provider is constructed just below (it needs nothing from McpService;
|
|
462
567
|
// the binding is only dereferenced at call time, long after boot).
|
|
463
568
|
(bearer) => mcpOAuthProvider.revokeByAccessToken(bearer));
|
|
464
|
-
// A changed secret invalidates the proxy
|
|
465
|
-
// that user (null = shared secret → everyone)
|
|
466
|
-
// credential is retried on the very next
|
|
467
|
-
// out the failure memo's TTL.
|
|
468
|
-
secretsVaultService.onMutation((changedUserId) => mcpService.
|
|
569
|
+
// A changed secret invalidates what the proxy built from the old value for
|
|
570
|
+
// that user (null = shared secret → everyone): remembered manual failures,
|
|
571
|
+
// so a just-repaired credential is retried on the very next request instead
|
|
572
|
+
// of waiting out the failure memo's TTL, and pooled downstream connections.
|
|
573
|
+
secretsVaultService.onMutation((changedUserId) => mcpService.onSecretsChanged(changedUserId));
|
|
469
574
|
// MCP OAuth 2.1 authorization server (our own AS): lets MCP clients with no
|
|
470
575
|
// pre-shared connection key connect via the standard 401 → discovery → DCR →
|
|
471
576
|
// authorize (PKCE) flow. The authorize step routes the browser to /connect
|
|
@@ -503,6 +608,7 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
503
608
|
events: eventBus,
|
|
504
609
|
kbDirName: kbDirName,
|
|
505
610
|
creatorAccess,
|
|
611
|
+
loadActiveGroups,
|
|
506
612
|
});
|
|
507
613
|
const toolHandlerFactory = createToolHandlerFactory(resolveToolContext);
|
|
508
614
|
const toolAuthMiddleware = createToolAuthMiddleware(externalApiKeyService, internalTokenService);
|
|
@@ -520,12 +626,12 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
520
626
|
// retry budget AND recovery-agent budget exhausted) the worker emits
|
|
521
627
|
// a `'system'` feedback notice that admins triage out of band.
|
|
522
628
|
//
|
|
523
|
-
// The
|
|
524
|
-
//
|
|
525
|
-
//
|
|
526
|
-
//
|
|
527
|
-
//
|
|
528
|
-
|
|
629
|
+
// The queue's recovery — rows a dead process left `running` go back to
|
|
630
|
+
// `pending`, and working-tree dirt that pre-dates the queue is enqueued —
|
|
631
|
+
// runs under the commit-worker lease, right before the worker starts (see
|
|
632
|
+
// `withStartupTask` below). At boot, before the lease, it would reset rows
|
|
633
|
+
// the outgoing process of a redeploy is still committing.
|
|
634
|
+
const reconcileQueue = () => pendingCommitsService.startupReconcile(workspaceService.knownWorkspaces(), { scan: (ws) => workspaceService.scanOrphanedPaths(ws.id) }, { email: recoveryBot.email, name: recoveryBot.name });
|
|
529
635
|
const pendingCommitsWorker = new PendingCommitsWorker({
|
|
530
636
|
service: pendingCommitsService,
|
|
531
637
|
// The service IS the driver — passed directly rather than wrapped in a
|
|
@@ -550,30 +656,37 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
550
656
|
name: recoveryBot.name,
|
|
551
657
|
},
|
|
552
658
|
});
|
|
553
|
-
pendingCommitsWorker
|
|
659
|
+
const leased = withStartupTask(pendingCommitsWorker, reconcileQueue);
|
|
660
|
+
// Not `start()`: the worker runs only while this process holds the
|
|
661
|
+
// commit-worker lease. On a redeploy the outgoing container still holds it,
|
|
662
|
+
// so this one serves requests and declines to drain until that one exits;
|
|
663
|
+
// then it takes the lease and starts. Two processes draining one shared
|
|
664
|
+
// clone volume is the failure this prevents — see `core/lifecycle.ts`.
|
|
665
|
+
const commitWorker = holdCommitWorkerLease(new AdvisoryLease(db, AdvisoryLock.CommitWorker), leased);
|
|
554
666
|
// SSO providers. The array REFERENCE is shared with the caller's port — an
|
|
555
667
|
// overlay pushes its own plugins into it after construction (they mount when
|
|
556
|
-
// the server is built, later). Core contributes the generic OIDC provider
|
|
557
|
-
// when the env configures one.
|
|
668
|
+
// the server is built, later). Core contributes the generic OIDC provider.
|
|
558
669
|
const authProviders = ports.authProviders ?? [];
|
|
559
|
-
//
|
|
560
|
-
//
|
|
561
|
-
//
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
670
|
+
// Registered unconditionally and resolved through settings on every use, so
|
|
671
|
+
// an admin can configure SSO from the setup screen — or change it — without
|
|
672
|
+
// a restart; the provider advertises itself only while the configuration is
|
|
673
|
+
// complete. Env still wins, so a deployment that sets these keeps behaving
|
|
674
|
+
// exactly as it did.
|
|
675
|
+
authProviders.push(new OidcAuthProvider({
|
|
676
|
+
settings: () => oidcSettingsFrom(settings),
|
|
677
|
+
publicBackendUrl: config.publicBackendUrl,
|
|
678
|
+
publicFrontendUrl: config.publicFrontendUrl,
|
|
679
|
+
cookieSecure: config.publicBackendUrl.startsWith('https'),
|
|
680
|
+
// A real sign-in proves the values that sign-in used. Recorded against
|
|
681
|
+
// those — under their own key — so it says nothing about any saved
|
|
682
|
+
// since, and cannot overwrite what was recorded about them.
|
|
683
|
+
onSignedIn: async ({ issuerUrl, clientId, clientSecret }) => {
|
|
684
|
+
const credentials = { issuerUrl, clientId, clientSecret };
|
|
685
|
+
if ((await settings.oidcVerificationOf(credentials)) === 'verified')
|
|
686
|
+
return;
|
|
687
|
+
await settings.recordOidcVerification('verified', credentials);
|
|
688
|
+
},
|
|
689
|
+
}));
|
|
577
690
|
// Materializer factory for an overlay-provided directory source: every
|
|
578
691
|
// provisioning burst regenerates `synced-groups.yaml` on the default branch
|
|
579
692
|
// (debounced), committed by the sync bot — that file is what puts access
|
|
@@ -593,17 +706,25 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
593
706
|
defaultBranchOf: () => DEFAULT_BRANCH,
|
|
594
707
|
}),
|
|
595
708
|
debounceMs: opts?.debounceMs,
|
|
596
|
-
log: opts?.log ?? ((message) =>
|
|
709
|
+
log: opts?.log ?? ((message) => logger('directory-sync').warn(message)),
|
|
597
710
|
});
|
|
598
711
|
};
|
|
599
712
|
// Groups — the "who you are" principal sets. Manual-mode CRUD on
|
|
600
713
|
// groups.yaml, IdP-mode refusals, and the connect-time retirement the
|
|
601
714
|
// directory token route drives.
|
|
602
715
|
const groupsAdminService = new GroupsAdminService(workspaceService, workflowService, accessControl, kbDirName, () => DEFAULT_BRANCH, eventBus);
|
|
716
|
+
// Account deletion's optional half: the erased address out of roles.yaml,
|
|
717
|
+
// groups.yaml and every access rule, in one commit on the default branch.
|
|
718
|
+
// The deployment owner is never removed this way.
|
|
719
|
+
const userAccessRemovalService = new UserAccessRemovalService(workspaceService, workflowService, accessControl, disk, kbDirName, () => DEFAULT_BRANCH, eventBus, [config.adminEmail]);
|
|
603
720
|
return {
|
|
604
721
|
config,
|
|
605
722
|
db,
|
|
723
|
+
gitRunner,
|
|
724
|
+
commitWorker,
|
|
725
|
+
disk,
|
|
606
726
|
mcpServerEditService,
|
|
727
|
+
toolDeleteService,
|
|
607
728
|
workspaceService,
|
|
608
729
|
kbStartupRunner,
|
|
609
730
|
settings,
|
|
@@ -612,14 +733,18 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
612
733
|
docExtractService,
|
|
613
734
|
accessControl,
|
|
614
735
|
creatorAccess,
|
|
736
|
+
changeGate,
|
|
615
737
|
sessionOntologyService,
|
|
616
738
|
routineWritePolicy,
|
|
617
739
|
skillService,
|
|
618
740
|
pendingSkillsService,
|
|
619
741
|
toolManualService,
|
|
742
|
+
pendingToolsService,
|
|
743
|
+
readAgentPreamble: readPreamble,
|
|
620
744
|
pluginIndexService,
|
|
621
745
|
pluginProvisionService,
|
|
622
746
|
joinRequestsService,
|
|
747
|
+
pluginJoinRequestJobs,
|
|
623
748
|
pluginLinkIndex,
|
|
624
749
|
pluginLinksService,
|
|
625
750
|
pluginRenameService,
|
|
@@ -644,6 +769,7 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
644
769
|
recoveryBot,
|
|
645
770
|
adminAccess,
|
|
646
771
|
groupsAdminService,
|
|
772
|
+
userAccessRemovalService,
|
|
647
773
|
createSyncedGroupsMaterializer,
|
|
648
774
|
updateCheckService,
|
|
649
775
|
secretsVaultService,
|