@bevel-software/platform-core-backend 0.4.0 → 0.5.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/dist/core/core-ports.d.ts +15 -0
- package/dist/core/core-ports.d.ts.map +1 -1
- package/dist/core/core-ports.js.map +1 -1
- package/dist/core/create-core-server.d.ts.map +1 -1
- package/dist/core/create-core-server.js +40 -6
- package/dist/core/create-core-server.js.map +1 -1
- package/dist/core/create-core-services.d.ts +17 -1
- package/dist/core/create-core-services.d.ts.map +1 -1
- package/dist/core/create-core-services.js +153 -29
- package/dist/core/create-core-services.js.map +1 -1
- package/dist/core-config.d.ts +70 -21
- package/dist/core-config.d.ts.map +1 -1
- package/dist/core-config.js +134 -58
- package/dist/core-config.js.map +1 -1
- package/dist/modules/access/access-control.interface.d.ts +6 -0
- package/dist/modules/access/access-control.interface.d.ts.map +1 -1
- package/dist/modules/access/access-control.service.d.ts +74 -5
- package/dist/modules/access/access-control.service.d.ts.map +1 -1
- package/dist/modules/access/access-control.service.js +116 -15
- package/dist/modules/access/access-control.service.js.map +1 -1
- package/dist/modules/access/access-declarations.d.ts +93 -0
- package/dist/modules/access/access-declarations.d.ts.map +1 -0
- package/dist/modules/access/access-declarations.js +168 -0
- package/dist/modules/access/access-declarations.js.map +1 -0
- package/dist/modules/access/access-mutation.service.js +4 -4
- package/dist/modules/access/access-mutation.service.js.map +1 -1
- package/dist/modules/access/access-splice.d.ts +16 -1
- package/dist/modules/access/access-splice.d.ts.map +1 -1
- package/dist/modules/access/access-splice.js +40 -21
- package/dist/modules/access/access-splice.js.map +1 -1
- package/dist/modules/access/access.routes.d.ts.map +1 -1
- package/dist/modules/access/access.routes.js +51 -0
- package/dist/modules/access/access.routes.js.map +1 -1
- package/dist/modules/access/creator-access.d.ts +8 -0
- package/dist/modules/access/creator-access.d.ts.map +1 -1
- package/dist/modules/access/creator-access.js +21 -2
- package/dist/modules/access/creator-access.js.map +1 -1
- package/dist/modules/admin/admin-access.service.d.ts +1 -1
- package/dist/modules/admin/admin-access.service.d.ts.map +1 -1
- package/dist/modules/admin/admin-access.service.js +3 -2
- package/dist/modules/admin/admin-access.service.js.map +1 -1
- package/dist/modules/auth/auth.routes.d.ts.map +1 -1
- package/dist/modules/auth/auth.routes.js +50 -1
- package/dist/modules/auth/auth.routes.js.map +1 -1
- package/dist/modules/auth/auth.service.d.ts +39 -10
- package/dist/modules/auth/auth.service.d.ts.map +1 -1
- package/dist/modules/auth/auth.service.js +38 -16
- package/dist/modules/auth/auth.service.js.map +1 -1
- package/dist/modules/database/core-schema.d.ts +124 -0
- package/dist/modules/database/core-schema.d.ts.map +1 -1
- package/dist/modules/database/core-schema.js +45 -0
- package/dist/modules/database/core-schema.js.map +1 -1
- package/dist/modules/groups/group-provision.service.d.ts +130 -0
- package/dist/modules/groups/group-provision.service.d.ts.map +1 -0
- package/dist/modules/groups/group-provision.service.js +288 -0
- package/dist/modules/groups/group-provision.service.js.map +1 -0
- package/dist/modules/groups/groups.contract.d.ts +106 -0
- package/dist/modules/groups/groups.contract.d.ts.map +1 -0
- package/dist/modules/groups/groups.contract.js +36 -0
- package/dist/modules/groups/groups.contract.js.map +1 -0
- package/dist/modules/groups/groups.routes.d.ts +42 -0
- package/dist/modules/groups/groups.routes.d.ts.map +1 -0
- package/dist/modules/groups/groups.routes.js +379 -0
- package/dist/modules/groups/groups.routes.js.map +1 -0
- package/dist/modules/groups/groups.service.d.ts +60 -0
- package/dist/modules/groups/groups.service.d.ts.map +1 -0
- package/dist/modules/groups/groups.service.js +172 -0
- package/dist/modules/groups/groups.service.js.map +1 -0
- package/dist/modules/groups/index.d.ts +7 -0
- package/dist/modules/groups/index.d.ts.map +1 -0
- package/dist/modules/groups/index.js +6 -0
- package/dist/modules/groups/index.js.map +1 -0
- package/dist/modules/groups/join-proposals.d.ts +53 -0
- package/dist/modules/groups/join-proposals.d.ts.map +1 -0
- package/dist/modules/groups/join-proposals.js +67 -0
- package/dist/modules/groups/join-proposals.js.map +1 -0
- package/dist/modules/groups/join-requests.service.d.ts +81 -0
- package/dist/modules/groups/join-requests.service.d.ts.map +1 -0
- package/dist/modules/groups/join-requests.service.js +135 -0
- package/dist/modules/groups/join-requests.service.js.map +1 -0
- package/dist/modules/secrets-vault/secrets-vault.routes.d.ts +20 -0
- package/dist/modules/secrets-vault/secrets-vault.routes.d.ts.map +1 -1
- package/dist/modules/secrets-vault/secrets-vault.routes.js +59 -11
- package/dist/modules/secrets-vault/secrets-vault.routes.js.map +1 -1
- package/dist/modules/settings/deployment-settings.service.d.ts +129 -0
- package/dist/modules/settings/deployment-settings.service.d.ts.map +1 -0
- package/dist/modules/settings/deployment-settings.service.js +368 -0
- package/dist/modules/settings/deployment-settings.service.js.map +1 -0
- package/dist/modules/settings/setup.routes.d.ts +49 -0
- package/dist/modules/settings/setup.routes.d.ts.map +1 -0
- package/dist/modules/settings/setup.routes.js +292 -0
- package/dist/modules/settings/setup.routes.js.map +1 -0
- package/dist/modules/skills/index.d.ts +2 -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 +40 -0
- package/dist/modules/skills/pending-skills.service.d.ts.map +1 -0
- package/dist/modules/skills/pending-skills.service.js +147 -0
- package/dist/modules/skills/pending-skills.service.js.map +1 -0
- package/dist/modules/skills/skills.contract.d.ts +32 -3
- package/dist/modules/skills/skills.contract.d.ts.map +1 -1
- package/dist/modules/skills/skills.contract.js +1 -1
- package/dist/modules/skills/skills.routes.d.ts +3 -2
- package/dist/modules/skills/skills.routes.d.ts.map +1 -1
- package/dist/modules/skills/skills.routes.js +18 -1
- package/dist/modules/skills/skills.routes.js.map +1 -1
- package/dist/modules/skills/skills.service.d.ts +22 -0
- package/dist/modules/skills/skills.service.d.ts.map +1 -1
- package/dist/modules/skills/skills.service.js +24 -12
- package/dist/modules/skills/skills.service.js.map +1 -1
- package/dist/modules/tool-manuals/index.d.ts +1 -1
- package/dist/modules/tool-manuals/index.d.ts.map +1 -1
- package/dist/modules/tool-manuals/index.js.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.contract.d.ts +47 -2
- package/dist/modules/tool-manuals/tool-manuals.contract.d.ts.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.contract.js +1 -1
- package/dist/modules/tool-manuals/tool-manuals.routes.d.ts +4 -0
- package/dist/modules/tool-manuals/tool-manuals.routes.d.ts.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.routes.js +23 -0
- package/dist/modules/tool-manuals/tool-manuals.routes.js.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.service.d.ts +3 -1
- package/dist/modules/tool-manuals/tool-manuals.service.d.ts.map +1 -1
- package/dist/modules/tool-manuals/tool-manuals.service.js +84 -17
- 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 +6 -2
- 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 +4 -2
- package/dist/modules/workflow/agent-tools/workflow.tools.js.map +1 -1
- package/dist/modules/workflow/event-bus.d.ts +11 -0
- package/dist/modules/workflow/event-bus.d.ts.map +1 -1
- package/dist/modules/workflow/event-bus.js +22 -0
- package/dist/modules/workflow/event-bus.js.map +1 -1
- package/dist/modules/workflow/file-lock.service.d.ts +9 -0
- package/dist/modules/workflow/file-lock.service.d.ts.map +1 -1
- package/dist/modules/workflow/file-lock.service.js +16 -0
- package/dist/modules/workflow/file-lock.service.js.map +1 -1
- package/dist/modules/workflow/git/branch-name.d.ts +1 -1
- package/dist/modules/workflow/git/branch-name.d.ts.map +1 -1
- package/dist/modules/workflow/git/branch-name.js +1 -1
- package/dist/modules/workflow/git/branch-name.js.map +1 -1
- package/dist/modules/workflow/git/git.service.d.ts +31 -2
- package/dist/modules/workflow/git/git.service.d.ts.map +1 -1
- package/dist/modules/workflow/git/git.service.js +157 -54
- package/dist/modules/workflow/git/git.service.js.map +1 -1
- package/dist/modules/workflow/git/pull-request.service.d.ts +12 -6
- package/dist/modules/workflow/git/pull-request.service.d.ts.map +1 -1
- package/dist/modules/workflow/git/pull-request.service.js +19 -9
- package/dist/modules/workflow/git/pull-request.service.js.map +1 -1
- package/dist/modules/workflow/review-workflow/review-workflow.service.d.ts.map +1 -1
- package/dist/modules/workflow/review-workflow/review-workflow.service.js +12 -3
- package/dist/modules/workflow/review-workflow/review-workflow.service.js.map +1 -1
- package/dist/modules/workflow/workflow.routes.d.ts.map +1 -1
- package/dist/modules/workflow/workflow.routes.js +95 -14
- package/dist/modules/workflow/workflow.routes.js.map +1 -1
- package/dist/modules/workflow/workflow.service.d.ts +97 -5
- package/dist/modules/workflow/workflow.service.d.ts.map +1 -1
- package/dist/modules/workflow/workflow.service.js +393 -114
- package/dist/modules/workflow/workflow.service.js.map +1 -1
- package/dist/modules/workspace/bevel-ignore.d.ts +5 -0
- package/dist/modules/workspace/bevel-ignore.d.ts.map +1 -1
- package/dist/modules/workspace/bevel-ignore.js +5 -1
- package/dist/modules/workspace/bevel-ignore.js.map +1 -1
- package/dist/modules/workspace/kb-seed.interface.d.ts +1 -1
- package/dist/modules/workspace/kb-seed.service.d.ts +60 -5
- package/dist/modules/workspace/kb-seed.service.d.ts.map +1 -1
- package/dist/modules/workspace/kb-seed.service.js +228 -51
- package/dist/modules/workspace/kb-seed.service.js.map +1 -1
- package/dist/modules/workspace/workspace.routes.d.ts +2 -1
- package/dist/modules/workspace/workspace.routes.d.ts.map +1 -1
- package/dist/modules/workspace/workspace.routes.js +51 -18
- package/dist/modules/workspace/workspace.routes.js.map +1 -1
- package/dist/modules/workspace/workspace.service.d.ts +16 -4
- package/dist/modules/workspace/workspace.service.d.ts.map +1 -1
- package/dist/modules/workspace/workspace.service.js +36 -9
- package/dist/modules/workspace/workspace.service.js.map +1 -1
- package/dist/modules/workspace/workspace.tools.d.ts.map +1 -1
- package/dist/modules/workspace/workspace.tools.js +8 -3
- package/dist/modules/workspace/workspace.tools.js.map +1 -1
- package/dist/shared/kb-layout.test.js +2 -2
- package/dist/test-setup.d.ts +2 -0
- package/dist/test-setup.d.ts.map +1 -0
- package/dist/test-setup.js +18 -0
- package/dist/test-setup.js.map +1 -0
- package/kb-template/.bevelignore +6 -2
- package/kb-template/AGENTS.md +272 -0
- package/kb-template/KnowledgeBase/How to get started.md +65 -0
- package/kb-template/access.md +36 -36
- package/migrations/0002_user_onboarding_done.sql +1 -0
- package/migrations/0003_deployment_settings.sql +9 -0
- package/migrations/meta/0001_snapshot.json +1486 -0
- package/migrations/meta/0002_snapshot.json +1493 -0
- package/migrations/meta/0003_snapshot.json +1552 -0
- package/migrations/meta/_journal.json +15 -1
- package/package.json +3 -3
- package/src/__tests__/branch-model.test.ts +79 -0
- package/src/__tests__/core-config.admin.test.ts +114 -0
- package/src/__tests__/database-url.test.ts +70 -0
- package/src/core/core-ports.ts +15 -0
- package/src/core/create-core-server.ts +55 -6
- package/src/core/create-core-services.ts +201 -36
- package/src/core-config.ts +139 -59
- package/src/modules/access/__tests__/access-declarations.test.ts +195 -0
- package/src/modules/access/__tests__/access-md-format.test.ts +191 -0
- package/src/modules/access/__tests__/access-splice.test.ts +21 -0
- package/src/modules/access/__tests__/access.routes.overrides.test.ts +214 -0
- package/src/modules/access/access-control.interface.ts +11 -0
- package/src/modules/access/access-control.service.ts +113 -15
- package/src/modules/access/access-declarations.ts +251 -0
- package/src/modules/access/access-mutation.service.ts +4 -4
- package/src/modules/access/access-splice.ts +64 -21
- package/src/modules/access/access.routes.ts +61 -0
- package/src/modules/access/creator-access.ts +22 -2
- package/src/modules/admin/admin-access.service.ts +4 -3
- package/src/modules/auth/__tests__/auth.service.test.ts +57 -0
- package/src/modules/auth/__tests__/onboarding-done.route.test.ts +147 -0
- package/src/modules/auth/auth.routes.ts +50 -1
- package/src/modules/auth/auth.service.ts +55 -17
- package/src/modules/database/core-schema.ts +46 -0
- package/src/modules/groups/__tests__/group-index.service.test.ts +225 -0
- package/src/modules/groups/__tests__/group-provision.service.test.ts +247 -0
- package/src/modules/groups/__tests__/groups.routes.test.ts +493 -0
- package/src/modules/groups/__tests__/join-proposals.test.ts +101 -0
- package/src/modules/groups/__tests__/join-requests.service.test.ts +175 -0
- package/src/modules/groups/group-provision.service.ts +328 -0
- package/src/modules/groups/groups.contract.ts +107 -0
- package/src/modules/groups/groups.routes.ts +433 -0
- package/src/modules/groups/groups.service.ts +193 -0
- package/src/modules/groups/index.ts +17 -0
- package/src/modules/groups/join-proposals.ts +114 -0
- package/src/modules/groups/join-requests.service.ts +185 -0
- package/src/modules/secrets-vault/__tests__/oauth-return-to.route.test.ts +283 -0
- package/src/modules/secrets-vault/secrets-vault.routes.ts +68 -12
- package/src/modules/settings/__tests__/deployment-settings.service.test.ts +256 -0
- package/src/modules/settings/__tests__/setup.routes.test.ts +201 -0
- package/src/modules/settings/deployment-settings.service.ts +419 -0
- package/src/modules/settings/setup.routes.ts +317 -0
- package/src/modules/skills/__tests__/pending-skills.service.test.ts +240 -0
- package/src/modules/skills/__tests__/skills.service.test.ts +13 -13
- package/src/modules/skills/index.ts +3 -0
- package/src/modules/skills/pending-skills.service.ts +168 -0
- package/src/modules/skills/skills.contract.ts +34 -3
- package/src/modules/skills/skills.routes.ts +23 -2
- package/src/modules/skills/skills.service.ts +24 -16
- package/src/modules/tool-manuals/__tests__/tool-manuals.detail.route.test.ts +262 -0
- package/src/modules/tool-manuals/__tests__/tool-manuals.mcp-oauth.test.ts +2 -2
- package/src/modules/tool-manuals/__tests__/tool-manuals.service.test.ts +61 -23
- package/src/modules/tool-manuals/__tests__/tool-manuals.tools.test.ts +156 -156
- package/src/modules/tool-manuals/index.ts +2 -0
- package/src/modules/tool-manuals/tool-manuals.contract.ts +50 -2
- package/src/modules/tool-manuals/tool-manuals.routes.ts +21 -0
- package/src/modules/tool-manuals/tool-manuals.service.ts +86 -17
- package/src/modules/tool-manuals/tool-manuals.tools.ts +206 -202
- package/src/modules/workflow/__tests__/event-bus.test.ts +35 -0
- package/src/modules/workflow/__tests__/pending-commits.enqueue-if-absent.test.ts +82 -72
- package/src/modules/workflow/__tests__/workflow.service.facade.test.ts +295 -5
- package/src/modules/workflow/agent-tools/workflow.tools.ts +4 -2
- package/src/modules/workflow/event-bus.ts +25 -0
- package/src/modules/workflow/file-lock.service.ts +17 -0
- package/src/modules/workflow/git/__tests__/git.service.accessGating.test.ts +9 -49
- package/src/modules/workflow/git/__tests__/git.service.changedFilesForPr.test.ts +101 -0
- package/src/modules/workflow/git/__tests__/git.service.commitFile.test.ts +219 -211
- package/src/modules/workflow/git/__tests__/git.service.fileContentsAtCommit.test.ts +132 -0
- package/src/modules/workflow/git/__tests__/git.service.logForFile.test.ts +4 -2
- package/src/modules/workflow/git/__tests__/git.service.postMergePull.test.ts +275 -272
- package/src/modules/workflow/git/__tests__/git.service.pull.test.ts +311 -306
- package/src/modules/workflow/git/__tests__/pull-request.service.viewer-can-cancel.test.ts +44 -0
- package/src/modules/workflow/git/branch-name.ts +5 -1
- package/src/modules/workflow/git/git.service.ts +172 -64
- package/src/modules/workflow/git/pull-request.service.ts +22 -11
- package/src/modules/workflow/review-workflow/__tests__/cancel-pr.test.ts +4 -1
- package/src/modules/workflow/review-workflow/review-workflow.service.ts +12 -3
- package/src/modules/workflow/workflow.routes.ts +91 -13
- package/src/modules/workflow/workflow.service.ts +365 -19
- package/src/modules/workspace/__tests__/kb-seed.service.test.ts +255 -24
- package/src/modules/workspace/__tests__/workspace.routes.create-grant.test.ts +236 -233
- package/src/modules/workspace/__tests__/workspace.routes.delete.test.ts +179 -176
- package/src/modules/workspace/__tests__/workspace.routes.download.test.ts +320 -303
- package/src/modules/workspace/__tests__/workspace.routes.read-gate.test.ts +337 -276
- package/src/modules/workspace/__tests__/workspace.tools.test.ts +14 -6
- package/src/modules/workspace/bevel-ignore.ts +66 -62
- package/src/modules/workspace/kb-seed.interface.ts +1 -1
- package/src/modules/workspace/kb-seed.service.ts +247 -53
- package/src/modules/workspace/workspace.routes.ts +54 -18
- package/src/modules/workspace/workspace.service.ts +45 -7
- package/src/modules/workspace/workspace.tools.ts +922 -917
- package/src/shared/__tests__/frontmatter-id.test.ts +53 -0
- package/src/shared/__tests__/join-request.test.ts +96 -0
- package/src/shared/__tests__/kb-layout.group.test.ts +45 -0
- package/src/shared/kb-layout.test.ts +2 -2
- package/src/test-setup.ts +18 -0
- package/kb-template/Agents/README.md +0 -38
- package/kb-template/CLAUDE.md +0 -419
- package/kb-template/Data/.gitkeep +0 -0
- package/kb-template/Data/README.md +0 -39
- package/kb-template/KnowledgeBase/README.md +0 -37
- package/kb-template/Pipelines/.gitkeep +0 -0
- package/kb-template/Pipelines/README.md +0 -38
- package/kb-template/Skills/.gitkeep +0 -0
- package/kb-template/Skills/README.md +0 -32
- package/kb-template/Tools/.gitkeep +0 -0
- package/kb-template/Tools/README.md +0 -42
- /package/kb-template/{Agents → Groups}/.gitkeep +0 -0
|
@@ -72,6 +72,21 @@ export interface CorePorts {
|
|
|
72
72
|
* construction (participants are only iterated at erasure time).
|
|
73
73
|
*/
|
|
74
74
|
erasureParticipants?: IErasureParticipant[];
|
|
75
|
+
/**
|
|
76
|
+
* Root folders THIS distribution reserves in the knowledge base, on top of
|
|
77
|
+
* core's `KnowledgeBase/` + `Groups/`. Core default: `[]`.
|
|
78
|
+
*
|
|
79
|
+
* A name here does two things: the seeder guarantees the folder exists on
|
|
80
|
+
* every branch it tops up, and — because the names are already reserved in
|
|
81
|
+
* `kb-layout.ts` — the file tree keeps rendering it as its own root instead
|
|
82
|
+
* of folding it into Knowledge as stray content.
|
|
83
|
+
*
|
|
84
|
+
* The folder is created as an empty `<dir>/.gitkeep`, written rather than
|
|
85
|
+
* copied, so reserving a root does not oblige a distribution to fork the
|
|
86
|
+
* packaged template. Ship a `KB_TEMPLATE_DIR` of your own when those folders
|
|
87
|
+
* should arrive carrying READMEs.
|
|
88
|
+
*/
|
|
89
|
+
kbExtraRootDirs?: readonly string[];
|
|
75
90
|
}
|
|
76
91
|
/**
|
|
77
92
|
* Core default recovery agent: does nothing. The worker's retry ladder still
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-ports.d.ts","sourceRoot":"","sources":["../../src/core/core-ports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,+CAA+C,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC;;;;OAIG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;;OAIG;IACH,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACrC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"core-ports.d.ts","sourceRoot":"","sources":["../../src/core/core-ports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,+CAA+C,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC;;;;OAIG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;;OAIG;IACH,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACrC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC5C;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,mBAI/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-ports.js","sourceRoot":"","sources":["../../src/core/core-ports.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"core-ports.js","sourceRoot":"","sources":["../../src/core/core-ports.ts"],"names":[],"mappings":"AA+FA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAwB;IACpD,KAAK,CAAC,GAAG;QACP,yCAAyC;IAC3C,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-core-server.d.ts","sourceRoot":"","sources":["../../src/core/create-core-server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"create-core-server.d.ts","sourceRoot":"","sources":["../../src/core/create-core-server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAqBtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAUzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAE7C;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAChD,+EAA+E;IAC/E,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC;;;;OAIG;IACH,MAAM,CAAC,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAClD,mFAAmF;IACnF,OAAO,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IACpD;;;;OAIG;IACH,KAAK,CAAC,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAAC;IAClC;;;;OAIG;IACH,SAAS,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IACtD,2EAA2E;IAC3E,MAAM,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;CACpD;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,YAAY,EAClB,GAAG,GAAE,gBAAqB,EAC1B,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CAAC,UAAU,CAAC,CAqTrB"}
|
|
@@ -16,9 +16,12 @@ import { registerWorkflowTools } from '../modules/workflow/agent-tools/workflow.
|
|
|
16
16
|
import { registerWorkspaceTools } from '../modules/workspace/workspace.tools.js';
|
|
17
17
|
import { RECOVERY_BOT_EMAIL } from '../modules/workflow/recovery-bot.js';
|
|
18
18
|
import { registerSkillsTools, createSkillsRoutes } from '../modules/skills/index.js';
|
|
19
|
+
import { createGroupsRoutes } from '../modules/groups/index.js';
|
|
19
20
|
import { createSecretsVaultRoutes, createSecretsVaultPublicRoutes, } from '../modules/secrets-vault/index.js';
|
|
20
21
|
import { createAdminAccessRoutes } from '../modules/admin/admin-access.routes.js';
|
|
21
22
|
import { createAccountRoutes } from '../modules/auth/account.routes.js';
|
|
23
|
+
import { createSetupRoutes } from '../modules/settings/setup.routes.js';
|
|
24
|
+
import { DEFAULT_BRANCH, PROTECTED_BRANCHES } from '@bevel-software/platform-shared';
|
|
22
25
|
import { GIT_SHA } from '../version.js';
|
|
23
26
|
export async function createCoreServer(core, ext = {}, opts = {}) {
|
|
24
27
|
const app = express();
|
|
@@ -71,6 +74,28 @@ export async function createCoreServer(core, ext = {}, opts = {}) {
|
|
|
71
74
|
app.get('/api/health', (_req, res) => {
|
|
72
75
|
res.json({ status: 'ok', sha: GIT_SHA, timestamp: Date.now() });
|
|
73
76
|
});
|
|
77
|
+
/**
|
|
78
|
+
* The handful of facts the browser needs BEFORE it can render anything, and
|
|
79
|
+
* therefore before it can authenticate: the branch model.
|
|
80
|
+
*
|
|
81
|
+
* Unauthenticated on purpose. The login screen, the router and every module
|
|
82
|
+
* that reads `DEFAULT_BRANCH` are loaded before a session exists, so a gated
|
|
83
|
+
* endpoint could not answer in time. What it discloses is two branch names —
|
|
84
|
+
* which every change request and every URL already shows to anyone who does
|
|
85
|
+
* get in — and nothing about the repository they live in.
|
|
86
|
+
*
|
|
87
|
+
* This replaces baking the values into the frontend bundle at build time.
|
|
88
|
+
* One artifact now serves any deployment, and renaming a branch no longer
|
|
89
|
+
* means a rebuild.
|
|
90
|
+
*/
|
|
91
|
+
app.get('/api/config', (_req, res) => {
|
|
92
|
+
res.json({
|
|
93
|
+
branchModel: {
|
|
94
|
+
defaultBranch: DEFAULT_BRANCH,
|
|
95
|
+
protectedBranches: [...PROTECTED_BRANCHES],
|
|
96
|
+
},
|
|
97
|
+
});
|
|
98
|
+
});
|
|
74
99
|
// Overlay boot-time side effects (startup reconciles, periodic sweeps).
|
|
75
100
|
await ext.onBoot?.(core);
|
|
76
101
|
// Auth routes (unprotected — login endpoint must be accessible)
|
|
@@ -129,12 +154,12 @@ export async function createCoreServer(core, ext = {}, opts = {}) {
|
|
|
129
154
|
const sessionOntologyGate = {
|
|
130
155
|
service: core.sessionOntologyService,
|
|
131
156
|
enabled: core.config.ontologySessionBlock,
|
|
132
|
-
kbDirName: core.
|
|
157
|
+
kbDirName: core.kbDirName,
|
|
133
158
|
recoveryBotEmail: RECOVERY_BOT_EMAIL,
|
|
134
159
|
hooks: core.workflowService.hooks,
|
|
135
160
|
};
|
|
136
161
|
registerWorkflowTools(core.toolRegistry, toolsRouter, ta, th);
|
|
137
|
-
registerWorkspaceTools(core.toolRegistry, toolsRouter, ta, th, core.spillStore, core.accessControl, core.
|
|
162
|
+
registerWorkspaceTools(core.toolRegistry, toolsRouter, ta, th, core.spillStore, core.accessControl, core.kbDirName, sessionOntologyGate, core.routineWritePolicy, core.sessionSink);
|
|
138
163
|
registerSkillsTools(core.toolRegistry, toolsRouter, ta, th, core.skillService);
|
|
139
164
|
registerToolManualsTools(core.toolRegistry, toolsRouter, ta, th, core.toolManualService, {
|
|
140
165
|
accessControl: core.accessControl,
|
|
@@ -162,7 +187,7 @@ export async function createCoreServer(core, ext = {}, opts = {}) {
|
|
|
162
187
|
// doc on ServerExtensions.postTools).
|
|
163
188
|
ext.postTools?.(app, core);
|
|
164
189
|
// Protected routes
|
|
165
|
-
app.use('/api', core.authMiddleware, createWorkspaceRoutes(core.workspaceService, core.authService, core.workflowService, core.eventBus, core.accessControl, core.
|
|
190
|
+
app.use('/api', core.authMiddleware, createWorkspaceRoutes(core.workspaceService, core.authService, core.workflowService, core.eventBus, core.accessControl, core.kbDirName, core.creatorAccess, core.adminAccess));
|
|
166
191
|
// Workflow is the only branches / changes / change-request surface. The
|
|
167
192
|
// former /git/*, /pr/*, /pr/:n/* routes are gone — every consumer goes
|
|
168
193
|
// through /workflow/* now.
|
|
@@ -173,15 +198,24 @@ export async function createCoreServer(core, ext = {}, opts = {}) {
|
|
|
173
198
|
// browser API can't set headers). Mounted as its own app.use so it
|
|
174
199
|
// doesn't share an outer middleware chain with the JSON routes above.
|
|
175
200
|
app.use('/api', createEventsRoutes(core.eventBus, core.authMiddleware));
|
|
176
|
-
app.use('/api', core.authMiddleware, createDiffRoutes(core.diffService, core.authService, core.workflowService, core.accessControl, core.
|
|
177
|
-
app.use('/api', core.authMiddleware, createAccessRoutes(core.accessControl, core.workspaceService, core.authService, core.workflowService, core.eventBus, core.db, core.
|
|
178
|
-
app.use('/api', core.authMiddleware, createSkillsRoutes(core.skillService));
|
|
201
|
+
app.use('/api', core.authMiddleware, createDiffRoutes(core.diffService, core.authService, core.workflowService, core.accessControl, core.kbDirName));
|
|
202
|
+
app.use('/api', core.authMiddleware, createAccessRoutes(core.accessControl, core.workspaceService, core.authService, core.workflowService, core.eventBus, core.db, core.kbDirName));
|
|
203
|
+
app.use('/api', core.authMiddleware, createSkillsRoutes(core.skillService, core.pendingSkillsService));
|
|
204
|
+
// Group enumeration + join requests. Browser-only (JWT), and fail-closed
|
|
205
|
+
// like every other read surface: groups the caller cannot access (member,
|
|
206
|
+
// manager, or discoverable via the access.md file's own read grant) are
|
|
207
|
+
// absent from the list. A join request is a plain change request.
|
|
208
|
+
app.use('/api', core.authMiddleware, createGroupsRoutes(core.groupIndexService, core.accessControl, core.workflowService, core.workspaceService, core.joinRequestsService, core.groupProvisionService, core.kbDirName, async (req) => (req.userId ? ((await core.authService.getUserById(req.userId)) ?? null) : null)));
|
|
179
209
|
// Admin-status resolver (CORE — see the note in admin-access.routes.ts;
|
|
180
210
|
// the full admin router is an enterprise `ext.authed` extension).
|
|
181
211
|
app.use('/api', core.authMiddleware, createAdminAccessRoutes(core.adminAccess));
|
|
182
212
|
// Account management (list/create password accounts, GDPR erasure) —
|
|
183
213
|
// admin-gated inside.
|
|
184
214
|
app.use('/api', core.authMiddleware, createAccountRoutes(core.authService, core.adminAccess, core.accountErasureService));
|
|
215
|
+
// First-run setup. Mounted with the other authed routes but touching NO
|
|
216
|
+
// workspace — it has to work on a deployment that has no knowledge base yet,
|
|
217
|
+
// which is the whole reason it exists.
|
|
218
|
+
app.use('/api', core.authMiddleware, createSetupRoutes(core.settings, core.adminAccess));
|
|
185
219
|
app.use('/api', core.authMiddleware, createToolManualsBrowserRoutes(core.toolManualService));
|
|
186
220
|
app.use('/api', core.authMiddleware, createSecretsVaultRoutes(secretsVaultRoutesDeps));
|
|
187
221
|
// The authed tail of the MCP OAuth flow: /connect calls these to describe
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-core-server.js","sourceRoot":"","sources":["../../src/core/create-core-server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"create-core-server.js","sourceRoot":"","sources":["../../src/core/create-core-server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EACL,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AA2DxC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAkB,EAClB,MAAwB,EAAE,EAC1B,OAA+B,EAAE;IAEjC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IAEtB,yEAAyE;IACzE,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,wEAAwE;IACxE,sDAAsD;IACtD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QACnC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;IAED,yEAAyE;IACzE,iEAAiE;IACjE,uEAAuE;IACvE,sEAAsE;IACtE,iEAAiE;IACjE,yEAAyE;IACzE,qDAAqD;IACrD,EAAE;IACF,6EAA6E;IAC7E,4EAA4E;IAC5E,8EAA8E;IAC9E,4EAA4E;IAC5E,wEAAwE;IACxE,6EAA6E;IAC7E,4EAA4E;IAC5E,GAAG,CAAC,GAAG,CACL,IAAI,CAAC;QACH,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,kBAAkB,CAAC;KAC/E,CAAC,CACH,CAAC;IACF,2EAA2E;IAC3E,0EAA0E;IAC1E,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,2BAA2B;IAC3B,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACzB,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,EAAE,CAAC;QACjD,OAAO,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,qEAAqE;IACrE,2EAA2E;IAC3E,6DAA6D;IAC7D,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACnC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH;;;;;;;;;;;;;OAaG;IACH,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACnC,GAAG,CAAC,IAAI,CAAC;YACP,WAAW,EAAE;gBACX,aAAa,EAAE,cAAc;gBAC7B,iBAAiB,EAAE,CAAC,GAAG,kBAAkB,CAAC;aAC3C;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,wEAAwE;IACxE,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;IAEzB,gEAAgE;IAChE,GAAG,CAAC,GAAG,CACL,MAAM,EACN,gBAAgB,CACd,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACjC,CACF,CAAC;IAEF,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,kDAAkD;IAClD,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAC7B,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,UAAU,CAChB,CAAC,CAAC;IAEH,qEAAqE;IACrE,qEAAqE;IACrE,yEAAyE;IACzE,qEAAqE;IACrE,sEAAsE;IACtE,sEAAsE;IACtE,0DAA0D;IAC1D,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC;QACpB,QAAQ,EAAE,IAAI,CAAC,gBAAgB;QAC/B,SAAS,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAChD,iBAAiB,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACpE,eAAe,EAAE,CAAC,KAAK,CAAC;QACxB,YAAY,EAAE,WAAW;KAC1B,CAAC,CAAC,CAAC;IAEJ,sEAAsE;IACtE,6DAA6D;IAC7D,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAEzB,8EAA8E;IAC9E,8EAA8E;IAC9E,qEAAqE;IACrE,MAAM,sBAAsB,GAAG;QAC7B,YAAY,EAAE,IAAI,CAAC,mBAAmB;QACtC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;QAClC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;QAC9C,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB;KACjD,CAAC;IACF,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,8BAA8B,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAExE,4EAA4E;IAC5E,8EAA8E;IAC9E,0EAA0E;IAC1E,8EAA8E;IAC9E,0EAA0E;IAC1E,uEAAuE;IACvE,uEAAuE;IACvE,iBAAiB;IACjB,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IACrC,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;IACnC,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;IACnC,uEAAuE;IACvE,qEAAqE;IACrE,yEAAyE;IACzE,uEAAuE;IACvE,uDAAuD;IACvD,MAAM,mBAAmB,GAAG;QAC1B,OAAO,EAAE,IAAI,CAAC,sBAAsB;QACpC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB;QACzC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,gBAAgB,EAAE,kBAAkB;QACpC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;KAClC,CAAC;IACF,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9D,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,mBAAmB,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpL,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/E,wBAAwB,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE;QACvF,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,gFAAgF;QAChF,+EAA+E;QAC/E,cAAc,EAAE,IAAI,CAAC,mBAAmB;KACzC,CAAC,CAAC;IACH,+DAA+D;IAC/D,GAAG,CAAC,KAAK,EAAE,CAAC;QACV,QAAQ,EAAE,IAAI,CAAC,YAAY;QAC3B,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,EAAE;QACf,mBAAmB;QACnB,IAAI;KACL,CAAC,CAAC;IACH,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAChC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,oBAAoB,EACzB,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CACtE,CAAC,CAAC;IACH,8EAA8E;IAC9E,8EAA8E;IAC9E,wCAAwC;IACxC,WAAW,CAAC,GAAG,CAAC,4BAA4B,CAC1C,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,oBAAoB,EACzB,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CACtE,CAAC,CAAC;IACH,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAE7B,qEAAqE;IACrE,wEAAwE;IACxE,sCAAsC;IACtC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAE3B,mBAAmB;IACnB,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,qBAAqB,CACxD,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,WAAW,CACjB,CAAC,CAAC;IACH,wEAAwE;IACxE,uEAAuE;IACvE,2BAA2B;IAC3B,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,oBAAoB,CACvD,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,QAAQ,CACd,CAAC,CAAC;IACH,oEAAoE;IACpE,uEAAuE;IACvE,qEAAqE;IACrE,mEAAmE;IACnE,sEAAsE;IACtE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACxE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,gBAAgB,CACnD,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,SAAS,CACf,CAAC,CAAC;IACH,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,kBAAkB,CACrD,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,SAAS,CACf,CAAC,CAAC;IACH,GAAG,CAAC,GAAG,CACL,MAAM,EACN,IAAI,CAAC,cAAc,EACnB,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,CACjE,CAAC;IACF,yEAAyE;IACzE,0EAA0E;IAC1E,wEAAwE;IACxE,kEAAkE;IAClE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,kBAAkB,CACrD,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,SAAS,EACd,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAChG,CAAC,CAAC;IACH,wEAAwE;IACxE,kEAAkE;IAClE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAChF,qEAAqE;IACrE,sBAAsB;IACtB,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,mBAAmB,CACtD,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,CAC3B,CAAC,CAAC;IACH,wEAAwE;IACxE,6EAA6E;IAC7E,uCAAuC;IACvC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACzF,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,8BAA8B,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC7F,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,wBAAwB,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACvF,0EAA0E;IAC1E,2EAA2E;IAC3E,wEAAwE;IACxE,wEAAwE;IACxE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,wBAAwB,CAAC;QAC5D,QAAQ,EAAE,IAAI,CAAC,gBAAgB;QAC/B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;KACnC,CAAC,CAAC,CAAC;IAEJ,gCAAgC;IAChC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAExB,iDAAiD;IACjD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC;QACpC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACtC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC9B,uEAAuE;YACvE,2EAA2E;YAC3E,yEAAyE;YACzE,0EAA0E;YAC1E,wEAAwE;YACxE,yEAAyE;YACzE,mEAAmE;YACnE,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YACD,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { type Database } from '../modules/database/connection.js';
|
|
|
5
5
|
import { WorkspaceService } from '../modules/workspace/workspace.service.js';
|
|
6
6
|
import { RoutineWritePolicyService } from '../modules/workspace/routine-write-policy.js';
|
|
7
7
|
import { KbSeedService } from '../modules/workspace/kb-seed.service.js';
|
|
8
|
+
import { DeploymentSettingsService } from '../modules/settings/deployment-settings.service.js';
|
|
8
9
|
import { SpillStore } from '../modules/workspace/spill-store.js';
|
|
9
10
|
import { type ISessionSink } from '../modules/workspace/session-sink.js';
|
|
10
11
|
import { AuthService } from '../modules/auth/auth.service.js';
|
|
@@ -12,8 +13,9 @@ import { AccountErasureService } from '../modules/auth/account-erasure.service.j
|
|
|
12
13
|
import { createAuthMiddleware } from '../modules/auth/auth.middleware.js';
|
|
13
14
|
import { AccessControlService } from '../modules/access/access-control.service.js';
|
|
14
15
|
import { CreatorAccessService } from '../modules/access/creator-access.js';
|
|
15
|
-
import { SkillService } from '../modules/skills/index.js';
|
|
16
|
+
import { PendingSkillsService, SkillService } from '../modules/skills/index.js';
|
|
16
17
|
import { ToolManualService } from '../modules/tool-manuals/index.js';
|
|
18
|
+
import { GroupIndexService, GroupProvisionService, JoinRequestsService } from '../modules/groups/index.js';
|
|
17
19
|
import { DbSecretsVaultService } from '../modules/secrets-vault/index.js';
|
|
18
20
|
import { GitService } from '../modules/workflow/git/git.service.js';
|
|
19
21
|
import { PullRequestService } from '../modules/workflow/git/pull-request.service.js';
|
|
@@ -58,7 +60,11 @@ export interface CoreServices {
|
|
|
58
60
|
sessionOntologyService: SessionOntologyService;
|
|
59
61
|
routineWritePolicy: RoutineWritePolicyService;
|
|
60
62
|
skillService: SkillService;
|
|
63
|
+
pendingSkillsService: PendingSkillsService;
|
|
61
64
|
toolManualService: ToolManualService;
|
|
65
|
+
groupIndexService: GroupIndexService;
|
|
66
|
+
groupProvisionService: GroupProvisionService;
|
|
67
|
+
joinRequestsService: JoinRequestsService;
|
|
62
68
|
authService: AuthService;
|
|
63
69
|
authMiddleware: ReturnType<typeof createAuthMiddleware>;
|
|
64
70
|
accountErasureService: AccountErasureService;
|
|
@@ -74,6 +80,16 @@ export interface CoreServices {
|
|
|
74
80
|
pendingCommitsWorker: PendingCommitsWorker;
|
|
75
81
|
recoveryBot: AuthUser;
|
|
76
82
|
adminAccess: AdminAccessService;
|
|
83
|
+
/** Deployment settings, env-first — the KB remote resolves through these. */
|
|
84
|
+
settings: DeploymentSettingsService;
|
|
85
|
+
/**
|
|
86
|
+
* The knowledge-base directory name IN EFFECT — environment first, then the
|
|
87
|
+
* stored setting, then the default. Published here because `config.kbDirName`
|
|
88
|
+
* is only the environment's half of that answer: reading it directly gives
|
|
89
|
+
* the empty string on any deployment configured through the setup screen, and
|
|
90
|
+
* every path built from it would be wrong.
|
|
91
|
+
*/
|
|
92
|
+
kbDirName: string;
|
|
77
93
|
secretsVaultService: DbSecretsVaultService;
|
|
78
94
|
externalApiKeyService: ExternalApiKeyService;
|
|
79
95
|
internalTokenService: InternalTokenService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-core-services.d.ts","sourceRoot":"","sources":["../../src/core/create-core-services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"create-core-services.d.ts","sourceRoot":"","sources":["../../src/core/create-core-services.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
import { DEFAULT_BRANCH, PROTECTED_BRANCHES,
|
|
1
|
+
import { DEFAULT_BRANCH, configureBranchModel, validateBranchModel, PROTECTED_BRANCHES, GROUPS_DIR, } from '@bevel-software/platform-shared';
|
|
2
2
|
import { getDb } from '../modules/database/connection.js';
|
|
3
3
|
import { runCoreMigrations } from '../modules/database/migrate.js';
|
|
4
4
|
import { coreMigrationsDir } from '../assets.js';
|
|
5
5
|
import { WorkspaceService } from '../modules/workspace/workspace.service.js';
|
|
6
6
|
import { RoutineWritePolicyService } from '../modules/workspace/routine-write-policy.js';
|
|
7
7
|
import { KbSeedService } from '../modules/workspace/kb-seed.service.js';
|
|
8
|
+
import { DeploymentSettingsService } from '../modules/settings/deployment-settings.service.js';
|
|
9
|
+
/** `a.com, b.com` → `['a.com','b.com']`, tolerating a leading `@` or `.`. */
|
|
10
|
+
function parseDomainList(raw) {
|
|
11
|
+
return raw
|
|
12
|
+
.split(/[\s,]+/)
|
|
13
|
+
.map((d) => d.trim().toLowerCase().replace(/^[@.]+/, ''))
|
|
14
|
+
.filter((d) => d.length > 0);
|
|
15
|
+
}
|
|
8
16
|
import { SpillStore } from '../modules/workspace/spill-store.js';
|
|
9
17
|
import { UuidSessionSink } from '../modules/workspace/session-sink.js';
|
|
10
18
|
import { AuthService } from '../modules/auth/auth.service.js';
|
|
@@ -13,8 +21,9 @@ import { OidcAuthProvider } from '../modules/auth/oidc-auth-provider.js';
|
|
|
13
21
|
import { createAuthMiddleware } from '../modules/auth/auth.middleware.js';
|
|
14
22
|
import { AccessControlService } from '../modules/access/access-control.service.js';
|
|
15
23
|
import { CreatorAccessService } from '../modules/access/creator-access.js';
|
|
16
|
-
import { SkillService } from '../modules/skills/index.js';
|
|
24
|
+
import { PendingSkillsService, SkillService } from '../modules/skills/index.js';
|
|
17
25
|
import { ToolManualService } from '../modules/tool-manuals/index.js';
|
|
26
|
+
import { GroupIndexService, GroupProvisionService, JoinRequestsService } from '../modules/groups/index.js';
|
|
18
27
|
import { DbSecretsVaultService, McpOAuthDiscoveryService, registerBevelSecretsVariableLoader, } from '../modules/secrets-vault/index.js';
|
|
19
28
|
import { GitService } from '../modules/workflow/git/git.service.js';
|
|
20
29
|
import { PullRequestService } from '../modules/workflow/git/pull-request.service.js';
|
|
@@ -63,21 +72,65 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
63
72
|
// `migrations/` folder, tracked in `__drizzle_migrations_core`. An
|
|
64
73
|
// enterprise overlay runs its own history AFTER this (see migrate.ts).
|
|
65
74
|
await runCoreMigrations(db, coreMigrationsDir());
|
|
66
|
-
|
|
75
|
+
// Deployment settings come next, before ANY service is built: the KB remote
|
|
76
|
+
// is resolved through them, and a fresh install has none of it in the
|
|
77
|
+
// environment. `load()` is env-first, so an existing deployment sees exactly
|
|
78
|
+
// what it saw before — a stored row only answers where a variable is silent.
|
|
79
|
+
const settings = new DeploymentSettingsService(db, config.secretsEncKey);
|
|
80
|
+
await settings.load();
|
|
81
|
+
/**
|
|
82
|
+
* The branch model, before anything reads it. It used to be applied at import
|
|
83
|
+
* time from the environment, which is what forced the frontend to bake it
|
|
84
|
+
* into its bundle; it now comes through the settings store like the rest of
|
|
85
|
+
* the deployment's configuration (environment first, as always).
|
|
86
|
+
*
|
|
87
|
+
* UNCONFIGURED IS ALLOWED, and that is the point: a fresh deployment has no
|
|
88
|
+
* branch model, and refusing to boot would take away the setup screen where
|
|
89
|
+
* one gets entered. What reads it before then is the setup path itself, which
|
|
90
|
+
* does not need it — the bootstrap admin is recognised without a workspace.
|
|
91
|
+
* `isComplete` keeps the rest of the app behind the gate until it is set, and
|
|
92
|
+
* the setting is restart-to-apply because services take the value at
|
|
93
|
+
* construction.
|
|
94
|
+
*/
|
|
95
|
+
const branchModel = {
|
|
96
|
+
defaultBranch: settings.resolve('defaultBranch'),
|
|
97
|
+
protectedBranches: settings.resolve('protectedBranches'),
|
|
98
|
+
};
|
|
99
|
+
if (!validateBranchModel(branchModel))
|
|
100
|
+
configureBranchModel(branchModel);
|
|
101
|
+
// A token supplied through the setup screen has to reach the credential
|
|
102
|
+
// helper, which reads `$GITHUB_TOKEN` at call time.
|
|
103
|
+
settings.syncGitTokenEnv();
|
|
104
|
+
// `kbDirName` is read ONCE and threaded into a dozen services as a plain
|
|
105
|
+
// string, which is why changing it needs a restart (the setting says so).
|
|
106
|
+
// The remote URL and username are read per-operation instead, so an admin
|
|
107
|
+
// finishing setup can clone immediately without bouncing the process.
|
|
108
|
+
const kbDirName = settings.resolve('kbDirName') || 'knowledge-base';
|
|
109
|
+
const workspaceService = new WorkspaceService(config.workspacesRoot, () => settings.resolve('kbRepoUrl'), kbDirName, () => settings.resolve('gitUsername') || 'x-access-token');
|
|
67
110
|
// Seed (or top-up) the KB remote before the first clone so the rest of the app
|
|
68
111
|
// can keep assuming the remote already carries the protected branches + base
|
|
69
112
|
// scaffolding — a fresh or partially-populated remote no longer needs to have
|
|
70
113
|
// been forked from the standalone template.
|
|
71
|
-
const kbSeedService = new KbSeedService(
|
|
114
|
+
const kbSeedService = new KbSeedService(() => settings.resolve('kbRepoUrl'), config.kbTemplateDir,
|
|
115
|
+
// Getters, not values: the branch model can arrive from the setup screen
|
|
116
|
+
// after this object exists, and seeding is the first thing that needs it.
|
|
117
|
+
() => [...PROTECTED_BRANCHES], () => DEFAULT_BRANCH,
|
|
118
|
+
// The deployment owner is the initial Admin of a freshly seeded KB — the
|
|
119
|
+
// same answer `SEED_ADMIN_EMAILS` used to ask for a second time.
|
|
120
|
+
[config.adminEmail], () => settings.resolve('gitUsername') || 'x-access-token',
|
|
121
|
+
// Root folders this distribution reserves on top of core's two. A plain
|
|
122
|
+
// value, not a getter: these are named in the composition root rather than
|
|
123
|
+
// collected on the setup screen, so there is nothing to re-read.
|
|
124
|
+
ports.kbExtraRootDirs ?? []);
|
|
72
125
|
workspaceService.setSeedService(kbSeedService);
|
|
73
126
|
// Shared, workspace-independent store for oversized `call_tool_chain` results,
|
|
74
127
|
// read back via `read_file`. Sibling of `workspacesRoot`, never committed.
|
|
75
128
|
const spillStore = new SpillStore(config.spillRoot);
|
|
76
|
-
const accessControl = new AccessControlService(workspaceService,
|
|
129
|
+
const accessControl = new AccessControlService(workspaceService, kbDirName);
|
|
77
130
|
// Creator read-grant on creation: read is default-deny, so every surface
|
|
78
131
|
// that creates KB files/folders (human routes, agent tools, upload apply)
|
|
79
132
|
// consults this planner to keep creations visible to their creator.
|
|
80
|
-
const creatorAccess = new CreatorAccessService(workspaceService, accessControl,
|
|
133
|
+
const creatorAccess = new CreatorAccessService(workspaceService, accessControl, kbDirName);
|
|
81
134
|
// Ontology-session boundary: records each agent run's touched ontologies and
|
|
82
135
|
// blocks writes once a run has crossed ontologies. Postgres-backed so the
|
|
83
136
|
// boundary survives a restart.
|
|
@@ -88,15 +141,27 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
88
141
|
// one run, unlike the Postgres-backed ontology touched-set above.
|
|
89
142
|
const routineWritePolicy = new RoutineWritePolicyService();
|
|
90
143
|
// Skills: discovered from the default-branch workspace only (global catalog).
|
|
91
|
-
const skillService = new SkillService(workspaceService, accessControl,
|
|
92
|
-
// Tool manuals: user-authored `*.tool` files under `
|
|
144
|
+
const skillService = new SkillService(workspaceService, accessControl, kbDirName);
|
|
145
|
+
// Tool manuals: user-authored `*.tool` files under `Groups/` in the default
|
|
93
146
|
// branch — access-controlled like Skills, served to external agents via
|
|
94
147
|
// `GET /api/agent/all-tools` and registered on the MCP proxy's UTCP client.
|
|
95
|
-
const toolManualService = new ToolManualService(workspaceService, accessControl,
|
|
148
|
+
const toolManualService = new ToolManualService(workspaceService, accessControl, kbDirName);
|
|
149
|
+
// Groups: the folders under `Groups/` that carry a
|
|
150
|
+
// team's skills AND the tools they need. Enumerated for EVERY authenticated
|
|
151
|
+
// caller — a group they cannot read still exists for them, as a locked one —
|
|
152
|
+
// with the counts read off the two catalogs above rather than a second scan.
|
|
153
|
+
const groupIndexService = new GroupIndexService(workspaceService, accessControl, skillService, toolManualService, kbDirName);
|
|
96
154
|
// Auth service — resolves identities for login, PR author attribution, and
|
|
97
155
|
// access lookups. (Change requests now store the author email directly, so
|
|
98
156
|
// PullRequestService no longer depends on it for attribution.)
|
|
99
|
-
|
|
157
|
+
// The allow-list is resolved, not read off the environment: it is settable
|
|
158
|
+
// from the setup screen alongside the SSO configuration it guards.
|
|
159
|
+
const authService = new AuthService(db, {
|
|
160
|
+
jwtSecret: config.jwtSecret,
|
|
161
|
+
adminEmail: config.adminEmail,
|
|
162
|
+
adminPassword: config.adminPassword,
|
|
163
|
+
allowedEmailDomains: parseDomainList(settings.resolve('allowedEmailDomains')),
|
|
164
|
+
});
|
|
100
165
|
const authMiddleware = createAuthMiddleware(authService);
|
|
101
166
|
// Shared mutex so git and diff operations on the same workspace serialize
|
|
102
167
|
// against each other — a backup-reseed races a concurrent commit otherwise.
|
|
@@ -108,12 +173,12 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
108
173
|
// this function returns. Core registers none: no commit-time validation
|
|
109
174
|
// (advisory anyway) and no ontology write block.
|
|
110
175
|
const workflowHooks = new WorkflowHooks();
|
|
111
|
-
const gitService = new GitService(workspaceService, workflowHooks,
|
|
176
|
+
const gitService = new GitService(workspaceService, workflowHooks, kbDirName, workspaceMutex, accessControl);
|
|
112
177
|
// A fresh clone has already fetched every ref — let the git layer skip the
|
|
113
178
|
// redundant implicit `git fetch` on the first `listBranches` after bootstrap.
|
|
114
179
|
workspaceService.setWorkspaceClonedListener((id) => gitService.noteWorkspaceFetched(id));
|
|
115
180
|
const pullRequestService = new PullRequestService(db, workspaceService, accessControl, gitService);
|
|
116
|
-
const diffService = new DiffService(workspaceService, workspaceMutex, config.workspacesRoot, config.backupsRoot,
|
|
181
|
+
const diffService = new DiffService(workspaceService, workspaceMutex, config.workspacesRoot, config.backupsRoot, kbDirName);
|
|
117
182
|
// Late-bind the diff service into WorkspaceService so file writes/moves
|
|
118
183
|
// trigger backup updates. (GitService used to take a diffService too — for
|
|
119
184
|
// the post-switch backup reseed — but switchBranch is gone with the
|
|
@@ -133,9 +198,14 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
133
198
|
// worker drains the queue out of band so a git hiccup can't block the
|
|
134
199
|
// user-visible save path. See `lock-decoupling-plan.md`.
|
|
135
200
|
const pendingCommitsService = new PendingCommitsService(db);
|
|
136
|
-
// Let the git status path tell an expected dirty tree
|
|
137
|
-
//
|
|
138
|
-
|
|
201
|
+
// Let the git status path tell an expected dirty tree from a genuinely
|
|
202
|
+
// orphaned one before it warns loudly. Two innocent explanations: queued
|
|
203
|
+
// saves still draining through the worker, and a lock currently HELD —
|
|
204
|
+
// deletes and saves mutate the disk while the lock is held but only queue
|
|
205
|
+
// their commit at release, so a status poll landing inside that window sees
|
|
206
|
+
// dirt with an empty queue (observed on multi-folder deletes).
|
|
207
|
+
gitService.setPendingCommitsProbe(async (workspaceId) => (await pendingCommitsService.hasAnyForWorkspace(workspaceId)) ||
|
|
208
|
+
(await fileLockService.hasAnyActive(workspaceId)));
|
|
139
209
|
// In-process event bus: every WorkflowService mutation method that
|
|
140
210
|
// succeeds emits a typed event; the SSE route fans it to connected
|
|
141
211
|
// browser sessions. Single instance per Node process — survives across
|
|
@@ -146,11 +216,27 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
146
216
|
// id-repair keeps the id namespace collision-free. Subscribers are registered
|
|
147
217
|
// below, once the reacting services exist.
|
|
148
218
|
const fileChangeNotifier = new FileChangeNotifier();
|
|
149
|
-
const workflowService = new WorkflowService(db, gitService, pullRequestService, reviewWorkflowService, workspaceService, accessControl, fileLockService, pendingCommitsService,
|
|
219
|
+
const workflowService = new WorkflowService(db, gitService, pullRequestService, reviewWorkflowService, workspaceService, accessControl, fileLockService, pendingCommitsService, kbDirName, eventBus, fileChangeNotifier,
|
|
150
220
|
// Exposed as `workflowService.hooks` — the SAME instance GitService and
|
|
151
221
|
// the session-ontology gate consult, so enterprise registrations against
|
|
152
222
|
// it reach every hook point.
|
|
153
223
|
workflowHooks);
|
|
224
|
+
// Join requests: derived entirely from two copies of a group's `access.md`
|
|
225
|
+
// (the request's branch vs the default branch), so it holds no state — it
|
|
226
|
+
// only needs to read files at refs and to close a request whose proposals
|
|
227
|
+
// have all landed.
|
|
228
|
+
const joinRequestsService = new JoinRequestsService(workspaceService, workflowService);
|
|
229
|
+
// Group provisioning — the one privileged door that brings `Groups/<name>/`
|
|
230
|
+
// folders into existence (named groups and personal folders alike). Commits
|
|
231
|
+
// INLINE through the same pipeline the pending-commits worker uses, so the
|
|
232
|
+
// folder's rules are at HEAD before the endpoint answers.
|
|
233
|
+
const groupProvisionService = new GroupProvisionService(workspaceService, workflowService, accessControl, kbDirName, eventBus);
|
|
234
|
+
// Pending skills: the other half of the catalog — skills that exist only on
|
|
235
|
+
// an open change request's branch. Built here rather than beside
|
|
236
|
+
// `skillService` because it needs the workflow service, which does not exist
|
|
237
|
+
// that early; it holds no state of its own, so where it is constructed is the
|
|
238
|
+
// only thing the ordering decides.
|
|
239
|
+
const pendingSkillsService = new PendingSkillsService(workspaceService, accessControl, skillService, workflowService);
|
|
154
240
|
// Subscriber A — catalog freshness: a committed change drops the affected
|
|
155
241
|
// caches immediately instead of waiting out their TTLs. The tool/skill
|
|
156
242
|
// catalogs are global but read the DEFAULT branch only, so only
|
|
@@ -161,17 +247,43 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
161
247
|
fileChangeNotifier.onFilesChanged(({ branch, paths }) => {
|
|
162
248
|
if (branch !== DEFAULT_BRANCH)
|
|
163
249
|
return;
|
|
164
|
-
|
|
250
|
+
// Skills, tools and the group index all live under `Groups/`, so one
|
|
251
|
+
// touch check drives all three caches. An access grant lands as a
|
|
252
|
+
// default-branch change to `Groups/<group>/access.md`, so this is also
|
|
253
|
+
// what makes a newly-granted group unlock within one round-trip instead
|
|
254
|
+
// of one TTL.
|
|
255
|
+
const touched = paths.some((p) => p.startsWith(`${kbDirName}/${GROUPS_DIR}/`));
|
|
256
|
+
if (touched) {
|
|
165
257
|
toolManualService.invalidate();
|
|
166
|
-
if (paths.some((p) => p.startsWith(`${config.kbDirName}/${SKILLS_DIR}/`)))
|
|
167
258
|
skillService.invalidate();
|
|
259
|
+
groupIndexService.invalidate();
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
// Subscriber B — WRITE-time freshness for the same three caches. The
|
|
263
|
+
// workspace routes emit `fs-tree-changed` the moment bytes hit a working
|
|
264
|
+
// tree; Subscriber A above fires only when the ASYNC commit lands. Between
|
|
265
|
+
// the two, "create a skill, reload the catalog" raced the commit pipeline
|
|
266
|
+
// and lost — the new skill's card stayed invisible until a refresh outlived
|
|
267
|
+
// the TTL. The catalogs scan the working tree anyway, so invalidating at
|
|
268
|
+
// write time makes the very next read see the file. No path filter: this
|
|
269
|
+
// event carries none, and a spurious drop only costs one re-scan.
|
|
270
|
+
eventBus.onEmit((event) => {
|
|
271
|
+
if (event.kind !== 'fs-tree-changed')
|
|
272
|
+
return;
|
|
273
|
+
if (!('branch' in event) || event.branch !== DEFAULT_BRANCH)
|
|
274
|
+
return;
|
|
275
|
+
toolManualService.invalidate();
|
|
276
|
+
skillService.invalidate();
|
|
277
|
+
groupIndexService.invalidate();
|
|
168
278
|
});
|
|
169
279
|
// Admin = `Admin` role in roles.yaml, resolved through the access model on the
|
|
170
280
|
// default branch (no env allow-list).
|
|
171
|
-
const adminAccess = new AdminAccessService(accessControl, workspaceService, DEFAULT_BRANCH,
|
|
172
|
-
// The
|
|
173
|
-
// roles.yaml lists
|
|
174
|
-
|
|
281
|
+
const adminAccess = new AdminAccessService(accessControl, workspaceService, () => DEFAULT_BRANCH,
|
|
282
|
+
// The deployment owner administers accounts/roles even before the KB's
|
|
283
|
+
// roles.yaml lists them, and whatever the sign-in method — this list is
|
|
284
|
+
// consulted before any roles.yaml lookup, so it holds for SSO too.
|
|
285
|
+
// Required by CoreConfig, hence no empty case.
|
|
286
|
+
[config.adminEmail]);
|
|
175
287
|
// Secrets Vault: the per-user store of credentials (static API keys + OAuth
|
|
176
288
|
// tokens) that back UTCP tool variables (`${FOO_API_KEY}`). Encrypted at rest
|
|
177
289
|
// with the connector-config key; read only by the `bevel-secrets` variable
|
|
@@ -278,7 +390,7 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
278
390
|
workspaceService,
|
|
279
391
|
workflowService,
|
|
280
392
|
events: eventBus,
|
|
281
|
-
kbDirName:
|
|
393
|
+
kbDirName: kbDirName,
|
|
282
394
|
creatorAccess,
|
|
283
395
|
});
|
|
284
396
|
const toolHandlerFactory = createToolHandlerFactory(resolveToolContext);
|
|
@@ -328,13 +440,19 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
328
440
|
// the server is built, later). Core contributes the generic OIDC provider
|
|
329
441
|
// when the env configures one.
|
|
330
442
|
const authProviders = ports.authProviders ?? [];
|
|
331
|
-
|
|
443
|
+
// Resolved through settings, so an admin can configure SSO from the setup
|
|
444
|
+
// screen instead of the environment. Env still wins, so a deployment that
|
|
445
|
+
// sets these keeps behaving exactly as it did.
|
|
446
|
+
const oidcIssuerUrl = settings.resolve('oidcIssuerUrl');
|
|
447
|
+
const oidcClientId = settings.resolve('oidcClientId');
|
|
448
|
+
const oidcClientSecret = settings.resolve('oidcClientSecret');
|
|
449
|
+
if (oidcIssuerUrl && oidcClientId && oidcClientSecret) {
|
|
332
450
|
authProviders.push(new OidcAuthProvider({
|
|
333
|
-
issuerUrl:
|
|
334
|
-
clientId:
|
|
335
|
-
clientSecret:
|
|
336
|
-
scopes:
|
|
337
|
-
label:
|
|
451
|
+
issuerUrl: oidcIssuerUrl,
|
|
452
|
+
clientId: oidcClientId,
|
|
453
|
+
clientSecret: oidcClientSecret,
|
|
454
|
+
scopes: settings.resolve('oidcScopes') || 'openid profile email',
|
|
455
|
+
label: settings.resolve('oidcProviderLabel') || 'Single sign-on',
|
|
338
456
|
publicBackendUrl: config.publicBackendUrl,
|
|
339
457
|
publicFrontendUrl: config.publicFrontendUrl,
|
|
340
458
|
cookieSecure: config.publicBackendUrl.startsWith('https'),
|
|
@@ -345,13 +463,19 @@ export async function createCoreServices(config, ports = {}) {
|
|
|
345
463
|
db,
|
|
346
464
|
workspaceService,
|
|
347
465
|
kbSeedService,
|
|
466
|
+
settings,
|
|
467
|
+
kbDirName,
|
|
348
468
|
spillStore,
|
|
349
469
|
accessControl,
|
|
350
470
|
creatorAccess,
|
|
351
471
|
sessionOntologyService,
|
|
352
472
|
routineWritePolicy,
|
|
353
473
|
skillService,
|
|
474
|
+
pendingSkillsService,
|
|
354
475
|
toolManualService,
|
|
476
|
+
groupIndexService,
|
|
477
|
+
groupProvisionService,
|
|
478
|
+
joinRequestsService,
|
|
355
479
|
authService,
|
|
356
480
|
authMiddleware,
|
|
357
481
|
accountErasureService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-core-services.js","sourceRoot":"","sources":["../../src/core/create-core-services.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-core-services.js","sourceRoot":"","sources":["../../src/core/create-core-services.ts"],"names":[],"mappings":"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"}
|