@paraharness/git 0.1.0 → 0.2.1
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/README.md +3 -3
- package/dist/builders/create-git-candidate-comparison-tools.d.ts +5 -4
- package/dist/builders/create-git-candidate-comparison-tools.d.ts.map +1 -1
- package/dist/builders/create-git-candidate-comparison-tools.js +6 -5
- package/dist/builders/create-git-candidate-comparison-tools.js.map +1 -1
- package/dist/builders/create-git-commit-and-push-builder.d.ts.map +1 -1
- package/dist/builders/create-git-commit-and-push-builder.js +2 -7
- package/dist/builders/create-git-commit-and-push-builder.js.map +1 -1
- package/dist/builders/create-git-cow-worktree-builder.d.ts +5 -4
- package/dist/builders/create-git-cow-worktree-builder.d.ts.map +1 -1
- package/dist/builders/create-git-cow-worktree-builder.js +20 -12
- package/dist/builders/create-git-cow-worktree-builder.js.map +1 -1
- package/dist/builders/create-git-public-surface-cross-tester-builder.d.ts.map +1 -1
- package/dist/builders/create-git-public-surface-cross-tester-builder.js +4 -2
- package/dist/builders/create-git-public-surface-cross-tester-builder.js.map +1 -1
- package/dist/builders/create-git-ref-reader-tools.d.ts +5 -4
- package/dist/builders/create-git-ref-reader-tools.d.ts.map +1 -1
- package/dist/builders/create-git-ref-reader-tools.js +6 -5
- package/dist/builders/create-git-ref-reader-tools.js.map +1 -1
- package/dist/builders/git-cow-worktree-options.d.ts +4 -4
- package/dist/builders/git-cow-worktree-options.d.ts.map +1 -1
- package/dist/builders/git-namespace-contract.d.ts +8 -7
- package/dist/builders/git-namespace-contract.d.ts.map +1 -1
- package/dist/builders/git-public-surface-cross-tester-options.d.ts +2 -2
- package/dist/builders/git-public-surface-cross-tester-options.d.ts.map +1 -1
- package/dist/builders/internal/build-git-cow-worktree-node.js +2 -2
- package/dist/builders/internal/build-git-cow-worktree-node.js.map +1 -1
- package/dist/executors/internal/file-digest-and-globs.d.ts +2 -2
- package/dist/executors/internal/file-digest-and-globs.d.ts.map +1 -1
- package/dist/executors/internal/file-digest-and-globs.js +33 -18
- package/dist/executors/internal/file-digest-and-globs.js.map +1 -1
- package/dist/executors/internal/git-executor.constants.d.ts +8 -0
- package/dist/executors/internal/git-executor.constants.d.ts.map +1 -1
- package/dist/executors/internal/git-executor.constants.js +8 -0
- package/dist/executors/internal/git-executor.constants.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -45,10 +45,10 @@ const worktreeScope = git
|
|
|
45
45
|
|
|
46
46
|
const landChanges = git
|
|
47
47
|
.commitAndPush('land-changes', {
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
inputSchema: TaskInput,
|
|
49
|
+
branch: (item) => `feat/${item.id}`,
|
|
50
|
+
message: (item) => `feat(${item.id}): ${item.title}`,
|
|
50
51
|
})
|
|
51
|
-
.input(TaskInput)
|
|
52
52
|
.runner(runner);
|
|
53
53
|
|
|
54
54
|
const flow = P.flow('git-delivery-flow')
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { type GitCandidateComparisonToolNode, type GitWorktreeHandle, type MaybeBuilder, type NodeRunnerNode } from '@paraharness/core';
|
|
2
2
|
/**
|
|
3
|
-
* Creates the speculative candidate comparison and benchmark tool bundle (`git.candidateComparisonTools(runner)`).
|
|
3
|
+
* Creates the speculative candidate comparison and benchmark tool bundle (`git.candidateComparisonTools(runner?)`).
|
|
4
4
|
*
|
|
5
5
|
* Emits passive `GitCandidateComparisonToolNode` descriptors for `diffCandidates`, `readCandidateFile`,
|
|
6
|
-
* and checkpoint-sandboxed `evalInCandidates` over `refs/harness/candidates/<run-id>/<branch-index
|
|
6
|
+
* and checkpoint-sandboxed `evalInCandidates` over `refs/harness/candidates/<run-id>/<branch-index>`,
|
|
7
|
+
* defaulting `runner` to `DEFAULT_NODE_RUNNER_AST_NODE` when omitted.
|
|
7
8
|
*
|
|
8
|
-
* @param {MaybeBuilder<NodeRunnerNode>} runner -
|
|
9
|
+
* @param {MaybeBuilder<NodeRunnerNode>} [runner=DEFAULT_NODE_RUNNER_AST_NODE] - Optional subprocess runner pool governing git and benchmark command slots.
|
|
9
10
|
*
|
|
10
11
|
* @returns {readonly GitCandidateComparisonToolNode<GitWorktreeHandle>[]} Frozen tuple of candidate comparison tool AST nodes.
|
|
11
12
|
*/
|
|
12
|
-
export declare function createGitCandidateComparisonTools(runner
|
|
13
|
+
export declare function createGitCandidateComparisonTools(runner?: MaybeBuilder<NodeRunnerNode>): readonly GitCandidateComparisonToolNode<GitWorktreeHandle>[];
|
|
13
14
|
//# sourceMappingURL=create-git-candidate-comparison-tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-git-candidate-comparison-tools.d.ts","sourceRoot":"","sources":["../../src/builders/create-git-candidate-comparison-tools.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create-git-candidate-comparison-tools.d.ts","sourceRoot":"","sources":["../../src/builders/create-git-candidate-comparison-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,8BAA8B,EACnC,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAO3B;;;;;;;;;;GAUG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,GAAE,YAAY,CAAC,cAAc,CAAgC,GAClE,SAAS,8BAA8B,CAAC,iBAAiB,CAAC,EAAE,CA2B9D"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { extractAST, } from '@paraharness/core';
|
|
1
|
+
import { DEFAULT_NODE_RUNNER_AST_NODE, extractAST, } from '@paraharness/core';
|
|
2
2
|
import { DiffCandidatesInputSchema, EvalInCandidatesInputSchema, ReadCandidateFileInputSchema, } from '../schemas/git-receipts.schema.js';
|
|
3
3
|
/**
|
|
4
|
-
* Creates the speculative candidate comparison and benchmark tool bundle (`git.candidateComparisonTools(runner)`).
|
|
4
|
+
* Creates the speculative candidate comparison and benchmark tool bundle (`git.candidateComparisonTools(runner?)`).
|
|
5
5
|
*
|
|
6
6
|
* Emits passive `GitCandidateComparisonToolNode` descriptors for `diffCandidates`, `readCandidateFile`,
|
|
7
|
-
* and checkpoint-sandboxed `evalInCandidates` over `refs/harness/candidates/<run-id>/<branch-index
|
|
7
|
+
* and checkpoint-sandboxed `evalInCandidates` over `refs/harness/candidates/<run-id>/<branch-index>`,
|
|
8
|
+
* defaulting `runner` to `DEFAULT_NODE_RUNNER_AST_NODE` when omitted.
|
|
8
9
|
*
|
|
9
|
-
* @param {MaybeBuilder<NodeRunnerNode>} runner -
|
|
10
|
+
* @param {MaybeBuilder<NodeRunnerNode>} [runner=DEFAULT_NODE_RUNNER_AST_NODE] - Optional subprocess runner pool governing git and benchmark command slots.
|
|
10
11
|
*
|
|
11
12
|
* @returns {readonly GitCandidateComparisonToolNode<GitWorktreeHandle>[]} Frozen tuple of candidate comparison tool AST nodes.
|
|
12
13
|
*/
|
|
13
|
-
export function createGitCandidateComparisonTools(runner) {
|
|
14
|
+
export function createGitCandidateComparisonTools(runner = DEFAULT_NODE_RUNNER_AST_NODE) {
|
|
14
15
|
const runnerNode = extractAST(runner);
|
|
15
16
|
const diffCandidatesNode = Object.freeze({
|
|
16
17
|
type: 'git:candidate-comparison-tool',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-git-candidate-comparison-tools.js","sourceRoot":"","sources":["../../src/builders/create-git-candidate-comparison-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GAKX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,mCAAmC,CAAC;AAE3C
|
|
1
|
+
{"version":3,"file":"create-git-candidate-comparison-tools.js","sourceRoot":"","sources":["../../src/builders/create-git-candidate-comparison-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,UAAU,GAKX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,mCAAmC,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iCAAiC,CAC/C,SAAuC,4BAA4B;IAEnE,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAoD;QAC1F,IAAI,EAAE,+BAA+B;QACrC,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,uEAAuE;QACpF,WAAW,EAAE,yBAAyB;QACtC,cAAc,EAAE,UAAU;QAC1B,MAAM,EAAE,UAAU;KACnB,CAAC,CAAC;IACH,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAoD;QAC7F,IAAI,EAAE,+BAA+B;QACrC,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,2EAA2E;QACxF,WAAW,EAAE,4BAA4B;QACzC,cAAc,EAAE,UAAU;QAC1B,MAAM,EAAE,UAAU;KACnB,CAAC,CAAC;IACH,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAoD;QAC5F,IAAI,EAAE,+BAA+B;QACrC,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,iHAAiH;QAC9H,WAAW,EAAE,2BAA2B;QACxC,cAAc,EAAE,UAAU;QAC1B,MAAM,EAAE,UAAU;KACnB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,kBAAkB,EAAE,qBAAqB,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAC1F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-git-commit-and-push-builder.d.ts","sourceRoot":"","sources":["../../src/builders/create-git-commit-and-push-builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-git-commit-and-push-builder.d.ts","sourceRoot":"","sources":["../../src/builders/create-git-commit-and-push-builder.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,GAAG,OAAO,EACzD,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,uBAAuB,CAAC,GAAG,CAAC,GACpC,uBAAuB,CAAC,GAAG,CAAC,CA+C9B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { extractAST, z, } from '@paraharness/core';
|
|
1
|
+
import { DEFAULT_NODE_RUNNER_AST_NODE, extractAST, z, } from '@paraharness/core';
|
|
2
2
|
/**
|
|
3
3
|
* Creates a fluent `GitCommitAndPushBuilder` (`git.commitAndPush(id, options)`).
|
|
4
4
|
*
|
|
@@ -42,12 +42,7 @@ export function createGitCommitAndPushBuilder(id, options) {
|
|
|
42
42
|
toAST() {
|
|
43
43
|
const resolvedRunner = options.runner !== undefined
|
|
44
44
|
? extractAST(options.runner)
|
|
45
|
-
:
|
|
46
|
-
type: 'node:runner',
|
|
47
|
-
id: 'git-default-runner',
|
|
48
|
-
slots: 4,
|
|
49
|
-
maxDaemons: 2,
|
|
50
|
-
});
|
|
45
|
+
: DEFAULT_NODE_RUNNER_AST_NODE;
|
|
51
46
|
const inputSchema = options.inputSchema ?? z.custom(() => true);
|
|
52
47
|
return Object.freeze({
|
|
53
48
|
type: 'git:commit-and-push',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-git-commit-and-push-builder.js","sourceRoot":"","sources":["../../src/builders/create-git-commit-and-push-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,CAAC,GAKF,MAAM,mBAAmB,CAAC;AAI3B;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,6BAA6B,CAC3C,EAAU,EACV,OAAqC;IAErC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAA+B;QACjD,KAAK,CACH,MAA0B;YAE1B,OAAO,6BAA6B,CAAU,EAAE,EAAE;gBAChD,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,WAAW,EAAE,MAAM;gBACnB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,UAAwC;YAC7C,OAAO,6BAA6B,CAAM,EAAE,EAAE;gBAC5C,GAAG,OAAO;gBACV,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;QACL,CAAC;QACD,GAAG,CAAC,MAAiD;YACnD,OAAO,6BAA6B,CAAM,EAAE,EAAE;gBAC5C,GAAG,OAAO;gBACV,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QACD,KAAK;YACH,MAAM,cAAc,GAClB,OAAO,CAAC,MAAM,KAAK,SAAS;gBAC1B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC5B,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"create-git-commit-and-push-builder.js","sourceRoot":"","sources":["../../src/builders/create-git-commit-and-push-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,UAAU,EACV,CAAC,GAKF,MAAM,mBAAmB,CAAC;AAI3B;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,6BAA6B,CAC3C,EAAU,EACV,OAAqC;IAErC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAA+B;QACjD,KAAK,CACH,MAA0B;YAE1B,OAAO,6BAA6B,CAAU,EAAE,EAAE;gBAChD,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,WAAW,EAAE,MAAM;gBACnB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,UAAwC;YAC7C,OAAO,6BAA6B,CAAM,EAAE,EAAE;gBAC5C,GAAG,OAAO;gBACV,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;QACL,CAAC;QACD,GAAG,CAAC,MAAiD;YACnD,OAAO,6BAA6B,CAAM,EAAE,EAAE;gBAC5C,GAAG,OAAO;gBACV,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QACD,KAAK;YACH,MAAM,cAAc,GAClB,OAAO,CAAC,MAAM,KAAK,SAAS;gBAC1B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC5B,CAAC,CAAC,4BAA4B,CAAC;YACnC,MAAM,WAAW,GACf,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,MAAM,CAAM,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC,MAAM,CAA4B;gBAC9C,IAAI,EAAE,qBAAqB;gBAC3B,EAAE;gBACF,WAAW;gBACX,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,cAAc;gBACtB,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import type { GitCowWorktreeBuilder } from './git-cow-worktree-builder.js';
|
|
2
2
|
import type { GitCowWorktreeOptions } from './git-cow-worktree-options.js';
|
|
3
3
|
/**
|
|
4
|
-
* Creates a fluent `GitCowWorktreeBuilder` (`git.cowWorktree(
|
|
4
|
+
* Creates a fluent `GitCowWorktreeBuilder` (`git.cowWorktree(options?)`).
|
|
5
5
|
*
|
|
6
|
-
*
|
|
6
|
+
* Defaults `repo` to `'.'` and `dir` to `'.paraharness/worktree'`, and validates that both are non-empty strings
|
|
7
|
+
* at declaration time without performing any filesystem I/O.
|
|
7
8
|
*
|
|
8
|
-
* @param {GitCowWorktreeOptions} options -
|
|
9
|
+
* @param {GitCowWorktreeOptions} [options] - Optional repository path, worktree base directory, and builder state.
|
|
9
10
|
*
|
|
10
11
|
* @returns {GitCowWorktreeBuilder} Immutable fluent worktree scope builder.
|
|
11
12
|
*
|
|
12
13
|
* @throws {Error} If `options.repo` or `options.dir` is empty.
|
|
13
14
|
*/
|
|
14
|
-
export declare function createGitCowWorktreeBuilder(options
|
|
15
|
+
export declare function createGitCowWorktreeBuilder(options?: GitCowWorktreeOptions): GitCowWorktreeBuilder;
|
|
15
16
|
//# sourceMappingURL=create-git-cow-worktree-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-git-cow-worktree-builder.d.ts","sourceRoot":"","sources":["../../src/builders/create-git-cow-worktree-builder.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,+BAA+B,CAAC;AAOvC
|
|
1
|
+
{"version":3,"file":"create-git-cow-worktree-builder.d.ts","sourceRoot":"","sources":["../../src/builders/create-git-cow-worktree-builder.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,+BAA+B,CAAC;AAOvC;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,qBAAqB,CA2DvB"}
|
|
@@ -1,37 +1,45 @@
|
|
|
1
1
|
import { extractAST, } from '@paraharness/core';
|
|
2
2
|
import { buildGitCowWorktreeNode, resolveReconcileStrategyConfig, } from './internal/build-git-cow-worktree-node.js';
|
|
3
3
|
/**
|
|
4
|
-
* Creates a fluent `GitCowWorktreeBuilder` (`git.cowWorktree(
|
|
4
|
+
* Creates a fluent `GitCowWorktreeBuilder` (`git.cowWorktree(options?)`).
|
|
5
5
|
*
|
|
6
|
-
*
|
|
6
|
+
* Defaults `repo` to `'.'` and `dir` to `'.paraharness/worktree'`, and validates that both are non-empty strings
|
|
7
|
+
* at declaration time without performing any filesystem I/O.
|
|
7
8
|
*
|
|
8
|
-
* @param {GitCowWorktreeOptions} options -
|
|
9
|
+
* @param {GitCowWorktreeOptions} [options] - Optional repository path, worktree base directory, and builder state.
|
|
9
10
|
*
|
|
10
11
|
* @returns {GitCowWorktreeBuilder} Immutable fluent worktree scope builder.
|
|
11
12
|
*
|
|
12
13
|
* @throws {Error} If `options.repo` or `options.dir` is empty.
|
|
13
14
|
*/
|
|
14
15
|
export function createGitCowWorktreeBuilder(options) {
|
|
15
|
-
|
|
16
|
+
const repo = options?.repo ?? '.';
|
|
17
|
+
const dir = options?.dir ?? '.paraharness/worktree';
|
|
18
|
+
if (repo.trim().length === 0) {
|
|
16
19
|
throw new Error("git.cowWorktree: 'repo' must be a non-empty repository path.");
|
|
17
20
|
}
|
|
18
|
-
if (
|
|
21
|
+
if (dir.trim().length === 0) {
|
|
19
22
|
throw new Error("git.cowWorktree: 'dir' must be a non-empty worktree base directory.");
|
|
20
23
|
}
|
|
24
|
+
const resolvedOptions = {
|
|
25
|
+
...options,
|
|
26
|
+
repo,
|
|
27
|
+
dir,
|
|
28
|
+
};
|
|
21
29
|
return Object.freeze({
|
|
22
30
|
excludeFromCloneGlobs(globs) {
|
|
23
31
|
return createGitCowWorktreeBuilder({
|
|
24
|
-
...
|
|
32
|
+
...resolvedOptions,
|
|
25
33
|
excludeFromCloneGlobs: Object.freeze([...globs]),
|
|
26
34
|
});
|
|
27
35
|
},
|
|
28
36
|
setup(...commands) {
|
|
29
|
-
const nextSetup = [...(
|
|
37
|
+
const nextSetup = [...(resolvedOptions.setupCommands ?? [])];
|
|
30
38
|
for (const command of commands) {
|
|
31
39
|
nextSetup.push(extractAST(command));
|
|
32
40
|
}
|
|
33
41
|
return createGitCowWorktreeBuilder({
|
|
34
|
-
...
|
|
42
|
+
...resolvedOptions,
|
|
35
43
|
setupCommands: Object.freeze(nextSetup),
|
|
36
44
|
});
|
|
37
45
|
},
|
|
@@ -40,24 +48,24 @@ export function createGitCowWorktreeBuilder(options) {
|
|
|
40
48
|
throw new Error("git.cowWorktree.lockfileGate: 'lockfilePath' must be non-empty.");
|
|
41
49
|
}
|
|
42
50
|
return createGitCowWorktreeBuilder({
|
|
43
|
-
...
|
|
51
|
+
...resolvedOptions,
|
|
44
52
|
lockfileGatePath: lockfilePath,
|
|
45
53
|
});
|
|
46
54
|
},
|
|
47
55
|
checkpointPolicy(policy) {
|
|
48
56
|
return createGitCowWorktreeBuilder({
|
|
49
|
-
...
|
|
57
|
+
...resolvedOptions,
|
|
50
58
|
checkpointPolicy: policy,
|
|
51
59
|
});
|
|
52
60
|
},
|
|
53
61
|
reconcileStrategy(modeOrOptions, strategyOptions) {
|
|
54
62
|
return createGitCowWorktreeBuilder({
|
|
55
|
-
...
|
|
63
|
+
...resolvedOptions,
|
|
56
64
|
reconcileStrategy: resolveReconcileStrategyConfig(modeOrOptions, strategyOptions),
|
|
57
65
|
});
|
|
58
66
|
},
|
|
59
67
|
toAST() {
|
|
60
|
-
return buildGitCowWorktreeNode(
|
|
68
|
+
return buildGitCowWorktreeNode(resolvedOptions);
|
|
61
69
|
},
|
|
62
70
|
});
|
|
63
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-git-cow-worktree-builder.js","sourceRoot":"","sources":["../../src/builders/create-git-cow-worktree-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GAOX,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EACL,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,2CAA2C,CAAC;AAEnD
|
|
1
|
+
{"version":3,"file":"create-git-cow-worktree-builder.js","sourceRoot":"","sources":["../../src/builders/create-git-cow-worktree-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GAOX,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EACL,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,2CAA2C,CAAC;AAEnD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,2BAA2B,CACzC,OAA+B;IAE/B,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,uBAAuB,CAAC;IACpD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IACD,MAAM,eAAe,GAA0B;QAC7C,GAAG,OAAO;QACV,IAAI;QACJ,GAAG;KACJ,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAwB;QAC1C,qBAAqB,CAAC,KAAwB;YAC5C,OAAO,2BAA2B,CAAC;gBACjC,GAAG,eAAe;gBAClB,qBAAqB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;aACjD,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,GAAG,QAA8C;YACrD,MAAM,SAAS,GAAc,CAAC,GAAG,CAAC,eAAe,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;YACxE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YACtC,CAAC;YACD,OAAO,2BAA2B,CAAC;gBACjC,GAAG,eAAe;gBAClB,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;aACxC,CAAC,CAAC;QACL,CAAC;QACD,YAAY,CAAC,YAAoB;YAC/B,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACrF,CAAC;YACD,OAAO,2BAA2B,CAAC;gBACjC,GAAG,eAAe;gBAClB,gBAAgB,EAAE,YAAY;aAC/B,CAAC,CAAC;QACL,CAAC;QACD,gBAAgB,CAAC,MAAsC;YACrD,OAAO,2BAA2B,CAAC;gBACjC,GAAG,eAAe;gBAClB,gBAAgB,EAAE,MAAM;aACzB,CAAC,CAAC;QACL,CAAC;QACD,iBAAiB,CACf,aAAqF,EACrF,eAA6C;YAE7C,OAAO,2BAA2B,CAAC;gBACjC,GAAG,eAAe;gBAClB,iBAAiB,EAAE,8BAA8B,CAAC,aAAa,EAAE,eAAe,CAAC;aAClF,CAAC,CAAC;QACL,CAAC;QACD,KAAK;YACH,OAAO,uBAAuB,CAAC,eAAe,CAAC,CAAC;QAClD,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-git-public-surface-cross-tester-builder.d.ts","sourceRoot":"","sources":["../../src/builders/create-git-public-surface-cross-tester-builder.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create-git-public-surface-cross-tester-builder.d.ts","sourceRoot":"","sources":["../../src/builders/create-git-public-surface-cross-tester-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,+BAA+B,EACpC,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,8CAA8C,CAAC;AAEvG;;;;;;;;;GASG;AACH,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,kCAAkC,GAC1C,oBAAoB,CACrB,iBAAiB,EACjB,eAAe,EACf,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvB,+BAA+B,CAChC,CAiCA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { extractAST, z, } from '@paraharness/core';
|
|
1
|
+
import { DEFAULT_NODE_RUNNER_AST_NODE, extractAST, z, } from '@paraharness/core';
|
|
2
2
|
/**
|
|
3
3
|
* Creates a `CrossVerifierBuilder` for AST-gated public-boundary cross-testing (`git.publicSurfaceCrossTester`).
|
|
4
4
|
*
|
|
@@ -27,7 +27,9 @@ export function createGitPublicSurfaceCrossTesterBuilder(options) {
|
|
|
27
27
|
type: 'git:public-surface-cross-tester',
|
|
28
28
|
id,
|
|
29
29
|
reportSchema,
|
|
30
|
-
runner:
|
|
30
|
+
runner: options.runner !== undefined
|
|
31
|
+
? extractAST(options.runner)
|
|
32
|
+
: DEFAULT_NODE_RUNNER_AST_NODE,
|
|
31
33
|
partitionMap: extractAST(options.partitionMap),
|
|
32
34
|
});
|
|
33
35
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-git-public-surface-cross-tester-builder.js","sourceRoot":"","sources":["../../src/builders/create-git-public-surface-cross-tester-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,CAAC,GAKF,MAAM,mBAAmB,CAAC;AAG3B;;;;;;;;;GASG;AACH,MAAM,UAAU,wCAAwC,CACtD,OAA2C;IAO3C,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,iCAAiC,CAAC;IAC3D,MAAM,YAAY,GAAuC,CAAC;SACvD,MAAM,CAAC;QACN,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;QAC5B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;QAC5B,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACtC,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC3C,CAAC;SACD,WAAW,EAAE,CAAC;IACjB,OAAO,MAAM,CAAC,MAAM,CAOlB;QACA,EAAE;QACF,YAAY;QACZ,KAAK;YACH,OAAO,MAAM,CAAC,MAAM,CAAkC;gBACpD,IAAI,EAAE,iCAAiC;gBACvC,EAAE;gBACF,YAAY;gBACZ,MAAM,
|
|
1
|
+
{"version":3,"file":"create-git-public-surface-cross-tester-builder.js","sourceRoot":"","sources":["../../src/builders/create-git-public-surface-cross-tester-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,UAAU,EACV,CAAC,GAKF,MAAM,mBAAmB,CAAC;AAG3B;;;;;;;;;GASG;AACH,MAAM,UAAU,wCAAwC,CACtD,OAA2C;IAO3C,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,iCAAiC,CAAC;IAC3D,MAAM,YAAY,GAAuC,CAAC;SACvD,MAAM,CAAC;QACN,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;QAC5B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;QAC5B,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACtC,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC3C,CAAC;SACD,WAAW,EAAE,CAAC;IACjB,OAAO,MAAM,CAAC,MAAM,CAOlB;QACA,EAAE;QACF,YAAY;QACZ,KAAK;YACH,OAAO,MAAM,CAAC,MAAM,CAAkC;gBACpD,IAAI,EAAE,iCAAiC;gBACvC,EAAE;gBACF,YAAY;gBACZ,MAAM,EACJ,OAAO,CAAC,MAAM,KAAK,SAAS;oBAC1B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC5B,CAAC,CAAC,4BAA4B;gBAClC,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC;aAC/C,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { type GitRefReaderToolNode, type GitWorktreeHandle, type MaybeBuilder, type NodeRunnerNode } from '@paraharness/core';
|
|
2
2
|
/**
|
|
3
|
-
* Creates the read-only git object store inspection tool bundle (`git.refReaderTools(runner)`).
|
|
3
|
+
* Creates the read-only git object store inspection tool bundle (`git.refReaderTools(runner?)`).
|
|
4
4
|
*
|
|
5
5
|
* Emits passive `GitRefReaderToolNode` descriptors for `readRefFile`, `diffRefs`, and `listRefFiles`
|
|
6
|
-
* with `effectTracking: 'declared'` so actors can inspect `refs/harness/aborted/<run-id>/<stepExecId
|
|
6
|
+
* with `effectTracking: 'declared'` so actors can inspect `refs/harness/aborted/<run-id>/<stepExecId>`,
|
|
7
|
+
* defaulting `runner` to `DEFAULT_NODE_RUNNER_AST_NODE` when omitted.
|
|
7
8
|
*
|
|
8
|
-
* @param {MaybeBuilder<NodeRunnerNode>} runner -
|
|
9
|
+
* @param {MaybeBuilder<NodeRunnerNode>} [runner=DEFAULT_NODE_RUNNER_AST_NODE] - Optional subprocess runner pool governing git command slots.
|
|
9
10
|
*
|
|
10
11
|
* @returns {readonly GitRefReaderToolNode<GitWorktreeHandle>[]} Frozen tuple of `readRefFile`, `diffRefs`, and `listRefFiles` tool AST nodes.
|
|
11
12
|
*/
|
|
12
|
-
export declare function createGitRefReaderTools(runner
|
|
13
|
+
export declare function createGitRefReaderTools(runner?: MaybeBuilder<NodeRunnerNode>): readonly GitRefReaderToolNode<GitWorktreeHandle>[];
|
|
13
14
|
//# sourceMappingURL=create-git-ref-reader-tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-git-ref-reader-tools.d.ts","sourceRoot":"","sources":["../../src/builders/create-git-ref-reader-tools.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create-git-ref-reader-tools.d.ts","sourceRoot":"","sources":["../../src/builders/create-git-ref-reader-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAO3B;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,GAAE,YAAY,CAAC,cAAc,CAAgC,GAClE,SAAS,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,CA2BpD"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { extractAST, } from '@paraharness/core';
|
|
1
|
+
import { DEFAULT_NODE_RUNNER_AST_NODE, extractAST, } from '@paraharness/core';
|
|
2
2
|
import { DiffRefsInputSchema, ListRefFilesInputSchema, ReadRefFileInputSchema, } from '../schemas/git-receipts.schema.js';
|
|
3
3
|
/**
|
|
4
|
-
* Creates the read-only git object store inspection tool bundle (`git.refReaderTools(runner)`).
|
|
4
|
+
* Creates the read-only git object store inspection tool bundle (`git.refReaderTools(runner?)`).
|
|
5
5
|
*
|
|
6
6
|
* Emits passive `GitRefReaderToolNode` descriptors for `readRefFile`, `diffRefs`, and `listRefFiles`
|
|
7
|
-
* with `effectTracking: 'declared'` so actors can inspect `refs/harness/aborted/<run-id>/<stepExecId
|
|
7
|
+
* with `effectTracking: 'declared'` so actors can inspect `refs/harness/aborted/<run-id>/<stepExecId>`,
|
|
8
|
+
* defaulting `runner` to `DEFAULT_NODE_RUNNER_AST_NODE` when omitted.
|
|
8
9
|
*
|
|
9
|
-
* @param {MaybeBuilder<NodeRunnerNode>} runner -
|
|
10
|
+
* @param {MaybeBuilder<NodeRunnerNode>} [runner=DEFAULT_NODE_RUNNER_AST_NODE] - Optional subprocess runner pool governing git command slots.
|
|
10
11
|
*
|
|
11
12
|
* @returns {readonly GitRefReaderToolNode<GitWorktreeHandle>[]} Frozen tuple of `readRefFile`, `diffRefs`, and `listRefFiles` tool AST nodes.
|
|
12
13
|
*/
|
|
13
|
-
export function createGitRefReaderTools(runner) {
|
|
14
|
+
export function createGitRefReaderTools(runner = DEFAULT_NODE_RUNNER_AST_NODE) {
|
|
14
15
|
const runnerNode = extractAST(runner);
|
|
15
16
|
const readRefFileNode = Object.freeze({
|
|
16
17
|
type: 'git:ref-reader-tool',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-git-ref-reader-tools.js","sourceRoot":"","sources":["../../src/builders/create-git-ref-reader-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GAKX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,mCAAmC,CAAC;AAE3C
|
|
1
|
+
{"version":3,"file":"create-git-ref-reader-tools.js","sourceRoot":"","sources":["../../src/builders/create-git-ref-reader-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,UAAU,GAKX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,mCAAmC,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CACrC,SAAuC,4BAA4B;IAEnE,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAA0C;QAC7E,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,wFAAwF;QACrG,WAAW,EAAE,sBAAsB;QACnC,cAAc,EAAE,UAAU;QAC1B,MAAM,EAAE,UAAU;KACnB,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAA0C;QAC1E,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,oEAAoE;QACjF,WAAW,EAAE,mBAAmB;QAChC,cAAc,EAAE,UAAU;QAC1B,MAAM,EAAE,UAAU;KACnB,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAA0C;QAC9E,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,gFAAgF;QAC7F,WAAW,EAAE,uBAAuB;QACpC,cAAc,EAAE,UAAU;QAC1B,MAAM,EAAE,UAAU;KACnB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -22,10 +22,10 @@ export interface GitCowWorktreeCheckpointPolicy {
|
|
|
22
22
|
export interface GitCowWorktreeOptions {
|
|
23
23
|
/** Optional logical identifier for the isolation scope node (defaults to `'git-cow-worktree'`). */
|
|
24
24
|
readonly id?: string;
|
|
25
|
-
/** Path to the host Git repository. */
|
|
26
|
-
readonly repo
|
|
27
|
-
/** Base directory under which `roots/<runId>` and `forks/<runId>/<forkId>` worktrees are created. */
|
|
28
|
-
readonly dir
|
|
25
|
+
/** Path to the host Git repository (defaults to `'.'`). */
|
|
26
|
+
readonly repo?: string;
|
|
27
|
+
/** Base directory under which `roots/<runId>` and `forks/<runId>/<forkId>` worktrees are created (defaults to `'.paraharness/worktree'`). */
|
|
28
|
+
readonly dir?: string;
|
|
29
29
|
/** Optional ordered setup step AST nodes executed when initializing a root worktree. */
|
|
30
30
|
readonly setupCommands?: readonly ASTNode[];
|
|
31
31
|
/** Optional lockfile path whose SHA-256 digest gates whether `setupCommands` can be skipped. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-cow-worktree-options.d.ts","sourceRoot":"","sources":["../../src/builders/git-cow-worktree-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,iBAAiB,EACjB,YAAY,EACb,MAAM,mBAAmB,CAAC;AAE3B;;;;;GAKG;AACH,MAAM,WAAW,8BAA8B;IAC7C,+EAA+E;IAC/E,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,wHAAwH;IACxH,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;CAC7C;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,mGAAmG;IACnG,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,
|
|
1
|
+
{"version":3,"file":"git-cow-worktree-options.d.ts","sourceRoot":"","sources":["../../src/builders/git-cow-worktree-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,iBAAiB,EACjB,YAAY,EACb,MAAM,mBAAmB,CAAC;AAE3B;;;;;GAKG;AACH,MAAM,WAAW,8BAA8B;IAC7C,+EAA+E;IAC/E,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,wHAAwH;IACxH,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;CAC7C;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,mGAAmG;IACnG,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,6IAA6I;IAC7I,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,wFAAwF;IACxF,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAC5C,gGAAgG;IAChG,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,6FAA6F;IAC7F,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnD,wDAAwD;IACxD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,8BAA8B,CAAC;IAC3D,uGAAuG;IACvG,QAAQ,CAAC,iBAAiB,CAAC,EAAE,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;IAC3E,6GAA6G;IAC7G,QAAQ,CAAC,kBAAkB,CAAC,EAAE,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;CAC1E"}
|
|
@@ -23,13 +23,14 @@ export interface GitNamespace {
|
|
|
23
23
|
/**
|
|
24
24
|
* Creates a fluent builder for a Tier-3 branchable Copy-on-Write Git worktree scope.
|
|
25
25
|
*
|
|
26
|
-
* Provisions disjoint sibling `<dir>/roots/<runId>` and `<dir>/forks/<runId>/<forkId>` worktrees at runtime
|
|
26
|
+
* Provisions disjoint sibling `<dir>/roots/<runId>` and `<dir>/forks/<runId>/<forkId>` worktrees at runtime,
|
|
27
|
+
* defaulting `repo` to `'.'` and `dir` to `'.paraharness/worktree'`.
|
|
27
28
|
*
|
|
28
|
-
* @param {GitCowWorktreeOptions} options -
|
|
29
|
+
* @param {GitCowWorktreeOptions} [options] - Optional host repository path and worktree base directory.
|
|
29
30
|
*
|
|
30
31
|
* @returns {GitCowWorktreeBuilder} Immutable fluent worktree scope builder.
|
|
31
32
|
*/
|
|
32
|
-
cowWorktree(options
|
|
33
|
+
cowWorktree(options?: GitCowWorktreeOptions): GitCowWorktreeBuilder;
|
|
33
34
|
/**
|
|
34
35
|
* Creates a fluent builder for a retry-safe squash, rebase, verify, and push step.
|
|
35
36
|
*
|
|
@@ -122,20 +123,20 @@ export interface GitNamespace {
|
|
|
122
123
|
*
|
|
123
124
|
* Enables actors to inspect `refs/harness/aborted/<run-id>/<stepExecId>` snapshots against the object store.
|
|
124
125
|
*
|
|
125
|
-
* @param {MaybeBuilder<NodeRunnerNode>} runner -
|
|
126
|
+
* @param {MaybeBuilder<NodeRunnerNode>} [runner] - Optional subprocess runner pool governing git command slots (defaults to `DEFAULT_NODE_RUNNER_AST_NODE`).
|
|
126
127
|
*
|
|
127
128
|
* @returns {readonly GitRefReaderToolNode<GitWorktreeHandle>[]} Frozen tuple of ref reader tool AST nodes.
|
|
128
129
|
*/
|
|
129
|
-
refReaderTools(runner
|
|
130
|
+
refReaderTools(runner?: MaybeBuilder<NodeRunnerNode>): readonly GitRefReaderToolNode<GitWorktreeHandle>[];
|
|
130
131
|
/**
|
|
131
132
|
* Creates the speculative candidate comparison tool bundle (`diffCandidates`, `readCandidateFile`, `evalInCandidates`).
|
|
132
133
|
*
|
|
133
134
|
* Enables `candidateArbiter` and `.refineWinnerWhen()` to compare candidate refs and run sandboxed benchmarks.
|
|
134
135
|
*
|
|
135
|
-
* @param {MaybeBuilder<NodeRunnerNode>} runner -
|
|
136
|
+
* @param {MaybeBuilder<NodeRunnerNode>} [runner] - Optional subprocess runner pool governing git and benchmark command slots (defaults to `DEFAULT_NODE_RUNNER_AST_NODE`).
|
|
136
137
|
*
|
|
137
138
|
* @returns {readonly GitCandidateComparisonToolNode<GitWorktreeHandle>[]} Frozen tuple of candidate comparison tool AST nodes.
|
|
138
139
|
*/
|
|
139
|
-
candidateComparisonTools(runner
|
|
140
|
+
candidateComparisonTools(runner?: MaybeBuilder<NodeRunnerNode>): readonly GitCandidateComparisonToolNode<GitWorktreeHandle>[];
|
|
140
141
|
}
|
|
141
142
|
//# sourceMappingURL=git-namespace-contract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-namespace-contract.d.ts","sourceRoot":"","sources":["../../src/builders/git-namespace-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,8BAA8B,EAC9B,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,+BAA+B,EAC/B,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,8CAA8C,CAAC;AAEvG;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,mGAAmG;IACnG,QAAQ,CAAC,kBAAkB,EAAE,OAAO,qBAAqB,CAAC;IAC1D,iGAAiG;IACjG,QAAQ,CAAC,iBAAiB,EAAE,OAAO,oBAAoB,CAAC;IACxD,yFAAyF;IACzF,QAAQ,CAAC,eAAe,EAAE,OAAO,kBAAkB,CAAC;IAEpD
|
|
1
|
+
{"version":3,"file":"git-namespace-contract.d.ts","sourceRoot":"","sources":["../../src/builders/git-namespace-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,8 @@ import type { FsPartitionMapNode, MaybeBuilder, NodeRunnerNode } from '@paraharn
|
|
|
8
8
|
export interface GitPublicSurfaceCrossTesterOptions {
|
|
9
9
|
/** Optional unique identifier for the cross-verifier node (defaults to `'git-public-surface-cross-tester'`). */
|
|
10
10
|
readonly id?: string;
|
|
11
|
-
/**
|
|
12
|
-
readonly runner
|
|
11
|
+
/** Optional runner pool governing subprocess slot concurrency during cross-testing (defaults to `DEFAULT_NODE_RUNNER_AST_NODE`). */
|
|
12
|
+
readonly runner?: MaybeBuilder<NodeRunnerNode>;
|
|
13
13
|
/** Filesystem partition map defining public `boundaryGlobs` per partition. */
|
|
14
14
|
readonly partitionMap: MaybeBuilder<FsPartitionMapNode<string>>;
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-public-surface-cross-tester-options.d.ts","sourceRoot":"","sources":["../../src/builders/git-public-surface-cross-tester-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B;;;;;GAKG;AACH,MAAM,WAAW,kCAAkC;IACjD,gHAAgH;IAChH,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,
|
|
1
|
+
{"version":3,"file":"git-public-surface-cross-tester-options.d.ts","sourceRoot":"","sources":["../../src/builders/git-public-surface-cross-tester-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B;;;;;GAKG;AACH,MAAM,WAAW,kCAAkC;IACjD,gHAAgH;IAChH,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,oIAAoI;IACpI,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IAC/C,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;CACjE"}
|
|
@@ -62,8 +62,8 @@ export function buildGitCowWorktreeNode(options) {
|
|
|
62
62
|
supportsBranching: true,
|
|
63
63
|
receiptSchema: GitScopeReceiptSchema,
|
|
64
64
|
syncSchema: GitSyncReceiptSchema,
|
|
65
|
-
repo: options.repo,
|
|
66
|
-
dir: options.dir,
|
|
65
|
+
repo: options.repo ?? '.',
|
|
66
|
+
dir: options.dir ?? '.paraharness/worktree',
|
|
67
67
|
setupCommands: Object.freeze([...(options.setupCommands ?? [])]),
|
|
68
68
|
lockfileGatePath: options.lockfileGatePath,
|
|
69
69
|
excludeFromCloneGlobs: options.excludeFromCloneGlobs !== undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-git-cow-worktree-node.js","sourceRoot":"","sources":["../../../src/builders/internal/build-git-cow-worktree-node.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GAOX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAOnG;;;;;;;;;GASG;AACH,MAAM,UAAU,8BAA8B,CAC5C,aAAqF,EACrF,OAAqC;IAErC,MAAM,IAAI,GACR,OAAO,aAAa,KAAK,QAAQ;QAC/B,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,IAAI,kBAAkB,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;IAClF,MAAM,UAAU,GACd,aAAa,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7F,OAAO,MAAM,CAAC,MAAM,CAAgD;QAClE,IAAI;QACJ,UAAU;QACV,YAAY,EAAE,aAAa,EAAE,YAAY;KAC1C,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAkD;IAElD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;QAC7F,YAAY,EACV,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACzF,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;KAC5D,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAA8B;IAE9B,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAA6C;QAClF,IAAI,EAAE,wBAAwB;QAC9B,EAAE,EAAE,wBAAwB;KAC7B,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAyE;QAC3F,IAAI,EAAE,kBAAkB;QACxB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,kBAAkB;QACpC,cAAc,EAAE,YAAY;QAC5B,mBAAmB,EAAE,IAAI;QACzB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,qBAAqB;QACpC,UAAU,EAAE,oBAAoB;QAChC,IAAI,EAAE,OAAO,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"build-git-cow-worktree-node.js","sourceRoot":"","sources":["../../../src/builders/internal/build-git-cow-worktree-node.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GAOX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAOnG;;;;;;;;;GASG;AACH,MAAM,UAAU,8BAA8B,CAC5C,aAAqF,EACrF,OAAqC;IAErC,MAAM,IAAI,GACR,OAAO,aAAa,KAAK,QAAQ;QAC/B,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,IAAI,kBAAkB,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;IAClF,MAAM,UAAU,GACd,aAAa,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7F,OAAO,MAAM,CAAC,MAAM,CAAgD;QAClE,IAAI;QACJ,UAAU;QACV,YAAY,EAAE,aAAa,EAAE,YAAY;KAC1C,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAkD;IAElD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;QAC7F,YAAY,EACV,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACzF,yBAAyB,EAAE,MAAM,CAAC,yBAAyB;KAC5D,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAA8B;IAE9B,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAA6C;QAClF,IAAI,EAAE,wBAAwB;QAC9B,EAAE,EAAE,wBAAwB;KAC7B,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAyE;QAC3F,IAAI,EAAE,kBAAkB;QACxB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,kBAAkB;QACpC,cAAc,EAAE,YAAY;QAC5B,mBAAmB,EAAE,IAAI;QACzB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,qBAAqB;QACpC,UAAU,EAAE,oBAAoB;QAChC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,GAAG;QACzB,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,uBAAuB;QAC3C,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;QAChE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,qBAAqB,EACnB,OAAO,CAAC,qBAAqB,KAAK,SAAS;YACzC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;YACnD,CAAC,CAAC,SAAS;QACf,gBAAgB,EAAE,2BAA2B,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACvE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,iBAAiB;KACpE,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -22,7 +22,7 @@ export declare function compileWorktreeExcludeMatcher(excludeGlobs: readonly str
|
|
|
22
22
|
/**
|
|
23
23
|
* Computes a structural SHA-256 digest of `<worktreePath>/node_modules`.
|
|
24
24
|
*
|
|
25
|
-
* Walks regular files and symlinks inside `node_modules` (excluding
|
|
25
|
+
* Walks regular files and symlinks inside `node_modules` (excluding transient `.cache`, `.vite*`, `.vitest*`, `.pnpm-task-run-state*` directories and `.pnpm-workspace-state*.json` files)
|
|
26
26
|
* so `diffEffects` and `restoreCheckpoint` can detect `node_modules` tampering without performing backup I/O.
|
|
27
27
|
*
|
|
28
28
|
* @param {string} worktreePath - Worktree root directory path.
|
|
@@ -33,7 +33,7 @@ export declare function computeNodeModulesDigest(worktreePath: string): Promise<
|
|
|
33
33
|
/**
|
|
34
34
|
* Mirrors `<worktreePath>/node_modules` into `<backupRootDir>/<digest>` via Copy-on-Write if not already backed up.
|
|
35
35
|
*
|
|
36
|
-
* Skips transient `.cache`, `.vite
|
|
36
|
+
* Skips transient `.cache`, `.vite*`, `.vitest*`, `.pnpm-task-run-state*` subdirectories and `.pnpm-workspace-state*.json` files, and short-circuits when `digest === 'ABSENT'`
|
|
37
37
|
* or `<backupRootDir>/<digest>` already exists on disk.
|
|
38
38
|
*
|
|
39
39
|
* @param {string} worktreePath - Worktree root directory path.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-digest-and-globs.d.ts","sourceRoot":"","sources":["../../../src/executors/internal/file-digest-and-globs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-digest-and-globs.d.ts","sourceRoot":"","sources":["../../../src/executors/internal/file-digest-and-globs.ts"],"names":[],"mappings":"AAsBA;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBhF;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAC1C,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAqB9B;AA8BD;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gCAAgC,CACpD,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAuBf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAiBf"}
|
|
@@ -3,7 +3,7 @@ import { constants as fsConstants } from 'node:fs';
|
|
|
3
3
|
import { chmod, copyFile, lstat, mkdir, readdir, readFile, readlink, rm, symlink, } from 'node:fs/promises';
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import picomatch from 'picomatch';
|
|
6
|
-
import { COMPILED_EXCLUDE_MATCHER_CACHE, IMPLICIT_REPO_EXCLUDE_GLOBS, } from './git-executor.constants.js';
|
|
6
|
+
import { COMPILED_EXCLUDE_MATCHER_CACHE, IMPLICIT_REPO_EXCLUDE_GLOBS, TRANSIENT_NODE_MODULES_DIR_SEGMENT_REGEX, TRANSIENT_NODE_MODULES_FILE_REGEX, } from './git-executor.constants.js';
|
|
7
7
|
/**
|
|
8
8
|
* Computes the `${mode}:${sha256}` digest for a worktree path using `lstat(2)` and `readlink(2)` / `readFile(2)`.
|
|
9
9
|
*
|
|
@@ -68,26 +68,37 @@ export function compileWorktreeExcludeMatcher(excludeGlobs) {
|
|
|
68
68
|
return compiled;
|
|
69
69
|
}
|
|
70
70
|
/**
|
|
71
|
-
* Checks whether a relative directory path inside `node_modules` is a transient bundler
|
|
71
|
+
* Checks whether a relative directory path inside `node_modules` is a transient bundler, test-runner, or pnpm task-run state directory.
|
|
72
72
|
*
|
|
73
|
-
* Matches
|
|
73
|
+
* Matches top-level and nested `.cache`, `.vite*`, `.vitest*`, and `.pnpm-task-run-state*` directory segments.
|
|
74
74
|
*
|
|
75
75
|
* @param {string} relDir - Forward-slash relative directory path inside `node_modules`.
|
|
76
76
|
*
|
|
77
|
-
* @returns {boolean} `true` when `relDir`
|
|
77
|
+
* @returns {boolean} `true` when `relDir` contains a transient cache or state directory segment.
|
|
78
78
|
*/
|
|
79
79
|
function isTransientNodeModulesCacheDir(relDir) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
80
|
+
if (relDir.length === 0)
|
|
81
|
+
return false;
|
|
82
|
+
for (const segment of relDir.split('/')) {
|
|
83
|
+
if (TRANSIENT_NODE_MODULES_DIR_SEGMENT_REGEX.test(segment))
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Checks whether a file entry inside `node_modules` is a transient pnpm workspace state file.
|
|
90
|
+
*
|
|
91
|
+
* @param {string} entryName - Basename of the file entry inside `node_modules`.
|
|
92
|
+
*
|
|
93
|
+
* @returns {boolean} `true` when `entryName` matches `.pnpm-workspace-state*.json`.
|
|
94
|
+
*/
|
|
95
|
+
function isTransientNodeModulesStateFile(entryName) {
|
|
96
|
+
return TRANSIENT_NODE_MODULES_FILE_REGEX.test(entryName);
|
|
86
97
|
}
|
|
87
98
|
/**
|
|
88
99
|
* Computes a structural SHA-256 digest of `<worktreePath>/node_modules`.
|
|
89
100
|
*
|
|
90
|
-
* Walks regular files and symlinks inside `node_modules` (excluding
|
|
101
|
+
* Walks regular files and symlinks inside `node_modules` (excluding transient `.cache`, `.vite*`, `.vitest*`, `.pnpm-task-run-state*` directories and `.pnpm-workspace-state*.json` files)
|
|
91
102
|
* so `diffEffects` and `restoreCheckpoint` can detect `node_modules` tampering without performing backup I/O.
|
|
92
103
|
*
|
|
93
104
|
* @param {string} worktreePath - Worktree root directory path.
|
|
@@ -109,9 +120,11 @@ export async function computeNodeModulesDigest(worktreePath) {
|
|
|
109
120
|
entries.sort((a, b) => a.name.localeCompare(b.name));
|
|
110
121
|
for (const entry of entries) {
|
|
111
122
|
const childRel = relDir.length === 0 ? entry.name : `${relDir}/${entry.name}`;
|
|
112
|
-
if (entry.isDirectory())
|
|
113
|
-
|
|
114
|
-
|
|
123
|
+
if (entry.isDirectory()) {
|
|
124
|
+
if (!isTransientNodeModulesCacheDir(childRel))
|
|
125
|
+
stack.push(childRel);
|
|
126
|
+
}
|
|
127
|
+
else if (!isTransientNodeModulesStateFile(entry.name)) {
|
|
115
128
|
const digest = await computePathModeAndSha256(path.join(nmRoot, childRel));
|
|
116
129
|
hash.update(`${childRel}:${digest}\n`, 'utf8');
|
|
117
130
|
}
|
|
@@ -122,7 +135,7 @@ export async function computeNodeModulesDigest(worktreePath) {
|
|
|
122
135
|
/**
|
|
123
136
|
* Mirrors `<worktreePath>/node_modules` into `<backupRootDir>/<digest>` via Copy-on-Write if not already backed up.
|
|
124
137
|
*
|
|
125
|
-
* Skips transient `.cache`, `.vite
|
|
138
|
+
* Skips transient `.cache`, `.vite*`, `.vitest*`, `.pnpm-task-run-state*` subdirectories and `.pnpm-workspace-state*.json` files, and short-circuits when `digest === 'ABSENT'`
|
|
126
139
|
* or `<backupRootDir>/<digest>` already exists on disk.
|
|
127
140
|
*
|
|
128
141
|
* @param {string} worktreePath - Worktree root directory path.
|
|
@@ -147,9 +160,11 @@ export async function snapshotNodeModulesForCheckpoint(worktreePath, digest, bac
|
|
|
147
160
|
const entries = await readdir(path.join(nmRoot, relDir), { withFileTypes: true });
|
|
148
161
|
for (const entry of entries) {
|
|
149
162
|
const childRel = relDir.length === 0 ? entry.name : `${relDir}/${entry.name}`;
|
|
150
|
-
if (entry.isDirectory())
|
|
151
|
-
|
|
152
|
-
|
|
163
|
+
if (entry.isDirectory()) {
|
|
164
|
+
if (!isTransientNodeModulesCacheDir(childRel))
|
|
165
|
+
stack.push(childRel);
|
|
166
|
+
}
|
|
167
|
+
else if (!isTransientNodeModulesStateFile(entry.name)) {
|
|
153
168
|
await copyFileCowOrValue(path.join(nmRoot, childRel), path.join(digestBackupDir, childRel));
|
|
154
169
|
}
|
|
155
170
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-digest-and-globs.js","sourceRoot":"","sources":["../../../src/executors/internal/file-digest-and-globs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,OAAO,GACR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,8BAA8B,EAC9B,2BAA2B,
|
|
1
|
+
{"version":3,"file":"file-digest-and-globs.js","sourceRoot":"","sources":["../../../src/executors/internal/file-digest-and-globs.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,4 +26,12 @@ export declare const HARNESS_GIT_IDENTITY_ENV: Readonly<Record<string, string>>;
|
|
|
26
26
|
* Memoized cache of compiled `picomatch` exclusion predicates keyed by null-delimited glob patterns.
|
|
27
27
|
*/
|
|
28
28
|
export declare const COMPILED_EXCLUDE_MATCHER_CACHE: Map<string, (relPath: string) => boolean>;
|
|
29
|
+
/**
|
|
30
|
+
* Regular expression matching transient bundler, test-runner, and pnpm task state directory segments inside `node_modules`.
|
|
31
|
+
*/
|
|
32
|
+
export declare const TRANSIENT_NODE_MODULES_DIR_SEGMENT_REGEX: RegExp;
|
|
33
|
+
/**
|
|
34
|
+
* Regular expression matching transient pnpm workspace state JSON files inside `node_modules`.
|
|
35
|
+
*/
|
|
36
|
+
export declare const TRANSIENT_NODE_MODULES_FILE_REGEX: RegExp;
|
|
29
37
|
//# sourceMappingURL=git-executor.constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-executor.constants.d.ts","sourceRoot":"","sources":["../../../src/executors/internal/git-executor.constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qCAAqC,UAAY,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAIvD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAW,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAiB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAW,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOpE,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAGlF,CAAC"}
|
|
1
|
+
{"version":3,"file":"git-executor.constants.d.ts","sourceRoot":"","sources":["../../../src/executors/internal/git-executor.constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qCAAqC,UAAY,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAIvD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAW,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAiB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAW,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOpE,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAGlF,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,wCAAwC,QACI,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,iCAAiC,QAAsC,CAAC"}
|
|
@@ -37,4 +37,12 @@ export const HARNESS_GIT_IDENTITY_ENV = Object.freeze({
|
|
|
37
37
|
* Memoized cache of compiled `picomatch` exclusion predicates keyed by null-delimited glob patterns.
|
|
38
38
|
*/
|
|
39
39
|
export const COMPILED_EXCLUDE_MATCHER_CACHE = new Map();
|
|
40
|
+
/**
|
|
41
|
+
* Regular expression matching transient bundler, test-runner, and pnpm task state directory segments inside `node_modules`.
|
|
42
|
+
*/
|
|
43
|
+
export const TRANSIENT_NODE_MODULES_DIR_SEGMENT_REGEX = /^\.(cache|vite|vitest|pnpm-task-run-state)(?:$|[-_])/i;
|
|
44
|
+
/**
|
|
45
|
+
* Regular expression matching transient pnpm workspace state JSON files inside `node_modules`.
|
|
46
|
+
*/
|
|
47
|
+
export const TRANSIENT_NODE_MODULES_FILE_REGEX = /^\.pnpm-workspace-state.*\.json$/i;
|
|
40
48
|
//# sourceMappingURL=git-executor.constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-executor.constants.js","sourceRoot":"","sources":["../../../src/executors/internal/git-executor.constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,SAAS,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC1E,wBAAwB;IACxB,kBAAkB;IAClB,SAAS;CACV,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAqC,MAAM,CAAC,MAAM,CAAC;IACtF,eAAe,EAAE,qBAAqB;IACtC,gBAAgB,EAAE,2BAA2B;IAC7C,kBAAkB,EAAE,qBAAqB;IACzC,mBAAmB,EAAE,2BAA2B;IAChD,eAAe,EAAE,kBAAkB;IACnC,kBAAkB,EAAE,kBAAkB;CACvC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAA8C,IAAI,GAAG,EAG7F,CAAC"}
|
|
1
|
+
{"version":3,"file":"git-executor.constants.js","sourceRoot":"","sources":["../../../src/executors/internal/git-executor.constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,SAAS,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC1E,wBAAwB;IACxB,kBAAkB;IAClB,SAAS;CACV,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAqC,MAAM,CAAC,MAAM,CAAC;IACtF,eAAe,EAAE,qBAAqB;IACtC,gBAAgB,EAAE,2BAA2B;IAC7C,kBAAkB,EAAE,qBAAqB;IACzC,mBAAmB,EAAE,2BAA2B;IAChD,eAAe,EAAE,kBAAkB;IACnC,kBAAkB,EAAE,kBAAkB;CACvC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAA8C,IAAI,GAAG,EAG7F,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,wCAAwC,GACnD,uDAAuD,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,mCAAmC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paraharness/git",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Copy-on-Write (CoW) hierarchical Git worktree isolation scope, git-index checkpointing, stateless 3-way merge-tree reconciliation, and candidate comparison tools for Paraharness.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"paraharness",
|
|
@@ -49,8 +49,8 @@
|
|
|
49
49
|
"picomatch": "^4.0.3",
|
|
50
50
|
"write-file-atomic": "^8.0.0",
|
|
51
51
|
"zod": "^4.6.7",
|
|
52
|
-
"@paraharness/core": "0.1
|
|
53
|
-
"@paraharness/lockfile": "0.
|
|
52
|
+
"@paraharness/core": "0.2.1",
|
|
53
|
+
"@paraharness/lockfile": "0.2.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@types/node": "^22.9.0",
|