@cleocode/worktree 2026.10.8-rc.ci.675 → 2026.10.9-rc.ci.676
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/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/worktree-create.d.ts +16 -9
- package/dist/worktree-create.d.ts.map +1 -1
- package/dist/worktree-create.js +130 -31
- package/dist/worktree-create.js.map +1 -1
- package/dist/worktree-hooks.d.ts +3 -0
- package/dist/worktree-hooks.d.ts.map +1 -1
- package/dist/worktree-hooks.js +43 -1
- package/dist/worktree-hooks.js.map +1 -1
- package/dist/worktree-pnpm.d.ts +38 -0
- package/dist/worktree-pnpm.d.ts.map +1 -1
- package/dist/worktree-pnpm.js +96 -10
- package/dist/worktree-pnpm.js.map +1 -1
- package/dist/worktree-preflight.d.ts.map +1 -1
- package/dist/worktree-preflight.js +11 -1
- package/dist/worktree-preflight.js.map +1 -1
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -31,14 +31,14 @@ export type { WorktreeAuditPayload } from './worktree-audit.js';
|
|
|
31
31
|
export { addWorktreeToSentinelIndex, appendWorktreeAuditLog, removeWorktreeFromSentinelIndex, resolveWorktreeIndexPath, WORKTREE_INDEX_RELATIVE_PATH, WORKTREE_LIFECYCLE_AUDIT_FILE, } from './worktree-audit.js';
|
|
32
32
|
export { createWorktree } from './worktree-create.js';
|
|
33
33
|
export { destroyWorktree } from './worktree-destroy.js';
|
|
34
|
-
export { runWorktreeHooks } from './worktree-hooks.js';
|
|
34
|
+
export { runProjectWorktreeHooks, runWorktreeHooks } from './worktree-hooks.js';
|
|
35
35
|
export { applyIncludePatterns, loadWorktreeIncludePatterns } from './worktree-include.js';
|
|
36
36
|
export { listWorktrees, listWorktreesByProjectRoot, resolveWorktreeRoot, } from './worktree-list.js';
|
|
37
37
|
export * from './worktree-locate.js';
|
|
38
38
|
export { type AcquireWorktreeTaskLockOptions, acquireWorktreeTaskLock, assessWorktreeLockHolder, DEFAULT_WORKTREE_LOCK_TTL_MS, heartbeatWorktreeTaskLock, isSameLockCaller, isWorktreeLockedError, type ProcessLiveness, type ProcessProbe, probeProcess, readProcessStartTime, readStableDeviceId, readWorktreeTaskLock, releaseWorktreeTaskLock, releaseWorktreeTaskLocksForSession, resolveWorktreeLockTtlMs, WORKTREE_LOCK_TTL_ENV, type WorktreeLockAssessment, type WorktreeLockedError, } from './worktree-lock.js';
|
|
39
39
|
export type { MigrateWorktreeResult } from './worktree-migrate.js';
|
|
40
40
|
export { discoverParentProjectRoot, migrateAllWorktreeIdentities, migrateWorktreeIdentity, } from './worktree-migrate.js';
|
|
41
|
-
export { installWorktreeDependencies } from './worktree-pnpm.js';
|
|
41
|
+
export { configureWorktreePnpmStore, installWorktreeDependencies } from './worktree-pnpm.js';
|
|
42
42
|
export type { CoreWorktreeLeakResult, InstallStatus } from './worktree-preflight.js';
|
|
43
43
|
export { assertNoWorktreeConfigLeak, detectAndHealCoreWorktreeLeak, ensureWorktreeBuildReady, } from './worktree-preflight.js';
|
|
44
44
|
export { pruneWorktrees } from './worktree-prune.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,KAAK,2BAA2B,EAChC,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,OAAO,EACP,uBAAuB,GACxB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,eAAe,IAAI,mBAAmB,EACtC,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,IAAI,qBAAqB,EAC1C,cAAc,IAAI,kBAAkB,EACpC,SAAS,IAAI,aAAa,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC9E,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,+BAA+B,EAC/B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,KAAK,2BAA2B,EAChC,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,OAAO,EACP,uBAAuB,GACxB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,eAAe,IAAI,mBAAmB,EACtC,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,IAAI,qBAAqB,EAC1C,cAAc,IAAI,kBAAkB,EACpC,SAAS,IAAI,aAAa,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC9E,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,+BAA+B,EAC/B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,KAAK,8BAA8B,EACnC,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,kCAAkC,EAClC,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAC7F,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -29,13 +29,13 @@ export { detectPartialWorktree, recoverPartialWorktree } from './recovery.js';
|
|
|
29
29
|
export { addWorktreeToSentinelIndex, appendWorktreeAuditLog, removeWorktreeFromSentinelIndex, resolveWorktreeIndexPath, WORKTREE_INDEX_RELATIVE_PATH, WORKTREE_LIFECYCLE_AUDIT_FILE, } from './worktree-audit.js';
|
|
30
30
|
export { createWorktree } from './worktree-create.js';
|
|
31
31
|
export { destroyWorktree } from './worktree-destroy.js';
|
|
32
|
-
export { runWorktreeHooks } from './worktree-hooks.js';
|
|
32
|
+
export { runProjectWorktreeHooks, runWorktreeHooks } from './worktree-hooks.js';
|
|
33
33
|
export { applyIncludePatterns, loadWorktreeIncludePatterns } from './worktree-include.js';
|
|
34
34
|
export { listWorktrees, listWorktreesByProjectRoot, resolveWorktreeRoot, } from './worktree-list.js';
|
|
35
35
|
export * from './worktree-locate.js';
|
|
36
36
|
export { acquireWorktreeTaskLock, assessWorktreeLockHolder, DEFAULT_WORKTREE_LOCK_TTL_MS, heartbeatWorktreeTaskLock, isSameLockCaller, isWorktreeLockedError, probeProcess, readProcessStartTime, readStableDeviceId, readWorktreeTaskLock, releaseWorktreeTaskLock, releaseWorktreeTaskLocksForSession, resolveWorktreeLockTtlMs, WORKTREE_LOCK_TTL_ENV, } from './worktree-lock.js';
|
|
37
37
|
export { discoverParentProjectRoot, migrateAllWorktreeIdentities, migrateWorktreeIdentity, } from './worktree-migrate.js';
|
|
38
|
-
export { installWorktreeDependencies } from './worktree-pnpm.js';
|
|
38
|
+
export { configureWorktreePnpmStore, installWorktreeDependencies } from './worktree-pnpm.js';
|
|
39
39
|
export { assertNoWorktreeConfigLeak, detectAndHealCoreWorktreeLeak, ensureWorktreeBuildReady, } from './worktree-preflight.js';
|
|
40
40
|
export { pruneWorktrees } from './worktree-prune.js';
|
|
41
41
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAiBH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAEL,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,OAAO,EACP,uBAAuB,GACxB,MAAM,UAAU,CAAC;AAClB,mEAAmE;AACnE,sEAAsE;AACtE,OAAO,EACL,eAAe,IAAI,mBAAmB,EACtC,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,IAAI,qBAAqB,EAC1C,cAAc,IAAI,kBAAkB,EACpC,SAAS,IAAI,aAAa,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE9E,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,+BAA+B,EAC/B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAiBH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAEL,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,OAAO,EACP,uBAAuB,GACxB,MAAM,UAAU,CAAC;AAClB,mEAAmE;AACnE,sEAAsE;AACtE,OAAO,EACL,eAAe,IAAI,mBAAmB,EACtC,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,IAAI,qBAAqB,EAC1C,cAAc,IAAI,kBAAkB,EACpC,SAAS,IAAI,aAAa,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE9E,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,+BAA+B,EAC/B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAEL,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EAGrB,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,kCAAkC,EAClC,wBAAwB,EACxB,qBAAqB,GAGtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAE7F,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -12,20 +12,14 @@
|
|
|
12
12
|
*
|
|
13
13
|
* @task T1161
|
|
14
14
|
*/
|
|
15
|
-
import type { CreateWorktreeOptions, CreateWorktreeResult
|
|
15
|
+
import type { CreateWorktreeOptions, CreateWorktreeResult } from '@cleocode/contracts';
|
|
16
16
|
/**
|
|
17
17
|
* Extended result type including the bootstrap field.
|
|
18
18
|
*
|
|
19
|
-
*
|
|
20
|
-
* {@link CreateWorktreeResult}; this local extension allows the implementation
|
|
21
|
-
* to compile in the interim.
|
|
19
|
+
* Creation always supplies the canonical bootstrap result.
|
|
22
20
|
*/
|
|
23
21
|
interface CreateWorktreeResultWithBootstrap extends CreateWorktreeResult {
|
|
24
|
-
bootstrap:
|
|
25
|
-
copiedPaths: string[];
|
|
26
|
-
failedPaths: string[];
|
|
27
|
-
hookResults: WorktreeHookResult[];
|
|
28
|
-
};
|
|
22
|
+
bootstrap: NonNullable<CreateWorktreeResult['bootstrap']>;
|
|
29
23
|
/** Glob patterns actually excluded via sparse-checkout (T9226). */
|
|
30
24
|
appliedExcludePatterns: string[];
|
|
31
25
|
/**
|
|
@@ -34,6 +28,19 @@ interface CreateWorktreeResultWithBootstrap extends CreateWorktreeResult {
|
|
|
34
28
|
*/
|
|
35
29
|
appliedScope: string | null;
|
|
36
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* What a worker runs when provisioning did not install dependencies (T13524).
|
|
33
|
+
* It goes through the heavy queue and installs into the worktree's own store:
|
|
34
|
+
* concurrent installs into the shared global store corrupt `.pnpm/` with
|
|
35
|
+
* `@@`-prefixed directories (T9938, T13538), and deferral happens exactly when
|
|
36
|
+
* many spawns are in flight.
|
|
37
|
+
*
|
|
38
|
+
* @param worktreePath - The worktree the command installs into.
|
|
39
|
+
* @returns The shell command.
|
|
40
|
+
* @task T13524
|
|
41
|
+
* @task T13538
|
|
42
|
+
*/
|
|
43
|
+
export declare function workerInstallCommand(worktreePath: string): string;
|
|
37
44
|
/**
|
|
38
45
|
* Create a git worktree for an agent task.
|
|
39
46
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-create.d.ts","sourceRoot":"","sources":["../src/worktree-create.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"worktree-create.d.ts","sourceRoot":"","sources":["../src/worktree-create.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EAIrB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,UAAU,iCAAkC,SAAQ,oBAAoB;IACtE,SAAS,EAAE,WAAW,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1D,mEAAmE;IACnE,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC;;;OAGG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAmMD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAKjE;AA6CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,iCAAiC,CAAC,CA8D5C"}
|
package/dist/worktree-create.js
CHANGED
|
@@ -50,9 +50,9 @@ function assertCanonicalWorktreeLocation(targetPath) {
|
|
|
50
50
|
`There is no override — see Saga T9800 SG-WORKTREE-CANON and ADR decision D009.`), { code: 'E_WT_LOCATION_FORBIDDEN', targetPath, canonicalRoot });
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
import { runWorktreeHooks } from './worktree-hooks.js';
|
|
53
|
+
import { runProjectWorktreeHooks, runWorktreeHooks } from './worktree-hooks.js';
|
|
54
54
|
import { applyIncludePatterns, loadWorktreeIncludePatterns } from './worktree-include.js';
|
|
55
|
-
import { installWorktreeDependencies } from './worktree-pnpm.js';
|
|
55
|
+
import { configureWorktreePnpmStore, installWorktreeDependencies, isNpmrcTracked, } from './worktree-pnpm.js';
|
|
56
56
|
/**
|
|
57
57
|
* Apply the T9226 spawn-clone-exclude filter to a newly created worktree.
|
|
58
58
|
*
|
|
@@ -185,6 +185,58 @@ function discardBranchName(gitRoot, branch, fallbackRef) {
|
|
|
185
185
|
gitSync(['branch', '-m', branch, preserved], gitRoot);
|
|
186
186
|
process.stderr.write(`[worktree] preserved unmerged history of ${branch} as ${preserved} (never deleted)\n`);
|
|
187
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* What a worker runs when provisioning did not install dependencies (T13524).
|
|
190
|
+
* It goes through the heavy queue and installs into the worktree's own store:
|
|
191
|
+
* concurrent installs into the shared global store corrupt `.pnpm/` with
|
|
192
|
+
* `@@`-prefixed directories (T9938, T13538), and deferral happens exactly when
|
|
193
|
+
* many spawns are in flight.
|
|
194
|
+
*
|
|
195
|
+
* @param worktreePath - The worktree the command installs into.
|
|
196
|
+
* @returns The shell command.
|
|
197
|
+
* @task T13524
|
|
198
|
+
* @task T13538
|
|
199
|
+
*/
|
|
200
|
+
export function workerInstallCommand(worktreePath) {
|
|
201
|
+
return ('cleo run --wait --class build -- pnpm install --frozen-lockfile --prefer-offline ' +
|
|
202
|
+
`--store-dir ${shellQuote(join(worktreePath, '.pnpm-store'))}`);
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Run the dependency install for a fresh worktree (T9938 / T11489), recording
|
|
206
|
+
* the paths in `copiedPaths` / `failedPaths` for the bootstrap envelope.
|
|
207
|
+
*/
|
|
208
|
+
function runWorktreeInstall(worktreePath, gitRoot, appliedPatterns, copiedPaths, failedPaths) {
|
|
209
|
+
// Both install paths use the worktree's own store: point its .npmrc there and
|
|
210
|
+
// exclude the store from git before pnpm creates it (T13542).
|
|
211
|
+
configureWorktreePnpmStore(worktreePath);
|
|
212
|
+
if (appliedPatterns.some((p) => p.pattern === 'pnpm-lock.yaml')) {
|
|
213
|
+
if (installWorktreeDependencies(worktreePath, gitRoot)) {
|
|
214
|
+
copiedPaths.push('node_modules/ (pnpm install)');
|
|
215
|
+
return { status: 'installed' };
|
|
216
|
+
}
|
|
217
|
+
failedPaths.push('pnpm install');
|
|
218
|
+
return {
|
|
219
|
+
status: 'failed',
|
|
220
|
+
reason: 'pnpm install failed',
|
|
221
|
+
command: workerInstallCommand(worktreePath),
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
// T11489 — DHQ-019: guarantee build-ready even when .worktreeinclude does not list pnpm-lock.yaml.
|
|
225
|
+
const status = ensureWorktreeBuildReady(worktreePath, gitRoot);
|
|
226
|
+
if (status.action === 'installed') {
|
|
227
|
+
copiedPaths.push('node_modules/ (pnpm install — auto build-ready)');
|
|
228
|
+
return { status: 'installed' };
|
|
229
|
+
}
|
|
230
|
+
if (status.action === 'install-failed') {
|
|
231
|
+
failedPaths.push(`pnpm install (auto build-ready): ${status.error ?? 'unknown'}`);
|
|
232
|
+
return {
|
|
233
|
+
status: 'failed',
|
|
234
|
+
reason: status.error ?? 'pnpm install failed',
|
|
235
|
+
command: workerInstallCommand(worktreePath),
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
return { status: 'not-needed', reason: status.action };
|
|
239
|
+
}
|
|
188
240
|
/**
|
|
189
241
|
* Create a git worktree for an agent task.
|
|
190
242
|
*
|
|
@@ -388,6 +440,9 @@ async function provisionUnderLock(projectRoot, options, ctx) {
|
|
|
388
440
|
? applySpawnScope(worktreePath, spawnScope)
|
|
389
441
|
: null;
|
|
390
442
|
// Run post-create hooks before returning the handle.
|
|
443
|
+
const postCreateProjectHookResults = reattached
|
|
444
|
+
? []
|
|
445
|
+
: await runProjectWorktreeHooks(options.projectHookExecutor, hooks, 'post-create', worktreePath, taskId);
|
|
391
446
|
const postCreateHookResults = reattached
|
|
392
447
|
? []
|
|
393
448
|
: await runWorktreeHooks(hooks, 'post-create', worktreePath);
|
|
@@ -462,56 +517,80 @@ async function provisionUnderLock(projectRoot, options, ctx) {
|
|
|
462
517
|
const failedPaths = [];
|
|
463
518
|
// T9938 — Install dependencies with serialized pnpm lock to prevent
|
|
464
519
|
// @@-prefixed doubled-directory corruption in .pnpm/ when multiple
|
|
465
|
-
// worktrees are provisioned concurrently.
|
|
466
|
-
//
|
|
467
|
-
//
|
|
520
|
+
// worktrees are provisioned concurrently. Uses per-worktree pnpm store
|
|
521
|
+
// (.pnpm-store/) for full isolation.
|
|
522
|
+
//
|
|
523
|
+
// T13524 — the install is heavy work: it runs only once the caller's
|
|
524
|
+
// `admitInstall` grants a slot in the machine-wide queue, is deferred to the
|
|
525
|
+
// worker when the budget is busy, and is skipped under `skipInstall`.
|
|
526
|
+
let install;
|
|
468
527
|
if (reattached) {
|
|
469
528
|
// T12506: never install into (or otherwise mutate) a re-attached worktree.
|
|
529
|
+
install = { status: 'not-needed', reason: 're-attached worktree' };
|
|
470
530
|
}
|
|
471
|
-
else if (
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
531
|
+
else if (!existsSync(join(worktreePath, 'pnpm-lock.yaml')) ||
|
|
532
|
+
existsSync(join(worktreePath, 'node_modules'))) {
|
|
533
|
+
install = {
|
|
534
|
+
status: 'not-needed',
|
|
535
|
+
reason: 'no pnpm-lock.yaml, or node_modules already present',
|
|
536
|
+
};
|
|
537
|
+
}
|
|
538
|
+
else if (options.skipInstall) {
|
|
539
|
+
configureWorktreePnpmStore(worktreePath);
|
|
540
|
+
install = {
|
|
541
|
+
status: 'skipped',
|
|
542
|
+
reason: '--no-install',
|
|
543
|
+
command: workerInstallCommand(worktreePath),
|
|
544
|
+
};
|
|
479
545
|
}
|
|
480
546
|
else {
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
547
|
+
const release = options.admitInstall ? await options.admitInstall() : async () => { };
|
|
548
|
+
if (release === null) {
|
|
549
|
+
configureWorktreePnpmStore(worktreePath);
|
|
550
|
+
install = {
|
|
551
|
+
status: 'deferred',
|
|
552
|
+
reason: 'the machine-wide heavy-work budget is busy; install deferred to the worker',
|
|
553
|
+
command: workerInstallCommand(worktreePath),
|
|
554
|
+
};
|
|
489
555
|
}
|
|
490
|
-
else
|
|
491
|
-
|
|
556
|
+
else {
|
|
557
|
+
try {
|
|
558
|
+
install = runWorktreeInstall(worktreePath, gitRoot, appliedPatterns, copiedPaths, failedPaths);
|
|
559
|
+
}
|
|
560
|
+
finally {
|
|
561
|
+
await release();
|
|
562
|
+
}
|
|
492
563
|
}
|
|
493
|
-
// 'already-ready' and 'no-lockfile' require no action on copiedPaths/failedPaths.
|
|
494
564
|
}
|
|
495
565
|
// Run post-start hooks after copy-on-write bootstrap.
|
|
566
|
+
const postStartProjectHookResults = reattached
|
|
567
|
+
? []
|
|
568
|
+
: await runProjectWorktreeHooks(options.projectHookExecutor, hooks, 'post-start', worktreePath, taskId);
|
|
496
569
|
const postStartHookResults = reattached
|
|
497
570
|
? []
|
|
498
571
|
: await runWorktreeHooks(hooks, 'post-start', worktreePath);
|
|
499
572
|
// Build env vars for agent spawn.
|
|
500
573
|
const pathKey = pathEnvKey();
|
|
501
|
-
|
|
574
|
+
// T13522: advertise strict protection only when the caller installed the shim.
|
|
575
|
+
const shimActive = options.gitShim?.installed === true;
|
|
502
576
|
const envVars = {
|
|
503
577
|
CLEO_AGENT_ROLE: 'worker',
|
|
504
578
|
CLEO_AGENT_CWD: worktreePath,
|
|
505
579
|
CLEO_WORKTREE_ROOT: worktreePath,
|
|
506
580
|
CLEO_WORKTREE_BRANCH: branch,
|
|
507
581
|
CLEO_PROJECT_HASH: projectHash,
|
|
508
|
-
CLEO_BRANCH_PROTECTION: 'strict',
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
582
|
+
CLEO_BRANCH_PROTECTION: shimActive ? 'strict' : 'unavailable',
|
|
583
|
+
...(shimActive && options.gitShim
|
|
584
|
+
? {
|
|
585
|
+
CLEO_SHIM_MARKER: '.cleo/bin/git-shim',
|
|
586
|
+
// Platform delimiter: ':' would fuse the shim dir with the first real
|
|
587
|
+
// Windows PATH entry and lose both (T12605).
|
|
588
|
+
[pathKey]: prependPathEntry(options.gitShim.dir, process.env[pathKey]),
|
|
589
|
+
}
|
|
590
|
+
: {}),
|
|
513
591
|
};
|
|
514
592
|
// Build the preamble text for agent context isolation (per acceptance criterion).
|
|
593
|
+
const npmrcTracked = install.status === 'installed' && isNpmrcTracked(worktreePath);
|
|
515
594
|
const preamble = [
|
|
516
595
|
'## BRANCH ISOLATION PROTOCOL (MANDATORY)',
|
|
517
596
|
'',
|
|
@@ -524,11 +603,28 @@ async function provisionUnderLock(projectRoot, options, ctx) {
|
|
|
524
603
|
' git checkout, git switch, git branch -b/-D, git reset --hard,',
|
|
525
604
|
' git worktree add/remove, git rebase, git stash pop, git push --force',
|
|
526
605
|
'',
|
|
527
|
-
|
|
606
|
+
shimActive
|
|
607
|
+
? 'A git shim is active on your PATH that will exit 77 if you attempt these, or a push to main.'
|
|
608
|
+
: 'No git shim could be installed for this worktree: these rules are NOT enforced, so follow them yourself.',
|
|
528
609
|
`Your working directory is: ${worktreePath}`,
|
|
529
610
|
`You are authorized only within \`${worktreePath}\``,
|
|
530
611
|
'All your commits must land on YOUR branch only.',
|
|
531
612
|
'',
|
|
613
|
+
// T13524: tell the worker to install when provisioning did not.
|
|
614
|
+
...(install.command
|
|
615
|
+
? [
|
|
616
|
+
`Dependencies were NOT installed (${install.status}: ${install.reason ?? ''}).`,
|
|
617
|
+
`Before building or testing, run: ${install.command}`,
|
|
618
|
+
`Pass the same --store-dir to any other pnpm install/add here (this worktree has its own pnpm store).`,
|
|
619
|
+
'',
|
|
620
|
+
]
|
|
621
|
+
: npmrcTracked && install.status === 'installed'
|
|
622
|
+
? [
|
|
623
|
+
// T13541: a tracked .npmrc cannot name this worktree's store.
|
|
624
|
+
`This repo tracks .npmrc, so it cannot name this worktree's pnpm store: pass --store-dir ${shellQuote(join(worktreePath, '.pnpm-store'))} to any later pnpm install/add.`,
|
|
625
|
+
'',
|
|
626
|
+
]
|
|
627
|
+
: []),
|
|
532
628
|
].join('\n');
|
|
533
629
|
// T9805 AC3: Append audit log entry for every worktree creation.
|
|
534
630
|
appendWorktreeAuditLog(projectRoot, {
|
|
@@ -554,6 +650,7 @@ async function provisionUnderLock(projectRoot, options, ctx) {
|
|
|
554
650
|
envVars,
|
|
555
651
|
preamble,
|
|
556
652
|
hookResults: postCreateHookResults,
|
|
653
|
+
projectHookResults: postCreateProjectHookResults,
|
|
557
654
|
appliedPatterns,
|
|
558
655
|
appliedExcludePatterns,
|
|
559
656
|
appliedScope,
|
|
@@ -561,7 +658,9 @@ async function provisionUnderLock(projectRoot, options, ctx) {
|
|
|
561
658
|
copiedPaths,
|
|
562
659
|
failedPaths,
|
|
563
660
|
hookResults: postStartHookResults,
|
|
661
|
+
projectHookResults: postStartProjectHookResults,
|
|
564
662
|
},
|
|
663
|
+
install,
|
|
565
664
|
};
|
|
566
665
|
}
|
|
567
666
|
//# sourceMappingURL=worktree-create.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-create.js","sourceRoot":"","sources":["../src/worktree-create.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worktree-create.js","sourceRoot":"","sources":["../src/worktree-create.ts"],"names":[],"mappings":"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"}
|
package/dist/worktree-hooks.d.ts
CHANGED
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
* @task T1161
|
|
10
10
|
*/
|
|
11
11
|
import type { WorktreeHook, WorktreeHookResult } from '@cleocode/contracts';
|
|
12
|
+
import type { HookExecutor, HookOutcome } from '@cleocode/contracts/project-hooks.js';
|
|
13
|
+
/** Run shared post-create/start checks through an injected contracts port. */
|
|
14
|
+
export declare function runProjectWorktreeHooks(executor: HookExecutor | undefined, legacyHooks: readonly WorktreeHook[], event: 'post-create' | 'post-start', worktreePath: string, taskId: string): Promise<HookOutcome[]>;
|
|
12
15
|
/**
|
|
13
16
|
* Execute a single declarative hook in the given worktree directory.
|
|
14
17
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-hooks.d.ts","sourceRoot":"","sources":["../src/worktree-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"worktree-hooks.d.ts","sourceRoot":"","sources":["../src/worktree-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAKtF,8EAA8E;AAC9E,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,WAAW,EAAE,SAAS,YAAY,EAAE,EACpC,KAAK,EAAE,aAAa,GAAG,YAAY,EACnC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,EAAE,CAAC,CAyCxB;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,CAgC7B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,EAC5B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAiB/B"}
|
package/dist/worktree-hooks.js
CHANGED
|
@@ -8,9 +8,51 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @task T1161
|
|
10
10
|
*/
|
|
11
|
-
import { execFile } from 'node:child_process';
|
|
11
|
+
import { execFile, execFileSync } from 'node:child_process';
|
|
12
12
|
import { shellInvocation } from '@cleocode/paths';
|
|
13
13
|
const DEFAULT_HOOK_TIMEOUT_MS = 30_000;
|
|
14
|
+
/** Run shared post-create/start checks through an injected contracts port. */
|
|
15
|
+
export async function runProjectWorktreeHooks(executor, legacyHooks, event, worktreePath, taskId) {
|
|
16
|
+
if (!executor)
|
|
17
|
+
return [];
|
|
18
|
+
if (legacyHooks.some((hook) => hook.event === event && hook.projectHookId)) {
|
|
19
|
+
throw new Error('HOOK_DUPLICATE_REGISTRATION');
|
|
20
|
+
}
|
|
21
|
+
let outcomes;
|
|
22
|
+
try {
|
|
23
|
+
const projectRoot = execFileSync('git', ['-C', worktreePath, 'rev-parse', '--show-toplevel'], {
|
|
24
|
+
encoding: 'utf8',
|
|
25
|
+
timeout: 5000,
|
|
26
|
+
maxBuffer: 16384,
|
|
27
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
28
|
+
}).trim();
|
|
29
|
+
const gitCommonDir = execFileSync('git', ['-C', worktreePath, 'rev-parse', '--path-format=absolute', '--git-common-dir'], { encoding: 'utf8', timeout: 5000, maxBuffer: 16384, stdio: ['ignore', 'pipe', 'ignore'] }).trim();
|
|
30
|
+
outcomes = await executor.execute({
|
|
31
|
+
schemaVersion: 1,
|
|
32
|
+
projectRoot,
|
|
33
|
+
gitCommonDir,
|
|
34
|
+
source: 'worktree',
|
|
35
|
+
event,
|
|
36
|
+
worktree: { taskId, path: projectRoot },
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return [
|
|
41
|
+
{
|
|
42
|
+
id: 'cleo.project-hooks',
|
|
43
|
+
status: 'infrastructure-error',
|
|
44
|
+
blocks: false,
|
|
45
|
+
code: 'HOOK_INFRASTRUCTURE_ERROR',
|
|
46
|
+
exitCode: null,
|
|
47
|
+
signal: null,
|
|
48
|
+
durationMs: 0,
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
}
|
|
52
|
+
if (outcomes.some((outcome) => outcome.blocks))
|
|
53
|
+
throw new Error('HOOK_PROJECT_BLOCK');
|
|
54
|
+
return outcomes;
|
|
55
|
+
}
|
|
14
56
|
/**
|
|
15
57
|
* Execute a single declarative hook in the given worktree directory.
|
|
16
58
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-hooks.js","sourceRoot":"","sources":["../src/worktree-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"worktree-hooks.js","sourceRoot":"","sources":["../src/worktree-hooks.ts"],"names":[],"mappings":"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"}
|
package/dist/worktree-pnpm.d.ts
CHANGED
|
@@ -31,4 +31,42 @@
|
|
|
31
31
|
* @task T9938
|
|
32
32
|
*/
|
|
33
33
|
export declare function installWorktreeDependencies(worktreePath: string, projectRoot: string): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Point the worktree's pnpm at its own store (`<worktree>/.pnpm-store`) via
|
|
36
|
+
* `.npmrc`, keeping every other line of an existing `.npmrc`. Called at
|
|
37
|
+
* provisioning whether or not the install runs now, so a worker that installs
|
|
38
|
+
* later (deferred or `--no-install`) never touches the shared global store,
|
|
39
|
+
* where concurrent installs corrupt `.pnpm/` (T9938, T13538). Best-effort.
|
|
40
|
+
*
|
|
41
|
+
* A TRACKED `.npmrc` is left alone: editing it would leave a dirty tracked
|
|
42
|
+
* file the worker might commit. The worker's install command carries
|
|
43
|
+
* `--store-dir` for that case.
|
|
44
|
+
*
|
|
45
|
+
* @param worktreePath - The worktree.
|
|
46
|
+
* @returns The store directory configured, or `null` when `.npmrc` is tracked
|
|
47
|
+
* or could not be written.
|
|
48
|
+
* @task T9938
|
|
49
|
+
* @task T13538
|
|
50
|
+
*/
|
|
51
|
+
export declare function configureWorktreePnpmStore(worktreePath: string): string | null;
|
|
52
|
+
/**
|
|
53
|
+
* Whether the worktree's `.npmrc` is tracked by git (`git ls-files
|
|
54
|
+
* --error-unmatch`): then it cannot carry the worktree's `store-dir`.
|
|
55
|
+
*
|
|
56
|
+
* @param worktreePath - The worktree.
|
|
57
|
+
* @returns `true` when tracked; `false` when untracked, absent, or git fails.
|
|
58
|
+
* @task T13538
|
|
59
|
+
* @task T13541
|
|
60
|
+
*/
|
|
61
|
+
export declare function isNpmrcTracked(worktreePath: string): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Append patterns to the repository's `info/exclude` (from `git rev-parse
|
|
64
|
+
* --git-path info/exclude`), never to a tracked `.gitignore`. Idempotent and
|
|
65
|
+
* best-effort.
|
|
66
|
+
*
|
|
67
|
+
* @param cwd - A directory inside the worktree.
|
|
68
|
+
* @param patterns - Root-anchored patterns to exclude.
|
|
69
|
+
* @task T13538
|
|
70
|
+
*/
|
|
71
|
+
export declare function excludeFromGit(cwd: string, patterns: readonly string[]): void;
|
|
34
72
|
//# sourceMappingURL=worktree-pnpm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-pnpm.d.ts","sourceRoot":"","sources":["../src/worktree-pnpm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"worktree-pnpm.d.ts","sourceRoot":"","sources":["../src/worktree-pnpm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAoEH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CA2C9F;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoB9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAU5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAkB7E"}
|
package/dist/worktree-pnpm.js
CHANGED
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
* @task T9938
|
|
14
14
|
*/
|
|
15
15
|
import { execFileSync } from 'node:child_process';
|
|
16
|
-
import { closeSync, existsSync, mkdirSync, openSync, unlinkSync, writeFileSync } from 'node:fs';
|
|
17
|
-
import { join } from 'node:path';
|
|
16
|
+
import { closeSync, existsSync, mkdirSync, openSync, readFileSync, unlinkSync, writeFileSync, } from 'node:fs';
|
|
17
|
+
import { dirname, isAbsolute, join } from 'node:path';
|
|
18
18
|
const PNPM_INSTALL_TIMEOUT_MS = 120_000;
|
|
19
19
|
const LOCK_RETRY_INTERVAL_MS = 500;
|
|
20
20
|
const LOCK_MAX_WAIT_MS = 300_000; // 5 min max wait
|
|
@@ -97,15 +97,10 @@ export function installWorktreeDependencies(worktreePath, projectRoot) {
|
|
|
97
97
|
releaseLock = acquirePnpmLock(projectRoot);
|
|
98
98
|
// Configure per-worktree pnpm store to isolate from global store.
|
|
99
99
|
// This prevents future races when agents run pnpm operations.
|
|
100
|
-
|
|
100
|
+
configureWorktreePnpmStore(worktreePath);
|
|
101
|
+
// --store-dir too: a tracked .npmrc cannot carry it (T13541).
|
|
101
102
|
const storeDir = join(worktreePath, '.pnpm-store');
|
|
102
|
-
|
|
103
|
-
writeFileSync(npmrcPath, `store-dir=${storeDir}\n`, 'utf-8');
|
|
104
|
-
}
|
|
105
|
-
catch {
|
|
106
|
-
// Best-effort — pnpm install still works with global store.
|
|
107
|
-
}
|
|
108
|
-
execFileSync('pnpm', ['install', '--frozen-lockfile', '--prefer-offline'], {
|
|
103
|
+
execFileSync('pnpm', ['install', '--frozen-lockfile', '--prefer-offline', '--store-dir', storeDir], {
|
|
109
104
|
cwd: worktreePath,
|
|
110
105
|
encoding: 'utf-8',
|
|
111
106
|
timeout: PNPM_INSTALL_TIMEOUT_MS,
|
|
@@ -124,4 +119,95 @@ export function installWorktreeDependencies(worktreePath, projectRoot) {
|
|
|
124
119
|
}
|
|
125
120
|
}
|
|
126
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Point the worktree's pnpm at its own store (`<worktree>/.pnpm-store`) via
|
|
124
|
+
* `.npmrc`, keeping every other line of an existing `.npmrc`. Called at
|
|
125
|
+
* provisioning whether or not the install runs now, so a worker that installs
|
|
126
|
+
* later (deferred or `--no-install`) never touches the shared global store,
|
|
127
|
+
* where concurrent installs corrupt `.pnpm/` (T9938, T13538). Best-effort.
|
|
128
|
+
*
|
|
129
|
+
* A TRACKED `.npmrc` is left alone: editing it would leave a dirty tracked
|
|
130
|
+
* file the worker might commit. The worker's install command carries
|
|
131
|
+
* `--store-dir` for that case.
|
|
132
|
+
*
|
|
133
|
+
* @param worktreePath - The worktree.
|
|
134
|
+
* @returns The store directory configured, or `null` when `.npmrc` is tracked
|
|
135
|
+
* or could not be written.
|
|
136
|
+
* @task T9938
|
|
137
|
+
* @task T13538
|
|
138
|
+
*/
|
|
139
|
+
export function configureWorktreePnpmStore(worktreePath) {
|
|
140
|
+
const npmrcPath = join(worktreePath, '.npmrc');
|
|
141
|
+
const storeDir = join(worktreePath, '.pnpm-store');
|
|
142
|
+
const tracked = isNpmrcTracked(worktreePath);
|
|
143
|
+
// Keep the store out of `git add -A`. Not `.npmrc`: info/exclude lives in the
|
|
144
|
+
// COMMON .git, so excluding it would hide a new .npmrc in the main checkout
|
|
145
|
+
// too (T13541); the tracked guard plus explicit staging cover it.
|
|
146
|
+
excludeFromGit(worktreePath, ['/.pnpm-store/']);
|
|
147
|
+
if (tracked)
|
|
148
|
+
return null;
|
|
149
|
+
try {
|
|
150
|
+
const kept = existsSync(npmrcPath)
|
|
151
|
+
? readFileSync(npmrcPath, 'utf-8')
|
|
152
|
+
.split('\n')
|
|
153
|
+
.filter((line) => line.trim() !== '' && !/^\s*store-dir\s*=/.test(line))
|
|
154
|
+
: [];
|
|
155
|
+
writeFileSync(npmrcPath, `${[...kept, `store-dir=${storeDir}`].join('\n')}\n`, 'utf-8');
|
|
156
|
+
return storeDir;
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Whether the worktree's `.npmrc` is tracked by git (`git ls-files
|
|
164
|
+
* --error-unmatch`): then it cannot carry the worktree's `store-dir`.
|
|
165
|
+
*
|
|
166
|
+
* @param worktreePath - The worktree.
|
|
167
|
+
* @returns `true` when tracked; `false` when untracked, absent, or git fails.
|
|
168
|
+
* @task T13538
|
|
169
|
+
* @task T13541
|
|
170
|
+
*/
|
|
171
|
+
export function isNpmrcTracked(worktreePath) {
|
|
172
|
+
try {
|
|
173
|
+
execFileSync('git', ['ls-files', '--error-unmatch', '.npmrc'], {
|
|
174
|
+
cwd: worktreePath,
|
|
175
|
+
stdio: 'pipe',
|
|
176
|
+
});
|
|
177
|
+
return true;
|
|
178
|
+
}
|
|
179
|
+
catch {
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Append patterns to the repository's `info/exclude` (from `git rev-parse
|
|
185
|
+
* --git-path info/exclude`), never to a tracked `.gitignore`. Idempotent and
|
|
186
|
+
* best-effort.
|
|
187
|
+
*
|
|
188
|
+
* @param cwd - A directory inside the worktree.
|
|
189
|
+
* @param patterns - Root-anchored patterns to exclude.
|
|
190
|
+
* @task T13538
|
|
191
|
+
*/
|
|
192
|
+
export function excludeFromGit(cwd, patterns) {
|
|
193
|
+
try {
|
|
194
|
+
const rel = execFileSync('git', ['rev-parse', '--git-path', 'info/exclude'], {
|
|
195
|
+
cwd,
|
|
196
|
+
encoding: 'utf-8',
|
|
197
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
198
|
+
}).trim();
|
|
199
|
+
const excludePath = isAbsolute(rel) ? rel : join(cwd, rel);
|
|
200
|
+
const current = existsSync(excludePath) ? readFileSync(excludePath, 'utf-8') : '';
|
|
201
|
+
const have = new Set(current.split('\n').map((l) => l.trim()));
|
|
202
|
+
const missing = patterns.filter((p) => !have.has(p));
|
|
203
|
+
if (missing.length === 0)
|
|
204
|
+
return;
|
|
205
|
+
mkdirSync(dirname(excludePath), { recursive: true });
|
|
206
|
+
const sep = current === '' || current.endsWith('\n') ? '' : '\n';
|
|
207
|
+
writeFileSync(excludePath, `${current}${sep}${missing.join('\n')}\n`, 'utf-8');
|
|
208
|
+
}
|
|
209
|
+
catch {
|
|
210
|
+
// Best-effort: an unexcluded store is visible, not harmful.
|
|
211
|
+
}
|
|
212
|
+
}
|
|
127
213
|
//# sourceMappingURL=worktree-pnpm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-pnpm.js","sourceRoot":"","sources":["../src/worktree-pnpm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"worktree-pnpm.js","sourceRoot":"","sources":["../src/worktree-pnpm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-preflight.d.ts","sourceRoot":"","sources":["../src/worktree-preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAWH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,uEAAuE;IACvE,YAAY,EAAE,OAAO,CAAC;IACtB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,CAkDrF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAmBhE;AAMD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;;;;;OAMG;IACH,MAAM,EAAE,eAAe,GAAG,WAAW,GAAG,gBAAgB,GAAG,aAAa,CAAC;IACzE,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"worktree-preflight.d.ts","sourceRoot":"","sources":["../src/worktree-preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAWH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,uEAAuE;IACvE,YAAY,EAAE,OAAO,CAAC;IACtB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,CAkDrF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAmBhE;AAMD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;;;;;OAMG;IACH,MAAM,EAAE,eAAe,GAAG,WAAW,GAAG,gBAAgB,GAAG,aAAa,CAAC;IACzE,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,CAsEjG"}
|
|
@@ -159,9 +159,19 @@ export function ensureWorktreeBuildReady(worktreePath, projectRoot) {
|
|
|
159
159
|
process.stderr.write(`[worktree-preflight] node_modules absent in ${worktreePath}; ` +
|
|
160
160
|
`running pnpm install --prefer-offline --ignore-scripts...\n`);
|
|
161
161
|
try {
|
|
162
|
-
|
|
162
|
+
// Into the worktree's own store, never the shared global one (T9938, T13541).
|
|
163
|
+
execFileSync('pnpm', [
|
|
164
|
+
'install',
|
|
165
|
+
'--prefer-offline',
|
|
166
|
+
'--ignore-scripts',
|
|
167
|
+
'--store-dir',
|
|
168
|
+
join(worktreePath, '.pnpm-store'),
|
|
169
|
+
], {
|
|
163
170
|
cwd: worktreePath,
|
|
164
171
|
encoding: 'utf-8',
|
|
172
|
+
// Piped, never 'inherit': an inherited stdout would print pnpm's output
|
|
173
|
+
// before the spawn's LAFS envelope (ADR-086) and slip past the stdout
|
|
174
|
+
// guard test, which only sees process.stdout.write (T13493).
|
|
165
175
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
166
176
|
timeout: 300_000, // 5 minutes
|
|
167
177
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-preflight.js","sourceRoot":"","sources":["../src/worktree-preflight.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"worktree-preflight.js","sourceRoot":"","sources":["../src/worktree-preflight.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cleocode/worktree",
|
|
3
|
-
"version": "2026.10.
|
|
3
|
+
"version": "2026.10.9-rc.ci.676",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Native CLEO worktree backend SDK",
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
"author": "CLEO Code <hello@cleocode.dev>",
|
|
26
26
|
"license": "MIT",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@cleocode/
|
|
29
|
-
"@cleocode/
|
|
28
|
+
"@cleocode/contracts": "2026.10.9-rc.ci.676",
|
|
29
|
+
"@cleocode/paths": "2026.10.9-rc.ci.676"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/node": "^24.3.0",
|
|
33
33
|
"typescript": "^6.0.2",
|
|
34
34
|
"vitest": "^4.1.4",
|
|
35
|
-
"@cleocode/core": "2026.10.
|
|
35
|
+
"@cleocode/core": "2026.10.9-rc.ci.676"
|
|
36
36
|
},
|
|
37
37
|
"repository": {
|
|
38
38
|
"type": "git",
|