@bevel-software/platform-core-backend 0.29.0 → 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/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/create-core-server.js +1 -1
- package/dist/core/create-core-server.js.map +1 -1
- package/dist/core/create-core-services.d.ts +3 -0
- package/dist/core/create-core-services.d.ts.map +1 -1
- package/dist/core/create-core-services.js +32 -4
- package/dist/core/create-core-services.js.map +1 -1
- package/dist/core/lifecycle.d.ts +8 -0
- package/dist/core/lifecycle.d.ts.map +1 -1
- package/dist/core/lifecycle.js +4 -0
- 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 +32 -1
- package/dist/modules/access/access-control.service.d.ts.map +1 -1
- package/dist/modules/access/access-control.service.js +138 -16
- 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/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/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 +2 -0
- package/dist/modules/kb-fs/index.d.ts.map +1 -1
- package/dist/modules/kb-fs/index.js +2 -1
- package/dist/modules/kb-fs/index.js.map +1 -1
- 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/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/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/tool-handler.d.ts +2 -2
- package/dist/modules/tool-helpers/tool.contract.d.ts +2 -2
- package/dist/modules/workflow/git/git.service.d.ts +29 -0
- package/dist/modules/workflow/git/git.service.d.ts.map +1 -1
- package/dist/modules/workflow/git/git.service.js +177 -24
- package/dist/modules/workflow/git/git.service.js.map +1 -1
- package/dist/modules/workflow/workflow-hooks.d.ts +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 +7 -0
- package/dist/modules/workspace/index.d.ts.map +1 -1
- package/dist/modules/workspace/index.js +6 -0
- package/dist/modules/workspace/index.js.map +1 -1
- 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 +162 -336
- package/dist/modules/workspace/workspace.tools.js.map +1 -1
- package/dist/test-setup.js +4 -0
- package/dist/test-setup.js.map +1 -1
- 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__/lifecycle.test.ts +16 -0
- package/src/core/create-core-server.ts +1 -1
- package/src/core/create-core-services.ts +36 -3
- package/src/core/lifecycle.ts +10 -0
- package/src/modules/access/__tests__/access-control.atref-cache.test.ts +144 -4
- 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 +142 -14
- package/src/modules/access/access.routes.ts +22 -6
- package/src/modules/agent-instructions/shared-file-rules.ts +1 -1
- 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/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 +2 -0
- package/src/modules/kb-fs/ref-files.ts +279 -0
- package/src/modules/plugins/__tests__/teams.routes.test.ts +55 -0
- 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/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/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 +6 -1
- package/src/modules/workflow/git/__tests__/git.service.changedPathsMemo.test.ts +175 -0
- package/src/modules/workflow/git/__tests__/git.service.worktrees.test.ts +284 -0
- package/src/modules/workflow/git/git.service.ts +184 -22
- package/src/modules/workflow/workflow-hooks.ts +1 -1
- 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 +153 -298
- 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 +12 -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 +179 -365
- package/src/test-setup.ts +5 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kb-repository.js","sourceRoot":"","sources":["../../../src/modules/workspace/kb-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ToolError } from '../tool-helpers/tool.contract.js';
|
|
2
|
+
/**
|
|
3
|
+
* The contract for running a CALLER'S regular expression: what `grep` (REST,
|
|
4
|
+
* MCP and `call_tool_chain` alike, one handler) depends on, so it never holds
|
|
5
|
+
* a concrete engine. The one implementation is `WorkerPatternMatcher`
|
|
6
|
+
* (`bounded-matcher.ts`), owned by the composition root and closed with the
|
|
7
|
+
* graph.
|
|
8
|
+
*
|
|
9
|
+
* JavaScript's engine backtracks, so a pattern like `^(a+)+$` over a line of
|
|
10
|
+
* forty `a`s and a `!` never finishes. An implementation must therefore never
|
|
11
|
+
* run the pattern on the request thread, must stop a search whose matching
|
|
12
|
+
* outlives its budget with {@link PatternTooExpensiveError}, and must refuse
|
|
13
|
+
* work it cannot take on with {@link SearchBusyError} rather than queue it
|
|
14
|
+
* without bound. Within budget, a pattern matches exactly the lines
|
|
15
|
+
* `RegExp#test` does.
|
|
16
|
+
*/
|
|
17
|
+
export interface IPatternMatcher {
|
|
18
|
+
/**
|
|
19
|
+
* One search's matcher for `source`/`flags`: its budget is spent across
|
|
20
|
+
* every call it makes. Throws the 400 `Invalid regex` the caller's syntax
|
|
21
|
+
* earns, or the 400 `pattern_too_long` an over-long pattern earns.
|
|
22
|
+
*/
|
|
23
|
+
search(source: string, flags: string): IPatternSearch;
|
|
24
|
+
/** Ends the workers; a search after this is refused. */
|
|
25
|
+
close(): Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
/** One search, under one budget. */
|
|
28
|
+
export interface IPatternSearch {
|
|
29
|
+
/**
|
|
30
|
+
* The indices of the lines the pattern matches, in order, at most `limit` of
|
|
31
|
+
* them (the first `limit`, exactly as a loop that stops at the cap finds).
|
|
32
|
+
* Throws {@link PatternTooExpensiveError} once the search's budget is spent.
|
|
33
|
+
*/
|
|
34
|
+
matchingLines(lines: string[], limit: number): Promise<number[]>;
|
|
35
|
+
}
|
|
36
|
+
/** A pattern stopped for taking too long — a 400, worded for the caller. */
|
|
37
|
+
export declare class PatternTooExpensiveError extends ToolError {
|
|
38
|
+
constructor(pattern: string, budgetMs: number);
|
|
39
|
+
}
|
|
40
|
+
/** Every worker busy and the queue for one full — a 503, so the caller retries rather than reads a partial answer. */
|
|
41
|
+
export declare class SearchBusyError extends ToolError {
|
|
42
|
+
constructor();
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Whether `err` ends a whole search rather than one file's part of it: a
|
|
46
|
+
* directory walk that skipped a file for either would answer an incomplete
|
|
47
|
+
* result as if it were the whole one.
|
|
48
|
+
*/
|
|
49
|
+
export declare function endsTheSearch(err: unknown): boolean;
|
|
50
|
+
//# sourceMappingURL=pattern-matcher.contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern-matcher.contract.d.ts","sourceRoot":"","sources":["../../../src/modules/workspace/pattern-matcher.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;IACtD,wDAAwD;IACxD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,oCAAoC;AACpC,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAClE;AAED,4EAA4E;AAC5E,qBAAa,wBAAyB,SAAQ,SAAS;gBACzC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAW9C;AAED,sHAAsH;AACtH,qBAAa,eAAgB,SAAQ,SAAS;;CAK7C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAEnD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ToolError } from '../tool-helpers/tool.contract.js';
|
|
2
|
+
/** A pattern stopped for taking too long — a 400, worded for the caller. */
|
|
3
|
+
export class PatternTooExpensiveError extends ToolError {
|
|
4
|
+
constructor(pattern, budgetMs) {
|
|
5
|
+
super(`Pattern too expensive: /${pattern.length > 80 ? `${pattern.slice(0, 80)}…` : pattern}/ did not finish matching within this search's ${budgetMs / 1000} s budget, ` +
|
|
6
|
+
'so it was stopped and nothing was returned. Patterns with nested or overlapping repetition such as ' +
|
|
7
|
+
'`(a+)+` or `(a|aa)*` can take exponential time on some lines. Use a simpler pattern — a literal, ' +
|
|
8
|
+
'an anchor, a character class, a single repetition — or narrow `path`.', 400, { code: 'pattern_too_expensive' });
|
|
9
|
+
this.name = 'PatternTooExpensiveError';
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
/** Every worker busy and the queue for one full — a 503, so the caller retries rather than reads a partial answer. */
|
|
13
|
+
export class SearchBusyError extends ToolError {
|
|
14
|
+
constructor() {
|
|
15
|
+
super('Too many searches are running at once; try again in a few seconds.', 503, { code: 'search_busy' });
|
|
16
|
+
this.name = 'SearchBusyError';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Whether `err` ends a whole search rather than one file's part of it: a
|
|
21
|
+
* directory walk that skipped a file for either would answer an incomplete
|
|
22
|
+
* result as if it were the whole one.
|
|
23
|
+
*/
|
|
24
|
+
export function endsTheSearch(err) {
|
|
25
|
+
return err instanceof PatternTooExpensiveError || err instanceof SearchBusyError;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=pattern-matcher.contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern-matcher.contract.js","sourceRoot":"","sources":["../../../src/modules/workspace/pattern-matcher.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAsC7D,4EAA4E;AAC5E,MAAM,OAAO,wBAAyB,SAAQ,SAAS;IACrD,YAAY,OAAe,EAAE,QAAgB;QAC3C,KAAK,CACH,2BAA2B,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,kDAAkD,QAAQ,GAAG,IAAI,aAAa;YACjK,qGAAqG;YACrG,mGAAmG;YACnG,uEAAuE,EACzE,GAAG,EACH,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAClC,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED,sHAAsH;AACtH,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C;QACE,KAAK,CAAC,oEAAoE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QAC1G,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,OAAO,GAAG,YAAY,wBAAwB,IAAI,GAAG,YAAY,eAAe,CAAC;AACnF,CAAC"}
|
|
@@ -30,12 +30,6 @@ export interface IRoutineWritePolicy {
|
|
|
30
30
|
* always passes — so this is a no-op for every non-restricted caller.
|
|
31
31
|
*/
|
|
32
32
|
assertPathWritable(sessionId: string | undefined, wsPath: string): void;
|
|
33
|
-
/**
|
|
34
|
-
* Throw a 403 `ToolError` when the session is restricted at all — for write
|
|
35
|
-
* tools with no single target path to check (arbitrary shell), which a
|
|
36
|
-
* restricted run must not be able to use as a write bypass.
|
|
37
|
-
*/
|
|
38
|
-
assertUnrestricted(sessionId: string | undefined): void;
|
|
39
33
|
}
|
|
40
34
|
export declare class RoutineWritePolicyService implements IRoutineWritePolicy {
|
|
41
35
|
/** sessionId → allowed lowercased extensions. Absent = unrestricted. */
|
|
@@ -43,6 +37,5 @@ export declare class RoutineWritePolicyService implements IRoutineWritePolicy {
|
|
|
43
37
|
restrictToExtensions(sessionId: string, extensions: readonly string[]): void;
|
|
44
38
|
clear(sessionId: string): void;
|
|
45
39
|
assertPathWritable(sessionId: string | undefined, wsPath: string): void;
|
|
46
|
-
assertUnrestricted(sessionId: string | undefined): void;
|
|
47
40
|
}
|
|
48
41
|
//# sourceMappingURL=routine-write-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routine-write-policy.d.ts","sourceRoot":"","sources":["../../../src/modules/workspace/routine-write-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7E,wDAAwD;IACxD,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;OAIG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"routine-write-policy.d.ts","sourceRoot":"","sources":["../../../src/modules/workspace/routine-write-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7E,wDAAwD;IACxD,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;OAIG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACzE;AAED,qBAAa,yBAA0B,YAAW,mBAAmB;IACnE,wEAAwE;IACxE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAE/D,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAI5E,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI9B,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAaxE"}
|
|
@@ -36,10 +36,5 @@ export class RoutineWritePolicyService {
|
|
|
36
36
|
throw new ToolError(`This run may only write ${[...allowed].join(', ')} files (dashboard views); "${wsPath}" is blocked. ` +
|
|
37
37
|
'Knowledge-graph nodes and other files are read-only for this routine.', 403);
|
|
38
38
|
}
|
|
39
|
-
assertUnrestricted(sessionId) {
|
|
40
|
-
if (sessionId && this.restrictions.has(sessionId)) {
|
|
41
|
-
throw new ToolError('This run is restricted to writing dashboard views only, so shell commands (which could write any file) are disabled.', 403);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
39
|
}
|
|
45
40
|
//# sourceMappingURL=routine-write-policy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routine-write-policy.js","sourceRoot":"","sources":["../../../src/modules/workspace/routine-write-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"routine-write-policy.js","sourceRoot":"","sources":["../../../src/modules/workspace/routine-write-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAoB7D,MAAM,OAAO,yBAAyB;IACpC,wEAAwE;IACvD,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE/D,oBAAoB,CAAC,SAAiB,EAAE,UAA6B;QACnE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,SAAiB;QACrB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,kBAAkB,CAAC,SAA6B,EAAE,MAAc;QAC9D,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACnC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO;QAClC,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,2BAA2B,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,MAAM,gBAAgB;YACpG,uEAAuE,EACzE,GAAG,CACJ,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { IKbRepository } from './kb-repository.contract.js';
|
|
1
2
|
/**
|
|
2
3
|
* Moving a working copy of a repository that is no longer the configured one
|
|
3
4
|
* OUT OF THE WAY, rather than deleting it.
|
|
@@ -43,4 +44,43 @@ export declare function setAsideStamp(at?: Date): string;
|
|
|
43
44
|
* branch open refuses that branch.
|
|
44
45
|
*/
|
|
45
46
|
export declare function setAsideClone(repoDir: string, dest: string): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Set aside the knowledge base's repository AND EVERY WORKTREE OF IT, together,
|
|
49
|
+
* into `dest`: each worktree's folder as `dest/<workspace id>` (where a clone
|
|
50
|
+
* lands), the repository beside them under its own name.
|
|
51
|
+
*
|
|
52
|
+
* Together, because neither is any use without the other: a worktree's
|
|
53
|
+
* commits live in the repository, and a repository of another address is
|
|
54
|
+
* exactly as unusable as a clone of one. Nothing is deleted. The moved
|
|
55
|
+
* worktrees are re-linked to the moved repository, so `git log` in
|
|
56
|
+
* `dest/<workspace id>` shows the work that was never pushed.
|
|
57
|
+
*
|
|
58
|
+
* All or nothing: when a move fails part-way (the repository will not move
|
|
59
|
+
* after its worktrees did), the worktrees already moved are put back where
|
|
60
|
+
* they were, so a retry finds them with their repository and moves them
|
|
61
|
+
* together. A repository whose presence cannot be read (a permission or I/O
|
|
62
|
+
* error, not an absence) stops the call before anything moves.
|
|
63
|
+
*
|
|
64
|
+
* A worktree is found by its `.git` FILE naming a folder inside the
|
|
65
|
+
* repository — whether or not that folder is still there — so a worktree
|
|
66
|
+
* git had already lost track of goes with the rest. As the repository's one
|
|
67
|
+
* administrator (`exclusive`): no creation of a fresh repository and no
|
|
68
|
+
* config write runs while the folders move. Git operations in the worktrees
|
|
69
|
+
* are the caller's to hold off: the startup phase runs before anything is
|
|
70
|
+
* served, and the workspace service wraps the move in what surrounds a
|
|
71
|
+
* set-aside. Answers the workspace ids moved.
|
|
72
|
+
*
|
|
73
|
+
* `stillApplies`, when given, is asked again as the administrator, before
|
|
74
|
+
* anything moves: a caller decided to set the repository aside on what it
|
|
75
|
+
* read before taking the reservation, and another caller may have set it
|
|
76
|
+
* aside and made a fresh one of the configured address meanwhile. When the
|
|
77
|
+
* answer is no, nothing moves and the call answers no ids.
|
|
78
|
+
*
|
|
79
|
+
* A workspaces root, or a working copy's `.git`, that cannot be read (a
|
|
80
|
+
* permission or I/O error, not an absence) stops the call before anything
|
|
81
|
+
* moves, as an unreadable repository does: moving the repository without
|
|
82
|
+
* worktrees it could not see would leave every one of them pointing at
|
|
83
|
+
* nothing.
|
|
84
|
+
*/
|
|
85
|
+
export declare function setAsideRepository(repository: IKbRepository, workspacesRoot: string, kbDirName: string, dest: string, stillApplies?: () => Promise<boolean>): Promise<string[]>;
|
|
46
86
|
//# sourceMappingURL=set-aside-clone.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-aside-clone.d.ts","sourceRoot":"","sources":["../../../src/modules/workspace/set-aside-clone.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"set-aside-clone.d.ts","sourceRoot":"","sources":["../../../src/modules/workspace/set-aside-clone.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAiCjE;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,GAAE,IAAiB,GAAG,MAAM,CAE3D;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyChF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,aAAa,EACzB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GACpC,OAAO,CAAC,MAAM,EAAE,CAAC,CA2DnB"}
|
|
@@ -1,5 +1,40 @@
|
|
|
1
1
|
import { promises as fs } from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
+
import { logger } from '../../shared/logging.js';
|
|
4
|
+
import { isAbsence } from '../../shared/fs.contract.js';
|
|
5
|
+
import { readGitfile } from '../kb-fs/index.js';
|
|
6
|
+
const log = logger('set-aside');
|
|
7
|
+
/**
|
|
8
|
+
* `p` as the file system names it, for comparing two paths that may be
|
|
9
|
+
* spelled differently: git writes a worktree's link with forward slashes and
|
|
10
|
+
* the long folder names (`C:/Users/runneradmin/…`) where node may hold the
|
|
11
|
+
* same folder by its 8.3 short name (`C:\Users\RUNNER~1\…`). The nearest
|
|
12
|
+
* part that exists is resolved by the OS, the rest appended; on Windows the
|
|
13
|
+
* result is case-folded, as its file system is. Only an absent part is
|
|
14
|
+
* stepped over: a part that cannot be read (a permission or I/O error) throws,
|
|
15
|
+
* since "could not tell" is no reason to move someone's worktree.
|
|
16
|
+
*/
|
|
17
|
+
async function comparablePath(p) {
|
|
18
|
+
let existing = path.resolve(p);
|
|
19
|
+
const rest = [];
|
|
20
|
+
for (;;) {
|
|
21
|
+
try {
|
|
22
|
+
existing = await fs.realpath(existing);
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
if (!isAbsence(err))
|
|
27
|
+
throw err;
|
|
28
|
+
const parent = path.dirname(existing);
|
|
29
|
+
if (parent === existing)
|
|
30
|
+
break;
|
|
31
|
+
rest.unshift(path.basename(existing));
|
|
32
|
+
existing = parent;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
const joined = path.join(existing, ...rest);
|
|
36
|
+
return process.platform === 'win32' ? joined.toLowerCase() : joined;
|
|
37
|
+
}
|
|
3
38
|
/**
|
|
4
39
|
* Moving a working copy of a repository that is no longer the configured one
|
|
5
40
|
* OUT OF THE WAY, rather than deleting it.
|
|
@@ -89,4 +124,108 @@ export async function setAsideClone(repoDir, dest) {
|
|
|
89
124
|
}
|
|
90
125
|
await fs.rm(repoDir, { recursive: true, force: true });
|
|
91
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Set aside the knowledge base's repository AND EVERY WORKTREE OF IT, together,
|
|
129
|
+
* into `dest`: each worktree's folder as `dest/<workspace id>` (where a clone
|
|
130
|
+
* lands), the repository beside them under its own name.
|
|
131
|
+
*
|
|
132
|
+
* Together, because neither is any use without the other: a worktree's
|
|
133
|
+
* commits live in the repository, and a repository of another address is
|
|
134
|
+
* exactly as unusable as a clone of one. Nothing is deleted. The moved
|
|
135
|
+
* worktrees are re-linked to the moved repository, so `git log` in
|
|
136
|
+
* `dest/<workspace id>` shows the work that was never pushed.
|
|
137
|
+
*
|
|
138
|
+
* All or nothing: when a move fails part-way (the repository will not move
|
|
139
|
+
* after its worktrees did), the worktrees already moved are put back where
|
|
140
|
+
* they were, so a retry finds them with their repository and moves them
|
|
141
|
+
* together. A repository whose presence cannot be read (a permission or I/O
|
|
142
|
+
* error, not an absence) stops the call before anything moves.
|
|
143
|
+
*
|
|
144
|
+
* A worktree is found by its `.git` FILE naming a folder inside the
|
|
145
|
+
* repository — whether or not that folder is still there — so a worktree
|
|
146
|
+
* git had already lost track of goes with the rest. As the repository's one
|
|
147
|
+
* administrator (`exclusive`): no creation of a fresh repository and no
|
|
148
|
+
* config write runs while the folders move. Git operations in the worktrees
|
|
149
|
+
* are the caller's to hold off: the startup phase runs before anything is
|
|
150
|
+
* served, and the workspace service wraps the move in what surrounds a
|
|
151
|
+
* set-aside. Answers the workspace ids moved.
|
|
152
|
+
*
|
|
153
|
+
* `stillApplies`, when given, is asked again as the administrator, before
|
|
154
|
+
* anything moves: a caller decided to set the repository aside on what it
|
|
155
|
+
* read before taking the reservation, and another caller may have set it
|
|
156
|
+
* aside and made a fresh one of the configured address meanwhile. When the
|
|
157
|
+
* answer is no, nothing moves and the call answers no ids.
|
|
158
|
+
*
|
|
159
|
+
* A workspaces root, or a working copy's `.git`, that cannot be read (a
|
|
160
|
+
* permission or I/O error, not an absence) stops the call before anything
|
|
161
|
+
* moves, as an unreadable repository does: moving the repository without
|
|
162
|
+
* worktrees it could not see would leave every one of them pointing at
|
|
163
|
+
* nothing.
|
|
164
|
+
*/
|
|
165
|
+
export async function setAsideRepository(repository, workspacesRoot, kbDirName, dest, stillApplies) {
|
|
166
|
+
return repository.exclusive(async () => {
|
|
167
|
+
if (stillApplies && !(await stillApplies()))
|
|
168
|
+
return [];
|
|
169
|
+
const repositoryPath = await comparablePath(repository.dir);
|
|
170
|
+
const inside = async (p) => {
|
|
171
|
+
const at = await comparablePath(p);
|
|
172
|
+
return at === repositoryPath || at.startsWith(repositoryPath + path.sep);
|
|
173
|
+
};
|
|
174
|
+
const worktrees = [];
|
|
175
|
+
let entries = [];
|
|
176
|
+
try {
|
|
177
|
+
entries = await fs.readdir(workspacesRoot, { withFileTypes: true });
|
|
178
|
+
}
|
|
179
|
+
catch (err) {
|
|
180
|
+
const code = err.code;
|
|
181
|
+
// No workspaces root: only the repository to move.
|
|
182
|
+
if (code !== 'ENOENT' && code !== 'ENOTDIR')
|
|
183
|
+
throw err;
|
|
184
|
+
}
|
|
185
|
+
for (const entry of entries) {
|
|
186
|
+
if (!entry.isDirectory())
|
|
187
|
+
continue;
|
|
188
|
+
const dir = path.join(workspacesRoot, entry.name, kbDirName);
|
|
189
|
+
// Only absence shows a folder is no worktree: a `.git` that could not be
|
|
190
|
+
// read (EACCES, EIO) stops the call, as an unreadable root does.
|
|
191
|
+
const gitdir = await readGitfile(path.join(dir, '.git'));
|
|
192
|
+
if (gitdir !== null && (await inside(gitdir)))
|
|
193
|
+
worktrees.push({ id: entry.name, dir });
|
|
194
|
+
}
|
|
195
|
+
const repositoryThere = await fs.access(repository.dir).then(() => true, (err) => {
|
|
196
|
+
if (err.code === 'ENOENT' || err.code === 'ENOTDIR')
|
|
197
|
+
return false;
|
|
198
|
+
throw err;
|
|
199
|
+
});
|
|
200
|
+
if (!repositoryThere && worktrees.length === 0)
|
|
201
|
+
return [];
|
|
202
|
+
const moved = [];
|
|
203
|
+
const movedRepository = path.join(dest, path.basename(repository.dir));
|
|
204
|
+
try {
|
|
205
|
+
for (const { id, dir } of worktrees) {
|
|
206
|
+
const to = path.join(dest, id);
|
|
207
|
+
await setAsideClone(dir, to);
|
|
208
|
+
moved.push({ dir, to });
|
|
209
|
+
}
|
|
210
|
+
if (repositoryThere)
|
|
211
|
+
await setAsideClone(repository.dir, movedRepository);
|
|
212
|
+
}
|
|
213
|
+
catch (err) {
|
|
214
|
+
// Back where they were, beside the repository that did not move.
|
|
215
|
+
for (const { dir, to } of moved.reverse()) {
|
|
216
|
+
await setAsideClone(to, dir).catch((backErr) => {
|
|
217
|
+
log.error(`the set-aside worktree ${to} could not be put back at ${dir}; it is kept there:`, {
|
|
218
|
+
detail: backErr instanceof Error ? backErr.message : String(backErr),
|
|
219
|
+
});
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
throw err;
|
|
223
|
+
}
|
|
224
|
+
if (repositoryThere) {
|
|
225
|
+
await repository.relinkMovedCopy(movedRepository, moved.map(({ to }) => to));
|
|
226
|
+
}
|
|
227
|
+
repository.forget();
|
|
228
|
+
return worktrees.map(({ id }) => id);
|
|
229
|
+
});
|
|
230
|
+
}
|
|
92
231
|
//# sourceMappingURL=set-aside-clone.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-aside-clone.js","sourceRoot":"","sources":["../../../src/modules/workspace/set-aside-clone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"set-aside-clone.js","sourceRoot":"","sources":["../../../src/modules/workspace/set-aside-clone.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { OnServerStart } from './on-server-start.js';
|
|
2
2
|
import { type IGitRunner } from '../../../shared/git.contract.js';
|
|
3
3
|
import { ClassifiedFailure, type GitFailure } from '../../../shared/git-failure.js';
|
|
4
|
+
import type { IKbRepository } from '../kb-repository.contract.js';
|
|
4
5
|
/**
|
|
5
6
|
* The KB startup phase: run every registered {@link OnServerStart} step, in
|
|
6
7
|
* order, against lazily-cloned branch handles, then land one commit per
|
|
@@ -107,6 +108,12 @@ export interface KbStartupRunnerOptions {
|
|
|
107
108
|
* minute; a suite passes a short one.
|
|
108
109
|
*/
|
|
109
110
|
unfinishedCloneQuietMs?: number;
|
|
111
|
+
/**
|
|
112
|
+
* The knowledge base's one repository, every branch workspace a worktree of
|
|
113
|
+
* it — THE SAME INSTANCE THE WORKSPACE SERVICE IS GIVEN (see
|
|
114
|
+
* `kb-repository.ts`). Built by the composition root, never here.
|
|
115
|
+
*/
|
|
116
|
+
repository: IKbRepository;
|
|
110
117
|
}
|
|
111
118
|
/**
|
|
112
119
|
* The remote could not be reached or refused us: a host that is down, a DNS
|
|
@@ -150,6 +157,20 @@ export interface RetryOptions {
|
|
|
150
157
|
}
|
|
151
158
|
export declare class KbStartupRunner {
|
|
152
159
|
private readonly opts;
|
|
160
|
+
private readonly repository;
|
|
161
|
+
/**
|
|
162
|
+
* Branches deleted on the remote after the phase listed them: the
|
|
163
|
+
* repository's fetch (`--prune`) took their `origin/<branch>` away. Their
|
|
164
|
+
* worktrees are left as they are, and the phase commits and pushes nothing
|
|
165
|
+
* to them — a push would bring a deleted branch back.
|
|
166
|
+
*/
|
|
167
|
+
private readonly goneFromRemote;
|
|
168
|
+
/**
|
|
169
|
+
* When this run listed the remote's branches. A fetch that started before
|
|
170
|
+
* it may lack a deletion the listing already saw, so only a fetch since
|
|
171
|
+
* counts as current for the branches the run opens (`fetchedSince`).
|
|
172
|
+
*/
|
|
173
|
+
private listedAt;
|
|
153
174
|
constructor(opts: KbStartupRunnerOptions);
|
|
154
175
|
/** The run in progress, so two invokers share one rather than racing clones. */
|
|
155
176
|
private inFlight;
|
|
@@ -255,6 +276,70 @@ export declare class KbStartupRunner {
|
|
|
255
276
|
* git's words about a repository nobody configured.
|
|
256
277
|
*/
|
|
257
278
|
private reconcileClonesWithConfiguredRepository;
|
|
279
|
+
/**
|
|
280
|
+
* The repository's half of {@link reconcileClonesWithConfiguredRepository}.
|
|
281
|
+
* The address is the repository's, shared by every worktree, so it is
|
|
282
|
+
* decided once: the same repository at a new address is re-pointed and
|
|
283
|
+
* kept; another repository is set aside TOGETHER WITH EVERY WORKTREE OF IT,
|
|
284
|
+
* into `dest` — a worktree's commits live in the repository, so neither is
|
|
285
|
+
* of use without the other. Nothing is deleted.
|
|
286
|
+
*/
|
|
287
|
+
private reconcileRepositoryWithConfigured;
|
|
288
|
+
/**
|
|
289
|
+
* Convert every full clone under the workspaces root — what a release before
|
|
290
|
+
* worktrees left there — into a worktree of the one repository, ONE AT A
|
|
291
|
+
* TIME, without losing a commit:
|
|
292
|
+
*
|
|
293
|
+
* 1. the clone's branch tip is imported into the repository as the branch's
|
|
294
|
+
* local ref (`git fetch <clone> +refs/heads/<b>:refs/heads/<b>`), so
|
|
295
|
+
* commits the remote lacks are in the repository before anything moves,
|
|
296
|
+
* and with it every stash entry and other local ref the clone holds,
|
|
297
|
+
* under `refs/kb-converted/<workspace id>/`;
|
|
298
|
+
* 2. the clone is moved aside, beside where it was (one rename);
|
|
299
|
+
* 3. the worktree is added at the imported tip, and checked to be there;
|
|
300
|
+
* 4. the files git ignores in the clone, in no commit, are copied into it;
|
|
301
|
+
* 5. the clone is renamed `.<kb>.converted`: the one step that says the
|
|
302
|
+
* copy is complete, taken before the worktree is used, so a clone left
|
|
303
|
+
* behind after it is never copied from again (it would overwrite edits
|
|
304
|
+
* made since); a rename that fails undoes the conversion;
|
|
305
|
+
* 6. only then is the clone removed. A removal that fails leaves the
|
|
306
|
+
* `.converted` folder, which the next boot removes and nothing reads.
|
|
307
|
+
*
|
|
308
|
+
* A clone that cannot be converted — unreadable objects, uncommitted changes
|
|
309
|
+
* that are not anybody's to discard, a branch it is not on — is put back
|
|
310
|
+
* where it was and keeps working as a clone; the branch is logged, and the
|
|
311
|
+
* next boot tries again. One clone never stops the phase.
|
|
312
|
+
*
|
|
313
|
+
* A conversion a crash cut short is finished or undone first: the moved
|
|
314
|
+
* clone's ignored files are copied and it is removed when its worktree is
|
|
315
|
+
* in place (its tip was imported before it moved, and the worktree was not
|
|
316
|
+
* used yet: the rename of step 5 comes first), and put back when it is not.
|
|
317
|
+
*/
|
|
318
|
+
private convertLegacyClones;
|
|
319
|
+
private convertOneClone;
|
|
320
|
+
/**
|
|
321
|
+
* The clone's stash and its other local refs, into the repository before
|
|
322
|
+
* the clone goes (see `KbRepository.importLocalRefs`), and said where.
|
|
323
|
+
*/
|
|
324
|
+
private importLocalRefs;
|
|
325
|
+
/** Undone: the worktree goes, the clone comes back exactly as it was. */
|
|
326
|
+
private undoConversion;
|
|
327
|
+
/**
|
|
328
|
+
* Remove a converted clone: its commits and ignored files are in the
|
|
329
|
+
* worktree already. One that cannot be removed is said and left; the next
|
|
330
|
+
* boot tries again, and nothing ever copies from it.
|
|
331
|
+
*/
|
|
332
|
+
private removeConvertedClone;
|
|
333
|
+
/**
|
|
334
|
+
* Copy the files git ignores in the clone at `from` into the worktree at
|
|
335
|
+
* `to`: they are in no commit the import carried, yet they are the
|
|
336
|
+
* clone's. Copied, not moved, so an undo puts the clone back whole; and
|
|
337
|
+
* over whatever is there, so a copy a crash cut short (a partial file) is
|
|
338
|
+
* made whole again before the clone goes.
|
|
339
|
+
*/
|
|
340
|
+
private copyIgnoredFiles;
|
|
341
|
+
/** See {@link convertLegacyClones}: a conversion a crash cut short. */
|
|
342
|
+
private finishInterruptedConversion;
|
|
258
343
|
/**
|
|
259
344
|
* Whether the configured repository holds history this clone has too —
|
|
260
345
|
* asked of git, not guessed from the two addresses. The configured
|
|
@@ -333,7 +418,21 @@ export declare class KbStartupRunner {
|
|
|
333
418
|
*/
|
|
334
419
|
private announceDiscarded;
|
|
335
420
|
private cloneFresh;
|
|
421
|
+
/**
|
|
422
|
+
* The earliest a fetch of the repository may have started and still count
|
|
423
|
+
* for this run: never before its listing, never older than the window. An
|
|
424
|
+
* instant, so the repository compares it when it gets the reservation and
|
|
425
|
+
* time spent waiting for it does not age the fetch out.
|
|
426
|
+
*/
|
|
427
|
+
private fetchedSince;
|
|
428
|
+
private fetchWindow;
|
|
336
429
|
private updateClone;
|
|
430
|
+
/**
|
|
431
|
+
* Whether the repository's remote-tracking ref for `branch` exists. False
|
|
432
|
+
* only when git answered that it does not (`--verify --quiet`, exit 1);
|
|
433
|
+
* any other failure is thrown.
|
|
434
|
+
*/
|
|
435
|
+
private hasRemoteBranch;
|
|
337
436
|
/**
|
|
338
437
|
* Whether the repository at `repoDir` has a commit checked out. False for a
|
|
339
438
|
* clone that was cut short.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kb-startup-runner.d.ts","sourceRoot":"","sources":["../../../../src/modules/workspace/startup/kb-startup-runner.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAY,aAAa,EAAsB,MAAM,sBAAsB,CAAC;AAExF,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EACL,iBAAiB,EAIjB,KAAK,UAAU,EAEhB,MAAM,gCAAgC,CAAC;AAKxC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IAC3C,8EAA8E;IAC9E,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,oFAAoF;IACpF,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IAChC;;;;;;2BAMuB;IACvB,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAClD;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"kb-startup-runner.d.ts","sourceRoot":"","sources":["../../../../src/modules/workspace/startup/kb-startup-runner.ts"],"names":[],"mappings":"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"}
|