@bevel-software/platform-core-backend 0.28.1 → 0.30.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/agent-guide/access-control.md +15 -0
- package/agent-guide/skills.md +8 -0
- package/dist/__tests__/test-repositories.d.ts +3 -0
- package/dist/__tests__/test-repositories.d.ts.map +1 -0
- package/dist/__tests__/test-repositories.js +18 -0
- package/dist/__tests__/test-repositories.js.map +1 -0
- package/dist/core/catalog-revision.d.ts.map +1 -1
- package/dist/core/catalog-revision.js +4 -2
- package/dist/core/catalog-revision.js.map +1 -1
- package/dist/core/compose-embed.d.ts +35 -0
- package/dist/core/compose-embed.d.ts.map +1 -0
- package/dist/core/compose-embed.js +14 -0
- package/dist/core/compose-embed.js.map +1 -0
- package/dist/core/core-ports.d.ts +10 -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 +8 -2
- package/dist/core/create-core-server.js.map +1 -1
- package/dist/core/create-core-services.d.ts +4 -1
- package/dist/core/create-core-services.d.ts.map +1 -1
- package/dist/core/create-core-services.js +57 -18
- package/dist/core/create-core-services.js.map +1 -1
- package/dist/core/lifecycle.d.ts +19 -6
- package/dist/core/lifecycle.d.ts.map +1 -1
- package/dist/core/lifecycle.js +17 -6
- package/dist/core/lifecycle.js.map +1 -1
- package/dist/modules/access/access-control.interface.d.ts +20 -0
- package/dist/modules/access/access-control.interface.d.ts.map +1 -1
- package/dist/modules/access/access-control.service.d.ts +68 -15
- package/dist/modules/access/access-control.service.d.ts.map +1 -1
- package/dist/modules/access/access-control.service.js +282 -58
- package/dist/modules/access/access-control.service.js.map +1 -1
- package/dist/modules/access/access.routes.d.ts.map +1 -1
- package/dist/modules/access/access.routes.js +20 -6
- package/dist/modules/access/access.routes.js.map +1 -1
- package/dist/modules/agent-instructions/shared-file-rules.d.ts +1 -1
- package/dist/modules/agent-instructions/shared-file-rules.js +1 -1
- package/dist/modules/auth/index.d.ts +15 -0
- package/dist/modules/auth/index.d.ts.map +1 -0
- package/dist/modules/auth/index.js +20 -0
- package/dist/modules/auth/index.js.map +1 -0
- package/dist/modules/diff/diff.service.d.ts.map +1 -1
- package/dist/modules/diff/diff.service.js +7 -1
- package/dist/modules/diff/diff.service.js.map +1 -1
- package/dist/modules/embed/embed.interface.d.ts +22 -0
- package/dist/modules/embed/embed.interface.d.ts.map +1 -1
- package/dist/modules/embed/embed.service.d.ts +28 -14
- package/dist/modules/embed/embed.service.d.ts.map +1 -1
- package/dist/modules/embed/embed.service.js +38 -17
- package/dist/modules/embed/embed.service.js.map +1 -1
- package/dist/modules/embed/embed.tools.d.ts.map +1 -1
- package/dist/modules/embed/embed.tools.js +10 -2
- package/dist/modules/embed/embed.tools.js.map +1 -1
- package/dist/modules/kb-fs/git-dir.d.ts +21 -0
- package/dist/modules/kb-fs/git-dir.d.ts.map +1 -0
- package/dist/modules/kb-fs/git-dir.js +58 -0
- package/dist/modules/kb-fs/git-dir.js.map +1 -0
- package/dist/modules/kb-fs/index.d.ts +9 -0
- package/dist/modules/kb-fs/index.d.ts.map +1 -0
- package/dist/modules/kb-fs/index.js +3 -0
- package/dist/modules/kb-fs/index.js.map +1 -0
- package/dist/modules/kb-fs/ref-files.d.ts +63 -0
- package/dist/modules/kb-fs/ref-files.d.ts.map +1 -0
- package/dist/modules/kb-fs/ref-files.js +249 -0
- package/dist/modules/kb-fs/ref-files.js.map +1 -0
- package/dist/modules/plugins/join-request-jobs.service.d.ts.map +1 -1
- package/dist/modules/plugins/join-request-jobs.service.js +43 -8
- package/dist/modules/plugins/join-request-jobs.service.js.map +1 -1
- package/dist/modules/plugins/teams.routes.d.ts +4 -0
- package/dist/modules/plugins/teams.routes.d.ts.map +1 -1
- package/dist/modules/plugins/teams.routes.js +9 -1
- package/dist/modules/plugins/teams.routes.js.map +1 -1
- package/dist/modules/skills/skills.contract.d.ts.map +1 -1
- package/dist/modules/skills/skills.tools.d.ts +8 -1
- package/dist/modules/skills/skills.tools.d.ts.map +1 -1
- package/dist/modules/skills/skills.tools.js +115 -11
- package/dist/modules/skills/skills.tools.js.map +1 -1
- package/dist/modules/tool-auth/internal-token.service.d.ts +1 -1
- package/dist/modules/tool-auth/tool-auth.middleware.d.ts +1 -2
- package/dist/modules/tool-auth/tool-auth.middleware.d.ts.map +1 -1
- package/dist/modules/tool-auth/tool-auth.middleware.js +1 -2
- package/dist/modules/tool-auth/tool-auth.middleware.js.map +1 -1
- package/dist/modules/tool-helpers/default-branch-write.d.ts +69 -0
- package/dist/modules/tool-helpers/default-branch-write.d.ts.map +1 -0
- package/dist/modules/tool-helpers/default-branch-write.js +63 -0
- package/dist/modules/tool-helpers/default-branch-write.js.map +1 -0
- package/dist/modules/tool-helpers/index.d.ts +1 -0
- package/dist/modules/tool-helpers/index.d.ts.map +1 -1
- package/dist/modules/tool-helpers/index.js +1 -0
- package/dist/modules/tool-helpers/index.js.map +1 -1
- package/dist/modules/tool-helpers/tool-handler.d.ts +2 -2
- package/dist/modules/tool-helpers/tool.contract.d.ts +2 -2
- package/dist/modules/workflow/file-lock.service.d.ts +27 -5
- package/dist/modules/workflow/file-lock.service.d.ts.map +1 -1
- package/dist/modules/workflow/file-lock.service.js +70 -18
- package/dist/modules/workflow/file-lock.service.js.map +1 -1
- package/dist/modules/workflow/git/git.service.d.ts +42 -0
- package/dist/modules/workflow/git/git.service.d.ts.map +1 -1
- package/dist/modules/workflow/git/git.service.js +201 -24
- package/dist/modules/workflow/git/git.service.js.map +1 -1
- package/dist/modules/workflow/index.d.ts +8 -0
- package/dist/modules/workflow/index.d.ts.map +1 -0
- package/dist/modules/workflow/index.js +8 -0
- package/dist/modules/workflow/index.js.map +1 -0
- package/dist/modules/workflow/pending-commits.service.d.ts +2 -17
- package/dist/modules/workflow/pending-commits.service.d.ts.map +1 -1
- package/dist/modules/workflow/pending-commits.service.js +4 -24
- package/dist/modules/workflow/pending-commits.service.js.map +1 -1
- package/dist/modules/workflow/workflow-hooks.d.ts +1 -1
- package/dist/modules/workflow/workflow.routes.d.ts.map +1 -1
- package/dist/modules/workflow/workflow.routes.js +20 -1
- package/dist/modules/workflow/workflow.routes.js.map +1 -1
- package/dist/modules/workflow/workflow.service.d.ts.map +1 -1
- package/dist/modules/workflow/workflow.service.js +5 -3
- package/dist/modules/workflow/workflow.service.js.map +1 -1
- package/dist/modules/workspace/agent-access.gate.d.ts +2 -2
- package/dist/modules/workspace/agent-access.gate.js +2 -2
- package/dist/modules/workspace/bounded-matcher.d.ts +79 -0
- package/dist/modules/workspace/bounded-matcher.d.ts.map +1 -0
- package/dist/modules/workspace/bounded-matcher.js +261 -0
- package/dist/modules/workspace/bounded-matcher.js.map +1 -0
- package/dist/modules/workspace/fetch-instant.d.ts +9 -0
- package/dist/modules/workspace/fetch-instant.d.ts.map +1 -0
- package/dist/modules/workspace/fetch-instant.js +13 -0
- package/dist/modules/workspace/fetch-instant.js.map +1 -0
- package/dist/modules/workspace/index.d.ts +17 -0
- package/dist/modules/workspace/index.d.ts.map +1 -0
- package/dist/modules/workspace/index.js +16 -0
- package/dist/modules/workspace/index.js.map +1 -0
- package/dist/modules/workspace/kb-repository.contract.d.ts +124 -0
- package/dist/modules/workspace/kb-repository.contract.d.ts.map +1 -0
- package/dist/modules/workspace/kb-repository.contract.js +19 -0
- package/dist/modules/workspace/kb-repository.contract.js.map +1 -0
- package/dist/modules/workspace/kb-repository.d.ts +236 -0
- package/dist/modules/workspace/kb-repository.d.ts.map +1 -0
- package/dist/modules/workspace/kb-repository.js +811 -0
- package/dist/modules/workspace/kb-repository.js.map +1 -0
- package/dist/modules/workspace/pattern-matcher.contract.d.ts +50 -0
- package/dist/modules/workspace/pattern-matcher.contract.d.ts.map +1 -0
- package/dist/modules/workspace/pattern-matcher.contract.js +27 -0
- package/dist/modules/workspace/pattern-matcher.contract.js.map +1 -0
- package/dist/modules/workspace/routine-write-policy.d.ts +0 -7
- package/dist/modules/workspace/routine-write-policy.d.ts.map +1 -1
- package/dist/modules/workspace/routine-write-policy.js +0 -5
- package/dist/modules/workspace/routine-write-policy.js.map +1 -1
- package/dist/modules/workspace/set-aside-clone.d.ts +40 -0
- package/dist/modules/workspace/set-aside-clone.d.ts.map +1 -1
- package/dist/modules/workspace/set-aside-clone.js +139 -0
- package/dist/modules/workspace/set-aside-clone.js.map +1 -1
- package/dist/modules/workspace/startup/kb-startup-runner.d.ts +99 -0
- package/dist/modules/workspace/startup/kb-startup-runner.d.ts.map +1 -1
- package/dist/modules/workspace/startup/kb-startup-runner.js +407 -29
- package/dist/modules/workspace/startup/kb-startup-runner.js.map +1 -1
- package/dist/modules/workspace/workspace.service.d.ts +68 -32
- package/dist/modules/workspace/workspace.service.d.ts.map +1 -1
- package/dist/modules/workspace/workspace.service.js +240 -161
- package/dist/modules/workspace/workspace.service.js.map +1 -1
- package/dist/modules/workspace/workspace.tools.d.ts +13 -4
- package/dist/modules/workspace/workspace.tools.d.ts.map +1 -1
- package/dist/modules/workspace/workspace.tools.js +268 -356
- package/dist/modules/workspace/workspace.tools.js.map +1 -1
- package/dist/shared/workspace-id.d.ts +17 -0
- package/dist/shared/workspace-id.d.ts.map +1 -1
- package/dist/shared/workspace-id.js +24 -0
- package/dist/shared/workspace-id.js.map +1 -1
- package/dist/test-setup.js +4 -0
- package/dist/test-setup.js.map +1 -1
- package/mcp-app/page.html +142 -8
- package/package.json +3 -3
- package/src/__tests__/test-repositories.ts +22 -0
- package/src/__tests__/workspace-service.ts +69 -0
- package/src/core/__tests__/compose-embed.test.ts +65 -0
- package/src/core/__tests__/lifecycle.test.ts +45 -26
- package/src/core/catalog-revision.ts +4 -2
- package/src/core/compose-embed.ts +50 -0
- package/src/core/core-ports.ts +10 -0
- package/src/core/create-core-server.ts +8 -2
- package/src/core/create-core-services.ts +63 -24
- package/src/core/lifecycle.ts +34 -12
- package/src/modules/access/__tests__/access-control.atref-cache.test.ts +443 -25
- package/src/modules/access/__tests__/access-control.group-read.test.ts +73 -0
- package/src/modules/access/__tests__/access.routes.group-grant.test.ts +66 -0
- package/src/modules/access/__tests__/access.routes.unknown-email.test.ts +2 -0
- package/src/modules/access/access-control.interface.ts +22 -0
- package/src/modules/access/access-control.service.ts +302 -58
- package/src/modules/access/access.routes.ts +22 -6
- package/src/modules/agent-instructions/shared-file-rules.ts +1 -1
- package/src/modules/auth/index.ts +29 -0
- package/src/modules/diff/__tests__/diff.service.seed-atomicity.test.ts +2 -1
- package/src/modules/diff/__tests__/diff.service.test.ts +2 -1
- package/src/modules/diff/__tests__/diff.service.worktree.test.ts +76 -0
- package/src/modules/diff/diff.service.ts +6 -4
- package/src/modules/embed/__tests__/embed.service.test.ts +76 -3
- package/src/modules/embed/__tests__/embed.tools.test.ts +29 -0
- package/src/modules/embed/embed.interface.ts +24 -0
- package/src/modules/embed/embed.service.ts +44 -19
- package/src/modules/embed/embed.tools.ts +10 -2
- package/src/modules/kb-fs/__tests__/git-dir.test.ts +77 -0
- package/src/modules/kb-fs/__tests__/ref-files.test.ts +338 -0
- package/src/modules/kb-fs/git-dir.ts +53 -0
- package/src/modules/kb-fs/index.ts +8 -0
- package/src/modules/kb-fs/ref-files.ts +279 -0
- package/src/modules/plugins/__tests__/join-request-jobs.service.test.ts +73 -6
- package/src/modules/plugins/__tests__/teams.routes.test.ts +55 -0
- package/src/modules/plugins/join-request-jobs.service.ts +45 -8
- package/src/modules/plugins/teams.routes.ts +14 -1
- package/src/modules/settings/__tests__/setup.routes.layout-phase.test.ts +2 -2
- package/src/modules/settings/__tests__/setup.routes.managed-phase.test.ts +2 -2
- package/src/modules/skills/__tests__/branch-skills.tools.test.ts +1 -1
- package/src/modules/skills/skills.contract.ts +4 -0
- package/src/modules/skills/skills.tools.ts +120 -10
- package/src/modules/tool-auth/internal-token.service.ts +1 -1
- package/src/modules/tool-auth/tool-auth.middleware.ts +1 -2
- package/src/modules/tool-helpers/__tests__/branch-declaration.test.ts +2 -2
- package/src/modules/tool-helpers/__tests__/can-write.tools.test.ts +581 -0
- package/src/modules/tool-helpers/default-branch-write.ts +90 -0
- package/src/modules/tool-helpers/index.ts +5 -0
- package/src/modules/tool-helpers/tool-handler.ts +2 -2
- package/src/modules/tool-helpers/tool.contract.ts +2 -2
- package/src/modules/tool-registry/__tests__/tool-description-length.test.ts +42 -3
- package/src/modules/workflow/__tests__/fake-file-lock-db.ts +13 -2
- package/src/modules/workflow/__tests__/workflow.routes.lock-path.test.ts +168 -1
- package/src/modules/workflow/__tests__/workflow.service.delete-branch.test.ts +102 -6
- package/src/modules/workflow/file-lock.service.ts +79 -18
- package/src/modules/workflow/git/__tests__/git.service.changedPathsMemo.test.ts +175 -0
- package/src/modules/workflow/git/__tests__/git.service.readFileAtRef.test.ts +42 -0
- package/src/modules/workflow/git/__tests__/git.service.worktrees.test.ts +284 -0
- package/src/modules/workflow/git/git.service.ts +207 -22
- package/src/modules/workflow/index.ts +7 -0
- package/src/modules/workflow/pending-commits.service.ts +4 -23
- package/src/modules/workflow/workflow-hooks.ts +1 -1
- package/src/modules/workflow/workflow.routes.ts +24 -1
- package/src/modules/workflow/workflow.service.ts +3 -2
- package/src/modules/workspace/__tests__/agent-downloads.test.ts +2 -2
- package/src/modules/workspace/__tests__/bounded-matcher.test.ts +213 -0
- package/src/modules/workspace/__tests__/git-internals.security.test.ts +22 -7
- package/src/modules/workspace/__tests__/kb-repository.test.ts +481 -0
- package/src/modules/workspace/__tests__/rest-tool-arguments.test.ts +14 -0
- package/src/modules/workspace/__tests__/routine-write-policy.test.ts +0 -11
- package/src/modules/workspace/__tests__/workspace-paths-inside-the-repo.test.ts +2 -2
- package/src/modules/workspace/__tests__/workspace.routes.folder-zip-access.test.ts +2 -2
- package/src/modules/workspace/__tests__/workspace.routes.folders.test.ts +4 -3
- package/src/modules/workspace/__tests__/workspace.service.any-workspace-credentials.test.ts +2 -2
- package/src/modules/workspace/__tests__/workspace.service.ensure-remotes-fetched.test.ts +2 -2
- package/src/modules/workspace/__tests__/workspace.service.forget-clone-races.test.ts +12 -5
- package/src/modules/workspace/__tests__/workspace.service.list-cloned.test.ts +6 -6
- package/src/modules/workspace/__tests__/workspace.service.move-never-overwrites.test.ts +2 -1
- package/src/modules/workspace/__tests__/workspace.service.read-filter.test.ts +2 -1
- package/src/modules/workspace/__tests__/workspace.service.replaced-repository.test.ts +2 -1
- package/src/modules/workspace/__tests__/workspace.service.test.ts +24 -23
- package/src/modules/workspace/__tests__/workspace.service.unknown-branch.test.ts +2 -1
- package/src/modules/workspace/__tests__/workspace.service.worktrees.test.ts +620 -0
- package/src/modules/workspace/__tests__/workspace.tools.agents-file.test.ts +15 -1
- package/src/modules/workspace/__tests__/workspace.tools.branch-errors.test.ts +71 -5
- package/src/modules/workspace/__tests__/workspace.tools.test.ts +174 -309
- package/src/modules/workspace/agent-access.gate.ts +2 -2
- package/src/modules/workspace/bounded-matcher.ts +328 -0
- package/src/modules/workspace/fetch-instant.ts +13 -0
- package/src/modules/workspace/index.ts +26 -0
- package/src/modules/workspace/kb-repository.contract.ts +124 -0
- package/src/modules/workspace/kb-repository.ts +844 -0
- package/src/modules/workspace/pattern-matcher.contract.ts +69 -0
- package/src/modules/workspace/routine-write-policy.ts +0 -15
- package/src/modules/workspace/set-aside-clone.ts +140 -0
- package/src/modules/workspace/startup/__tests__/kb-startup-runner.degraded.test.ts +3 -2
- package/src/modules/workspace/startup/__tests__/kb-startup-runner.test.ts +12 -10
- package/src/modules/workspace/startup/__tests__/kb-startup-runner.worktrees.test.ts +613 -0
- package/src/modules/workspace/startup/kb-startup-runner.ts +422 -29
- package/src/modules/workspace/startup/steps/__tests__/steps.test.ts +4 -3
- package/src/modules/workspace/workspace.service.ts +247 -169
- package/src/modules/workspace/workspace.tools.ts +299 -385
- package/src/shared/workspace-id.ts +24 -0
- package/src/test-setup.ts +5 -0
|
@@ -23,6 +23,28 @@
|
|
|
23
23
|
* never be keyed on a path no file verb would accept. See
|
|
24
24
|
* `canonicalFileIdentity`.
|
|
25
25
|
*
|
|
26
|
+
* Workspace identity works the same way. The lock routes pass the `:id`
|
|
27
|
+
* path param, which Express URL-decodes, so a slashed branch's workspace
|
|
28
|
+
* arrives as `alice/feature`; the deletion gate and the git status probe ask
|
|
29
|
+
* with the encoded `alice%2Ffeature`. Every method keys rows on
|
|
30
|
+
* `canonicalWorkspaceId`, so both spellings are one workspace and a held file
|
|
31
|
+
* is seen whichever spelling asks.
|
|
32
|
+
*
|
|
33
|
+
* Unlike raw path spellings (below), rows written under the decoded workspace id before this
|
|
34
|
+
* landed are still honoured until they go: every read, heartbeat and release
|
|
35
|
+
* also matches that spelling, and an acquire is refused while a live row
|
|
36
|
+
* under it holds the same file. Otherwise a lock held across the upgrade
|
|
37
|
+
* would be invisible for up to its TTL — to the deletion gate and to a second
|
|
38
|
+
* editor alike. Nothing new is ever written under it, so once the last such
|
|
39
|
+
* row has expired or been released the extra spelling matches nothing.
|
|
40
|
+
*
|
|
41
|
+
* This covers rows LEFT by the previous version, not rows it is still
|
|
42
|
+
* writing: a previous-version process never looks at a canonical row, so no
|
|
43
|
+
* check here could make the two contend while both run. They never do — one
|
|
44
|
+
* server process owns the workspaces directory (see `branchLifecycle` in the
|
|
45
|
+
* workflow service; this service's deletion gate is in-process for the same
|
|
46
|
+
* reason), and an upgrade stops the old process before the new one starts.
|
|
47
|
+
*
|
|
26
48
|
* There is no transition handling for rows written under a raw spelling
|
|
27
49
|
* before this landed: such a row is now unreachable by name and expires on
|
|
28
50
|
* its own TTL. For one deploy an in-flight edit's lock can linger up to the
|
|
@@ -81,7 +103,7 @@ export declare class FileLockService {
|
|
|
81
103
|
* mode, so a stale coordination row can't launder a later edit acquire
|
|
82
104
|
* (or vice versa).
|
|
83
105
|
*/
|
|
84
|
-
acquire(
|
|
106
|
+
acquire(rawWorkspaceId: string, branch: string, rawPath: string, user: AuthUser, opts?: {
|
|
85
107
|
coordination?: boolean;
|
|
86
108
|
}): Promise<AcquireLockResult>;
|
|
87
109
|
/** `acquire` past the deletion gate. */
|
|
@@ -92,19 +114,19 @@ export declare class FileLockService {
|
|
|
92
114
|
* which will either succeed (taking over a stale lock) or surface the
|
|
93
115
|
* current holder.
|
|
94
116
|
*/
|
|
95
|
-
heartbeat(
|
|
117
|
+
heartbeat(rawWorkspaceId: string, branch: string, rawPath: string, user: AuthUser): Promise<FileLock>;
|
|
96
118
|
/**
|
|
97
119
|
* Idempotent release. Deletes the lock row when the caller holds it;
|
|
98
120
|
* silently no-ops otherwise (the lock may have expired and been taken
|
|
99
121
|
* over by someone else — that's not an error from the caller's POV).
|
|
100
122
|
*/
|
|
101
|
-
release(
|
|
123
|
+
release(rawWorkspaceId: string, branch: string, rawPath: string, user: AuthUser): Promise<void>;
|
|
102
124
|
/**
|
|
103
125
|
* Read the current lock for `(workspace, branch, path)`. Returns null when
|
|
104
126
|
* no one holds it, OR when the existing row is expired — expired locks
|
|
105
127
|
* are purged here lazily.
|
|
106
128
|
*/
|
|
107
|
-
get(
|
|
129
|
+
get(rawWorkspaceId: string, branch: string, rawPath: string): Promise<FileLock | null>;
|
|
108
130
|
/**
|
|
109
131
|
* Drop every lock held on `branch`, whoever holds it and whichever
|
|
110
132
|
* workspace it sits in, and answer how many rows went.
|
|
@@ -137,6 +159,6 @@ export declare class FileLockService {
|
|
|
137
159
|
* the "missed lock-release commit" the loud warning is for. Expired rows
|
|
138
160
|
* don't count (their holder is gone; they explain nothing).
|
|
139
161
|
*/
|
|
140
|
-
hasAnyActive(
|
|
162
|
+
hasAnyActive(rawWorkspaceId: string): Promise<boolean>;
|
|
141
163
|
}
|
|
142
164
|
//# sourceMappingURL=file-lock.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-lock.service.d.ts","sourceRoot":"","sources":["../../../src/modules/workflow/file-lock.service.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"file-lock.service.d.ts","sourceRoot":"","sources":["../../../src/modules/workflow/file-lock.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAwC7F,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ;IAEzC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IAErD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4C;IAEtE;;;;;OAKG;IACG,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAY5E;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,OAAO,CACX,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,QAAQ,EACd,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAChC,OAAO,CAAC,iBAAiB,CAAC;IAsB7B,wCAAwC;YAC1B,gBAAgB;IAmH9B;;;;;OAKG;IACG,SAAS,CACb,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,QAAQ,CAAC;IAsCpB;;;;OAIG;IACG,OAAO,CACX,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,IAAI,CAAC;IAehB;;;;OAIG;IACG,GAAG,CACP,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IA0C3B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQzD;;;;;;;OAOG;IACG,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAS7D"}
|
|
@@ -23,6 +23,28 @@
|
|
|
23
23
|
* never be keyed on a path no file verb would accept. See
|
|
24
24
|
* `canonicalFileIdentity`.
|
|
25
25
|
*
|
|
26
|
+
* Workspace identity works the same way. The lock routes pass the `:id`
|
|
27
|
+
* path param, which Express URL-decodes, so a slashed branch's workspace
|
|
28
|
+
* arrives as `alice/feature`; the deletion gate and the git status probe ask
|
|
29
|
+
* with the encoded `alice%2Ffeature`. Every method keys rows on
|
|
30
|
+
* `canonicalWorkspaceId`, so both spellings are one workspace and a held file
|
|
31
|
+
* is seen whichever spelling asks.
|
|
32
|
+
*
|
|
33
|
+
* Unlike raw path spellings (below), rows written under the decoded workspace id before this
|
|
34
|
+
* landed are still honoured until they go: every read, heartbeat and release
|
|
35
|
+
* also matches that spelling, and an acquire is refused while a live row
|
|
36
|
+
* under it holds the same file. Otherwise a lock held across the upgrade
|
|
37
|
+
* would be invisible for up to its TTL — to the deletion gate and to a second
|
|
38
|
+
* editor alike. Nothing new is ever written under it, so once the last such
|
|
39
|
+
* row has expired or been released the extra spelling matches nothing.
|
|
40
|
+
*
|
|
41
|
+
* This covers rows LEFT by the previous version, not rows it is still
|
|
42
|
+
* writing: a previous-version process never looks at a canonical row, so no
|
|
43
|
+
* check here could make the two contend while both run. They never do — one
|
|
44
|
+
* server process owns the workspaces directory (see `branchLifecycle` in the
|
|
45
|
+
* workflow service; this service's deletion gate is in-process for the same
|
|
46
|
+
* reason), and an upgrade stops the old process before the new one starts.
|
|
47
|
+
*
|
|
26
48
|
* There is no transition handling for rows written under a raw spelling
|
|
27
49
|
* before this landed: such a row is now unreachable by name and expires on
|
|
28
50
|
* its own TTL. For one deploy an in-flight edit's lock can linger up to the
|
|
@@ -34,10 +56,11 @@
|
|
|
34
56
|
* lazily on next access rather than running a sweeper — the row count is
|
|
35
57
|
* bounded by concurrent editors, not history, so lazy GC is fine.
|
|
36
58
|
*/
|
|
37
|
-
import { and, eq, gt, lte } from 'drizzle-orm';
|
|
59
|
+
import { and, eq, gt, inArray, lte } from 'drizzle-orm';
|
|
38
60
|
import { fileLocks } from '../database/schema.js';
|
|
39
61
|
import { WorkflowValidationError } from '../../shared/domain-errors.js';
|
|
40
62
|
import { canonicalFileIdentity } from '../../shared/canonical-file-identity.js';
|
|
63
|
+
import { branchForWorkspaceId, canonicalWorkspaceId } from '../../shared/workspace-id.js';
|
|
41
64
|
/**
|
|
42
65
|
* Lock lifetime without a heartbeat. The client is expected to heartbeat
|
|
43
66
|
* every ~half this interval so a single missed ping doesn't release the
|
|
@@ -46,6 +69,16 @@ import { canonicalFileIdentity } from '../../shared/canonical-file-identity.js';
|
|
|
46
69
|
* blips" — 60s is a balance.
|
|
47
70
|
*/
|
|
48
71
|
const LOCK_TTL_MS = 60_000;
|
|
72
|
+
/**
|
|
73
|
+
* The workspace ids a lock row of canonical workspace `workspaceId` can sit
|
|
74
|
+
* under: the canonical one every write uses, then — for a slashed branch —
|
|
75
|
+
* the decoded one rows were written under before workspace ids were
|
|
76
|
+
* canonicalised. See the module comment.
|
|
77
|
+
*/
|
|
78
|
+
function workspaceSpellings(workspaceId) {
|
|
79
|
+
const legacy = branchForWorkspaceId(workspaceId);
|
|
80
|
+
return legacy === workspaceId ? [workspaceId] : [workspaceId, legacy];
|
|
81
|
+
}
|
|
49
82
|
function rowToFileLock(row) {
|
|
50
83
|
return {
|
|
51
84
|
branch: row.branch,
|
|
@@ -120,8 +153,9 @@ export class FileLockService {
|
|
|
120
153
|
* mode, so a stale coordination row can't launder a later edit acquire
|
|
121
154
|
* (or vice versa).
|
|
122
155
|
*/
|
|
123
|
-
async acquire(
|
|
156
|
+
async acquire(rawWorkspaceId, branch, rawPath, user, opts) {
|
|
124
157
|
const targetPath = canonicalFileIdentity(rawPath);
|
|
158
|
+
const workspaceId = canonicalWorkspaceId(rawWorkspaceId);
|
|
125
159
|
if (this.closing.has(branch)) {
|
|
126
160
|
throw new WorkflowValidationError(`"${branch}" is being deleted, so "${targetPath}" cannot be held for editing.`, {
|
|
127
161
|
kind: 'branch-being-deleted',
|
|
@@ -174,6 +208,18 @@ export class FileLockService {
|
|
|
174
208
|
// `heartbeat()` (which has its own same-user UPDATE), and the
|
|
175
209
|
// editor's save flow detects "I already hold it" via `getLock` in
|
|
176
210
|
// `workspace.routes.withLock` rather than re-acquiring.
|
|
211
|
+
// A live row under the pre-canonical spelling holds this file as surely
|
|
212
|
+
// as one under the canonical id; the upsert below cannot see it.
|
|
213
|
+
const legacy = workspaceSpellings(workspaceId).slice(1);
|
|
214
|
+
if (legacy.length > 0) {
|
|
215
|
+
const [held] = await this.db
|
|
216
|
+
.select()
|
|
217
|
+
.from(fileLocks)
|
|
218
|
+
.where(and(inArray(fileLocks.workspaceId, legacy), eq(fileLocks.branch, branch), eq(fileLocks.path, targetPath), gt(fileLocks.expiresAt, now)))
|
|
219
|
+
.limit(1);
|
|
220
|
+
if (held)
|
|
221
|
+
return { acquired: false, lock: rowToFileLock(held) };
|
|
222
|
+
}
|
|
177
223
|
const mode = opts?.coordination ? 'coordination' : 'edit';
|
|
178
224
|
const upsertResult = await this.db
|
|
179
225
|
.insert(fileLocks)
|
|
@@ -226,8 +272,9 @@ export class FileLockService {
|
|
|
226
272
|
* which will either succeed (taking over a stale lock) or surface the
|
|
227
273
|
* current holder.
|
|
228
274
|
*/
|
|
229
|
-
async heartbeat(
|
|
275
|
+
async heartbeat(rawWorkspaceId, branch, rawPath, user) {
|
|
230
276
|
const targetPath = canonicalFileIdentity(rawPath);
|
|
277
|
+
const workspaceId = canonicalWorkspaceId(rawWorkspaceId);
|
|
231
278
|
const now = new Date();
|
|
232
279
|
const expiresAt = new Date(now.getTime() + LOCK_TTL_MS);
|
|
233
280
|
// The expiry guard (`expiresAt > now`) matters because an expired
|
|
@@ -244,7 +291,7 @@ export class FileLockService {
|
|
|
244
291
|
const [updated] = await this.db
|
|
245
292
|
.update(fileLocks)
|
|
246
293
|
.set({ lastHeartbeatAt: now, expiresAt })
|
|
247
|
-
.where(and(
|
|
294
|
+
.where(and(inArray(fileLocks.workspaceId, workspaceSpellings(workspaceId)), eq(fileLocks.branch, branch), eq(fileLocks.path, targetPath), eq(fileLocks.holderUserId, user.id), gt(fileLocks.expiresAt, now)))
|
|
248
295
|
.returning();
|
|
249
296
|
if (!updated) {
|
|
250
297
|
throw new WorkflowValidationError(`Cannot heartbeat lock on "${targetPath}": not held by you (or no longer exists).`, { kind: 'lock-not-held', branch, path: targetPath });
|
|
@@ -256,28 +303,33 @@ export class FileLockService {
|
|
|
256
303
|
* silently no-ops otherwise (the lock may have expired and been taken
|
|
257
304
|
* over by someone else — that's not an error from the caller's POV).
|
|
258
305
|
*/
|
|
259
|
-
async release(
|
|
306
|
+
async release(rawWorkspaceId, branch, rawPath, user) {
|
|
260
307
|
const targetPath = canonicalFileIdentity(rawPath);
|
|
308
|
+
const workspaceId = canonicalWorkspaceId(rawWorkspaceId);
|
|
261
309
|
await this.db
|
|
262
310
|
.delete(fileLocks)
|
|
263
|
-
.where(and(
|
|
311
|
+
.where(and(inArray(fileLocks.workspaceId, workspaceSpellings(workspaceId)), eq(fileLocks.branch, branch), eq(fileLocks.path, targetPath), eq(fileLocks.holderUserId, user.id)));
|
|
264
312
|
}
|
|
265
313
|
/**
|
|
266
314
|
* Read the current lock for `(workspace, branch, path)`. Returns null when
|
|
267
315
|
* no one holds it, OR when the existing row is expired — expired locks
|
|
268
316
|
* are purged here lazily.
|
|
269
317
|
*/
|
|
270
|
-
async get(
|
|
318
|
+
async get(rawWorkspaceId, branch, rawPath) {
|
|
271
319
|
const targetPath = canonicalFileIdentity(rawPath);
|
|
320
|
+
const workspaceId = canonicalWorkspaceId(rawWorkspaceId);
|
|
272
321
|
const rows = await this.db
|
|
273
322
|
.select()
|
|
274
323
|
.from(fileLocks)
|
|
275
|
-
.where(and(
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
const row
|
|
280
|
-
|
|
324
|
+
.where(and(inArray(fileLocks.workspaceId, workspaceSpellings(workspaceId)), eq(fileLocks.branch, branch), eq(fileLocks.path, targetPath)));
|
|
325
|
+
// At most one row per spelling; the canonical one first.
|
|
326
|
+
rows.sort((x, y) => Number(x.workspaceId !== workspaceId) - Number(y.workspaceId !== workspaceId));
|
|
327
|
+
let live = null;
|
|
328
|
+
for (const row of rows) {
|
|
329
|
+
if (row.expiresAt.getTime() > Date.now()) {
|
|
330
|
+
live ??= row;
|
|
331
|
+
continue;
|
|
332
|
+
}
|
|
281
333
|
// Lazy GC — drop the stale row so the next `acquire` doesn't have
|
|
282
334
|
// to bypass it. Bind the delete to this exact row's `expiresAt` so
|
|
283
335
|
// a concurrent acquire that wrote a fresh row in the gap between
|
|
@@ -287,10 +339,9 @@ export class FileLockService {
|
|
|
287
339
|
// expiry, and a path-only delete here would silently nuke it.
|
|
288
340
|
await this.db
|
|
289
341
|
.delete(fileLocks)
|
|
290
|
-
.where(and(eq(fileLocks.workspaceId, workspaceId), eq(fileLocks.branch, branch), eq(fileLocks.path, targetPath), eq(fileLocks.expiresAt, row.expiresAt)));
|
|
291
|
-
return null;
|
|
342
|
+
.where(and(eq(fileLocks.workspaceId, row.workspaceId), eq(fileLocks.branch, branch), eq(fileLocks.path, targetPath), eq(fileLocks.expiresAt, row.expiresAt)));
|
|
292
343
|
}
|
|
293
|
-
return rowToFileLock(
|
|
344
|
+
return live ? rowToFileLock(live) : null;
|
|
294
345
|
}
|
|
295
346
|
/**
|
|
296
347
|
* Drop every lock held on `branch`, whoever holds it and whichever
|
|
@@ -330,11 +381,12 @@ export class FileLockService {
|
|
|
330
381
|
* the "missed lock-release commit" the loud warning is for. Expired rows
|
|
331
382
|
* don't count (their holder is gone; they explain nothing).
|
|
332
383
|
*/
|
|
333
|
-
async hasAnyActive(
|
|
384
|
+
async hasAnyActive(rawWorkspaceId) {
|
|
385
|
+
const workspaceId = canonicalWorkspaceId(rawWorkspaceId);
|
|
334
386
|
const rows = await this.db
|
|
335
387
|
.select({ path: fileLocks.path })
|
|
336
388
|
.from(fileLocks)
|
|
337
|
-
.where(and(
|
|
389
|
+
.where(and(inArray(fileLocks.workspaceId, workspaceSpellings(workspaceId)), gt(fileLocks.expiresAt, new Date())))
|
|
338
390
|
.limit(1);
|
|
339
391
|
return rows.length > 0;
|
|
340
392
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-lock.service.js","sourceRoot":"","sources":["../../../src/modules/workflow/file-lock.service.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"file-lock.service.js","sourceRoot":"","sources":["../../../src/modules/workflow/file-lock.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,6 +56,24 @@ export declare class GitService implements IGitService {
|
|
|
56
56
|
private readonly lastImplicitFetchOk;
|
|
57
57
|
private static readonly IMPLICIT_FETCH_TTL_MS;
|
|
58
58
|
private static readonly MAX_AHEAD_BEHIND_CONCURRENCY;
|
|
59
|
+
/**
|
|
60
|
+
* A change request's changed entries, keyed by the two commits its diff
|
|
61
|
+
* was read between. Two commits never change, and neither does the
|
|
62
|
+
* merge-base between them, so the three-dot diff of a pair is a fact: a
|
|
63
|
+
* push moves a tip, the pair changes, the old entry is simply never asked
|
|
64
|
+
* for again. No TTL, no invalidation.
|
|
65
|
+
*
|
|
66
|
+
* This is what a change-request listing was paying git for on every read:
|
|
67
|
+
* one `diff` per open request, polled every minute and refetched on every
|
|
68
|
+
* event, where nothing had moved. Now git is asked once per pair, which is
|
|
69
|
+
* once per push. Keyed by commits alone, not by workspace: every clone of
|
|
70
|
+
* the knowledge base holds the same objects, so the answer is the same in
|
|
71
|
+
* all of them. Bounded FIFO; the bound only caps memory.
|
|
72
|
+
*/
|
|
73
|
+
private readonly changedEntriesByCommits;
|
|
74
|
+
/** Diffs being read right now, so concurrent misses on one pair share one `git diff`. */
|
|
75
|
+
private readonly changedEntriesInFlight;
|
|
76
|
+
private static readonly CHANGED_ENTRIES_MAX;
|
|
59
77
|
constructor(workspaceService: WorkspaceService,
|
|
60
78
|
/**
|
|
61
79
|
* Workflow lifecycle hooks. This service only consults the ADVISORY
|
|
@@ -883,6 +901,13 @@ export declare class GitService implements IGitService {
|
|
|
883
901
|
paths: string[];
|
|
884
902
|
pairs: ChangedPathPair[];
|
|
885
903
|
}>;
|
|
904
|
+
/**
|
|
905
|
+
* {@link prChangedEntriesAt} for a pair of COMMITS, read once per pair
|
|
906
|
+
* (see `changedEntriesByCommits`). The caller holds the reservation, as for
|
|
907
|
+
* `prChangedEntriesAt`; a memo hit holds it for nothing, which is cheaper
|
|
908
|
+
* than a second code path around the lock.
|
|
909
|
+
*/
|
|
910
|
+
private prChangedEntriesBetweenCommits;
|
|
886
911
|
/**
|
|
887
912
|
* The merge-base commit of a change request's two branches (their origin
|
|
888
913
|
* refs), or null when they share no history. This is the "before" the CR's
|
|
@@ -1006,6 +1031,8 @@ export declare class GitService implements IGitService {
|
|
|
1006
1031
|
* broken for some other reason.
|
|
1007
1032
|
*/
|
|
1008
1033
|
private publishedPrCommits;
|
|
1034
|
+
/** The two commits a change request is read between, each resolved as {@link resolvePublishedBranch} does. */
|
|
1035
|
+
private publishedPrEnds;
|
|
1009
1036
|
/**
|
|
1010
1037
|
* `resolveBranchRef` with the preference reversed: the PUBLISHED ref
|
|
1011
1038
|
* (`origin/<branch>`, just fetched by `fetchPrRefs`) before the local head.
|
|
@@ -1133,6 +1160,19 @@ export declare class GitService implements IGitService {
|
|
|
1133
1160
|
* a leading or trailing space keeps it.
|
|
1134
1161
|
*/
|
|
1135
1162
|
listFilesAtRef(workspaceId: string, ref: string, folder: string): Promise<string[]>;
|
|
1163
|
+
/**
|
|
1164
|
+
* The commit `ref` names right now, or null when it names none (an unborn
|
|
1165
|
+
* `HEAD`, a ref that does not exist). A caller that reads several things
|
|
1166
|
+
* "at HEAD" pins the commit once with this and asks each read at that
|
|
1167
|
+
* commit, so a commit landing between the reads cannot hand it one
|
|
1168
|
+
* snapshot's files with another's rules.
|
|
1169
|
+
*
|
|
1170
|
+
* Null is ONLY "names no commit": `rev-parse --verify --quiet` says that
|
|
1171
|
+
* with exit status 1 and nothing on stderr. Any other failure — no
|
|
1172
|
+
* repository there, git itself failing, a deadline — is thrown, so a
|
|
1173
|
+
* caller cannot read a broken clone as an empty one.
|
|
1174
|
+
*/
|
|
1175
|
+
commitAtRef(workspaceId: string, ref: string): Promise<string | null>;
|
|
1136
1176
|
/**
|
|
1137
1177
|
* A clean `git status` for a path has two honest readings (already
|
|
1138
1178
|
* committed; a queued re-apply of something that landed) and one dishonest
|
|
@@ -1165,6 +1205,8 @@ export declare class GitService implements IGitService {
|
|
|
1165
1205
|
* from a real failure are unaffected.
|
|
1166
1206
|
*/
|
|
1167
1207
|
private git;
|
|
1208
|
+
/** `run` as the repository's administrator when `cwd` is a worktree of it; as itself for a full clone. */
|
|
1209
|
+
private asRepositoryAdministrator;
|
|
1168
1210
|
/**
|
|
1169
1211
|
* {@link git}, with stdout as raw BYTES.
|
|
1170
1212
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.service.d.ts","sourceRoot":"","sources":["../../../../src/modules/workflow/git/git.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"git.service.d.ts","sourceRoot":"","sources":["../../../../src/modules/workflow/git/git.service.ts"],"names":[],"mappings":"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"}
|