@ai-dossier/worktree-pool 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -5
- package/dist/cli.js +7 -1
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/pool-actions.d.ts +11 -0
- package/dist/pool-actions.d.ts.map +1 -1
- package/dist/pool-actions.js +113 -68
- package/dist/pool-actions.js.map +1 -1
- package/dist/pool-state.d.ts +14 -1
- package/dist/pool-state.d.ts.map +1 -1
- package/dist/pool-state.js +47 -0
- package/dist/pool-state.js.map +1 -1
- package/dist/project-env.d.ts +31 -0
- package/dist/project-env.d.ts.map +1 -0
- package/dist/project-env.js +197 -0
- package/dist/project-env.js.map +1 -0
- package/dist/types.d.ts +28 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/@ai-dossier/worktree-pool)
|
|
5
5
|
[](https://github.com/imboard-ai/ai-dossier/blob/main/LICENSE)
|
|
6
6
|
|
|
7
|
-
Pre-warmed git worktree pool for instant issue setup. Eliminates the ~3-5 minute cold start (git worktree add +
|
|
7
|
+
Pre-warmed git worktree pool for instant issue setup. Eliminates the ~3-5 minute cold start (git worktree add + install + build) by maintaining a pool of ready-to-use worktrees.
|
|
8
|
+
|
|
9
|
+
Works with pnpm, yarn, bun and npm — the package manager, lockfile and build command are detected from the project, or pinned explicitly in `.worktree-pool.json`.
|
|
8
10
|
|
|
9
11
|
## Install
|
|
10
12
|
|
|
@@ -31,6 +33,7 @@ Requires Node.js >= 20.0.0.
|
|
|
31
33
|
| `worktree-pool refresh` | Fetch origin + rebuild in all warm worktrees |
|
|
32
34
|
| `worktree-pool gc` | Remove stale/orphaned/excess worktrees |
|
|
33
35
|
| `worktree-pool init` | Configure pool directory for this project |
|
|
36
|
+
| `worktree-pool detect [dir]` | Print the detected package-manager env as JSON |
|
|
34
37
|
|
|
35
38
|
## Quick Start
|
|
36
39
|
|
|
@@ -61,16 +64,18 @@ worktree-pool gc
|
|
|
61
64
|
replenish claim return
|
|
62
65
|
| | |
|
|
63
66
|
v v v
|
|
64
|
-
|
|
65
|
-
|
|
67
|
+
base_ref ──> [warm worktree] ──> [assigned] ──> [recycled/warm]
|
|
68
|
+
install rename to reset to
|
|
66
69
|
+ build feature branch temp branch
|
|
67
70
|
```
|
|
68
71
|
|
|
69
|
-
1. **Replenish** creates worktrees from `origin/main` on temp branches, runs
|
|
72
|
+
1. **Replenish** creates worktrees from `base_ref` (default `origin/main`) on temp branches, then runs the warm commands (install + build)
|
|
70
73
|
2. **Claim** renames a warm worktree, switches to your feature branch — instant setup (~2s)
|
|
71
74
|
3. **Return** recycles the worktree back to pool on a fresh temp branch
|
|
72
75
|
4. **GC** removes stale entries (>72h) and reconciles disk state vs pool state
|
|
73
76
|
|
|
77
|
+
Claim and return only re-run the warm commands when the project's lockfile changed between the worktree's base commit and `base_ref` — otherwise the existing `node_modules` and build output are reused.
|
|
78
|
+
|
|
74
79
|
### Pool State
|
|
75
80
|
|
|
76
81
|
Pool state is stored in `worktrees/.pool-state.json` (automatically gitignored). Each worktree transitions through:
|
|
@@ -84,7 +89,7 @@ Concurrent access is protected by atomic `mkdir`-based file locking.
|
|
|
84
89
|
|
|
85
90
|
## Configuration
|
|
86
91
|
|
|
87
|
-
|
|
92
|
+
### Pool sizing — `.pool-state.json`
|
|
88
93
|
|
|
89
94
|
| Setting | Default | Description |
|
|
90
95
|
|---------|---------|-------------|
|
|
@@ -92,6 +97,60 @@ Default pool settings (configurable via `.pool-state.json`):
|
|
|
92
97
|
| `max_pool_size` | 10 | Maximum total worktrees in pool |
|
|
93
98
|
| `stale_after_hours` | 72 | Hours before a warm worktree is considered stale |
|
|
94
99
|
|
|
100
|
+
### Project layout — `.worktree-pool.json`
|
|
101
|
+
|
|
102
|
+
Lives at the repo root. Every key is optional; `worktree-pool init` writes `pool_dir` into it without touching the others.
|
|
103
|
+
|
|
104
|
+
| Key | Default | Description |
|
|
105
|
+
|-----|---------|-------------|
|
|
106
|
+
| `pool_dir` | `../worktrees` | Directory holding pool worktrees, relative to the repo root |
|
|
107
|
+
| `project_subdir` | _(none)_ | Package root relative to the worktree root, for repos whose `package.json` is nested (e.g. `"main"`). Warm commands run here, and the lockfile is looked for here |
|
|
108
|
+
| `warm_commands` | _(detected)_ | Explicit warm-up commands as argv arrays. Wins over detection |
|
|
109
|
+
| `base_ref` | `origin/main` | Ref that pool worktrees are branched from and reset to. The remote to fetch is taken from its prefix (`upstream/develop` fetches `upstream`) |
|
|
110
|
+
|
|
111
|
+
```json
|
|
112
|
+
{
|
|
113
|
+
"pool_dir": "../worktrees",
|
|
114
|
+
"project_subdir": "main",
|
|
115
|
+
"base_ref": "origin/develop",
|
|
116
|
+
"warm_commands": [
|
|
117
|
+
["pnpm", "install", "--frozen-lockfile", "--prefer-offline"],
|
|
118
|
+
["pnpm", "run", "build:libs"]
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Package-manager detection
|
|
124
|
+
|
|
125
|
+
When `warm_commands` is not set, the warm-up is derived from the project directory (`<worktree>/<project_subdir>`):
|
|
126
|
+
|
|
127
|
+
1. **Package manager** — the `packageManager` field in `package.json` wins; otherwise the first lockfile found, probed in the order `pnpm-lock.yaml`, `yarn.lock`, `bun.lockb` / `bun.lock`, `package-lock.json`; otherwise npm.
|
|
128
|
+
2. **Install** — the frozen variant when the lockfile is present, a plain install when it is not (`npm ci`, `pnpm install --frozen-lockfile`, and `yarn install --immutable` all fail without a lockfile).
|
|
129
|
+
3. **Build** — `build:libs` if that script exists, else `build`, else no build step.
|
|
130
|
+
|
|
131
|
+
| Manager | Lockfile | Install (lockfile present) | Install (no lockfile) |
|
|
132
|
+
|---------|----------|----------------------------|-----------------------|
|
|
133
|
+
| pnpm | `pnpm-lock.yaml` | `pnpm install --frozen-lockfile --prefer-offline` | `pnpm install --prefer-offline` |
|
|
134
|
+
| yarn | `yarn.lock` | `yarn install --immutable` | `yarn install` |
|
|
135
|
+
| bun | `bun.lockb` / `bun.lock` | `bun install` | `bun install` |
|
|
136
|
+
| npm | `package-lock.json` | `npm ci` | `npm install` |
|
|
137
|
+
|
|
138
|
+
Inspect what would run:
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
worktree-pool detect # this repo's package root
|
|
142
|
+
worktree-pool detect ./apps/api # any directory
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
```json
|
|
146
|
+
{
|
|
147
|
+
"pm": "pnpm",
|
|
148
|
+
"lockfile": "pnpm-lock.yaml",
|
|
149
|
+
"installCmd": ["pnpm", "install", "--frozen-lockfile", "--prefer-offline"],
|
|
150
|
+
"buildCmd": ["pnpm", "run", "build:libs"]
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
95
154
|
## Integration
|
|
96
155
|
|
|
97
156
|
Works with [ai-dossier](https://github.com/imboard-ai/ai-dossier) workflows:
|
package/dist/cli.js
CHANGED
|
@@ -12,7 +12,8 @@ Commands:
|
|
|
12
12
|
return --path P Return worktree to pool
|
|
13
13
|
refresh Fetch + rebuild all warm worktrees
|
|
14
14
|
gc Remove stale/orphaned worktrees
|
|
15
|
-
init Configure pool directory for this project
|
|
15
|
+
init Configure pool directory for this project
|
|
16
|
+
detect [dir] Print detected package manager env as JSON`);
|
|
16
17
|
}
|
|
17
18
|
function parseArgs(args) {
|
|
18
19
|
const command = args[0];
|
|
@@ -126,6 +127,11 @@ async function main() {
|
|
|
126
127
|
}
|
|
127
128
|
break;
|
|
128
129
|
}
|
|
130
|
+
case 'detect': {
|
|
131
|
+
const dir = args[1] && !args[1].startsWith('--') ? args[1] : undefined;
|
|
132
|
+
console.log(JSON.stringify((0, pool_actions_1.detect)(dir), null, 2));
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
129
135
|
case 'init': {
|
|
130
136
|
const result = await (0, pool_actions_1.init)();
|
|
131
137
|
console.log(`Pool directory: ${result.pool_dir}`);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { claim, gc, init, refresh, replenish, resolvePoolDir, returnWorktree, status, } from './pool-actions';
|
|
1
|
+
export { claim, detect, gc, init, readPoolFileConfig, refresh, replenish, resolvePoolDir, returnWorktree, status, } from './pool-actions';
|
|
2
2
|
export * from './pool-state';
|
|
3
|
+
export * from './project-env';
|
|
3
4
|
export * from './types';
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,EAAE,EACF,IAAI,EACJ,OAAO,EACP,SAAS,EACT,cAAc,EACd,cAAc,EACd,MAAM,GACP,MAAM,gBAAgB,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,MAAM,EACN,EAAE,EACF,IAAI,EACJ,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,cAAc,EACd,cAAc,EACd,MAAM,GACP,MAAM,gBAAgB,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,16 +14,19 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.status = exports.returnWorktree = exports.resolvePoolDir = exports.replenish = exports.refresh = exports.init = exports.gc = exports.claim = void 0;
|
|
17
|
+
exports.status = exports.returnWorktree = exports.resolvePoolDir = exports.replenish = exports.refresh = exports.readPoolFileConfig = exports.init = exports.gc = exports.detect = exports.claim = void 0;
|
|
18
18
|
var pool_actions_1 = require("./pool-actions");
|
|
19
19
|
Object.defineProperty(exports, "claim", { enumerable: true, get: function () { return pool_actions_1.claim; } });
|
|
20
|
+
Object.defineProperty(exports, "detect", { enumerable: true, get: function () { return pool_actions_1.detect; } });
|
|
20
21
|
Object.defineProperty(exports, "gc", { enumerable: true, get: function () { return pool_actions_1.gc; } });
|
|
21
22
|
Object.defineProperty(exports, "init", { enumerable: true, get: function () { return pool_actions_1.init; } });
|
|
23
|
+
Object.defineProperty(exports, "readPoolFileConfig", { enumerable: true, get: function () { return pool_actions_1.readPoolFileConfig; } });
|
|
22
24
|
Object.defineProperty(exports, "refresh", { enumerable: true, get: function () { return pool_actions_1.refresh; } });
|
|
23
25
|
Object.defineProperty(exports, "replenish", { enumerable: true, get: function () { return pool_actions_1.replenish; } });
|
|
24
26
|
Object.defineProperty(exports, "resolvePoolDir", { enumerable: true, get: function () { return pool_actions_1.resolvePoolDir; } });
|
|
25
27
|
Object.defineProperty(exports, "returnWorktree", { enumerable: true, get: function () { return pool_actions_1.returnWorktree; } });
|
|
26
28
|
Object.defineProperty(exports, "status", { enumerable: true, get: function () { return pool_actions_1.status; } });
|
|
27
29
|
__exportStar(require("./pool-state"), exports);
|
|
30
|
+
__exportStar(require("./project-env"), exports);
|
|
28
31
|
__exportStar(require("./types"), exports);
|
|
29
32
|
//# 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,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAWwB;AAVtB,qGAAA,KAAK,OAAA;AACL,sGAAA,MAAM,OAAA;AACN,kGAAA,EAAE,OAAA;AACF,oGAAA,IAAI,OAAA;AACJ,kHAAA,kBAAkB,OAAA;AAClB,uGAAA,OAAO,OAAA;AACP,yGAAA,SAAS,OAAA;AACT,8GAAA,cAAc,OAAA;AACd,8GAAA,cAAc,OAAA;AACd,sGAAA,MAAM,OAAA;AAER,+CAA6B;AAC7B,gDAA8B;AAC9B,0CAAwB"}
|
package/dist/pool-actions.d.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { getPoolStatus } from './pool-state';
|
|
2
|
+
import { type PoolFileConfig, type ProjectEnv } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Read `.worktree-pool.json` from the repo root. Missing or corrupt files fall
|
|
5
|
+
* back to defaults. `pool_dir`, when set, is resolved to an absolute path.
|
|
6
|
+
*/
|
|
7
|
+
export declare function readPoolFileConfig(gitRoot: string): PoolFileConfig;
|
|
2
8
|
export declare function resolvePoolDir(gitRoot: string, opts?: {
|
|
3
9
|
interactive?: boolean;
|
|
4
10
|
}): Promise<string>;
|
|
@@ -23,6 +29,11 @@ export declare function gc(): {
|
|
|
23
29
|
export declare function status(): ReturnType<typeof getPoolStatus> & {
|
|
24
30
|
pool_dir: string;
|
|
25
31
|
};
|
|
32
|
+
/**
|
|
33
|
+
* Detect the project environment for `dir`, or — when omitted — for this
|
|
34
|
+
* repo's package root (git root plus `project_subdir` from the pool config).
|
|
35
|
+
*/
|
|
36
|
+
export declare function detect(dir?: string): ProjectEnv;
|
|
26
37
|
export declare function init(): Promise<{
|
|
27
38
|
pool_dir: string;
|
|
28
39
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool-actions.d.ts","sourceRoot":"","sources":["../src/pool-actions.ts"],"names":[],"mappings":"AAIA,OAAO,EAKL,aAAa,
|
|
1
|
+
{"version":3,"file":"pool-actions.d.ts","sourceRoot":"","sources":["../src/pool-actions.ts"],"names":[],"mappings":"AAIA,OAAO,EAKL,aAAa,EAOd,MAAM,cAAc,CAAC;AAQtB,OAAO,EAEL,KAAK,cAAc,EAGnB,KAAK,UAAU,EAChB,MAAM,SAAS,CAAC;AAiCjB;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAelE;AAyFD,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,OAAO,CAAC,MAAM,CAAC,CAuBjB;AA0LD,wBAAsB,SAAS,CAC7B,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,UAAQ,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA0FhD;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAgF5E;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAwFzD;AAED,wBAAgB,OAAO,IAAI;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAmCjE;AAED,wBAAgB,EAAE,IAAI;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAmFA;AAED,wBAAgB,MAAM,IAAI,UAAU,CAAC,OAAO,aAAa,CAAC,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAKhF;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAY/C;AAED,wBAAsB,IAAI,IAAI,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAK1D"}
|
package/dist/pool-actions.js
CHANGED
|
@@ -33,6 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.readPoolFileConfig = readPoolFileConfig;
|
|
36
37
|
exports.resolvePoolDir = resolvePoolDir;
|
|
37
38
|
exports.replenish = replenish;
|
|
38
39
|
exports.claim = claim;
|
|
@@ -40,15 +41,18 @@ exports.returnWorktree = returnWorktree;
|
|
|
40
41
|
exports.refresh = refresh;
|
|
41
42
|
exports.gc = gc;
|
|
42
43
|
exports.status = status;
|
|
44
|
+
exports.detect = detect;
|
|
43
45
|
exports.init = init;
|
|
44
46
|
const node_child_process_1 = require("node:child_process");
|
|
45
47
|
const fs = __importStar(require("node:fs"));
|
|
46
48
|
const path = __importStar(require("node:path"));
|
|
47
49
|
const readline = __importStar(require("node:readline"));
|
|
48
50
|
const pool_state_1 = require("./pool-state");
|
|
51
|
+
const project_env_1 = require("./project-env");
|
|
49
52
|
const types_1 = require("./types");
|
|
50
53
|
const LOCK_TIMEOUT_MS = 10_000;
|
|
51
54
|
const LOCK_RETRY_MS = 200;
|
|
55
|
+
const WARM_COMMAND_TIMEOUT_MS = 300_000;
|
|
52
56
|
const POOL_CONFIG_FILE = '.worktree-pool.json';
|
|
53
57
|
// --- Git helpers ---
|
|
54
58
|
function findGitRoot() {
|
|
@@ -67,25 +71,49 @@ function git(args, opts) {
|
|
|
67
71
|
function getConfigPath(gitRoot) {
|
|
68
72
|
return path.join(gitRoot, POOL_CONFIG_FILE);
|
|
69
73
|
}
|
|
70
|
-
|
|
74
|
+
/**
|
|
75
|
+
* Read `.worktree-pool.json` from the repo root. Missing or corrupt files fall
|
|
76
|
+
* back to defaults. `pool_dir`, when set, is resolved to an absolute path.
|
|
77
|
+
*/
|
|
78
|
+
function readPoolFileConfig(gitRoot) {
|
|
71
79
|
const configPath = getConfigPath(gitRoot);
|
|
72
80
|
if (!fs.existsSync(configPath))
|
|
73
|
-
return
|
|
81
|
+
return (0, pool_state_1.normalizePoolFileConfig)({});
|
|
82
|
+
let raw;
|
|
74
83
|
try {
|
|
75
|
-
|
|
76
|
-
if (raw.pool_dir && typeof raw.pool_dir === 'string') {
|
|
77
|
-
return { pool_dir: path.resolve(gitRoot, raw.pool_dir) };
|
|
78
|
-
}
|
|
84
|
+
raw = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
79
85
|
}
|
|
80
86
|
catch {
|
|
81
87
|
// corrupt config — treat as absent
|
|
88
|
+
return (0, pool_state_1.normalizePoolFileConfig)({});
|
|
89
|
+
}
|
|
90
|
+
const cfg = (0, pool_state_1.normalizePoolFileConfig)(raw);
|
|
91
|
+
if (cfg.pool_dir) {
|
|
92
|
+
cfg.pool_dir = path.resolve(gitRoot, cfg.pool_dir);
|
|
82
93
|
}
|
|
83
|
-
return
|
|
94
|
+
return cfg;
|
|
84
95
|
}
|
|
96
|
+
function readPoolDirConfig(gitRoot) {
|
|
97
|
+
const cfg = readPoolFileConfig(gitRoot);
|
|
98
|
+
return cfg.pool_dir ? { pool_dir: cfg.pool_dir } : null;
|
|
99
|
+
}
|
|
100
|
+
/** Persist `pool_dir` without clobbering other keys in the config file. */
|
|
85
101
|
function writePoolDirConfig(gitRoot, poolDir) {
|
|
86
102
|
const configPath = getConfigPath(gitRoot);
|
|
87
|
-
|
|
88
|
-
fs.
|
|
103
|
+
let existing = {};
|
|
104
|
+
if (fs.existsSync(configPath)) {
|
|
105
|
+
try {
|
|
106
|
+
const parsed = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
107
|
+
if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
|
|
108
|
+
existing = parsed;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
// corrupt config — overwrite it
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
existing.pool_dir = path.relative(gitRoot, poolDir);
|
|
116
|
+
fs.writeFileSync(configPath, `${JSON.stringify(existing, null, 2)}\n`);
|
|
89
117
|
}
|
|
90
118
|
function discoverPoolDirFromWorktrees(gitRoot) {
|
|
91
119
|
try {
|
|
@@ -289,6 +317,35 @@ function copyEnvFiles(gitRoot, targetDir) {
|
|
|
289
317
|
}
|
|
290
318
|
walk(gitRoot, 0, '');
|
|
291
319
|
}
|
|
320
|
+
// --- Warm-up commands ---
|
|
321
|
+
/**
|
|
322
|
+
* Run the project's warm-up commands (install + build) inside a worktree.
|
|
323
|
+
*
|
|
324
|
+
* Commands come from `warm_commands` in `.worktree-pool.json` when set,
|
|
325
|
+
* otherwise from package-manager detection. They run in
|
|
326
|
+
* `<worktree>/<project_subdir>` so nested monorepo package roots work.
|
|
327
|
+
*/
|
|
328
|
+
function runWarmCommands(worktreeAbsPath, cfg) {
|
|
329
|
+
const projectDir = (0, project_env_1.resolveProjectDir)(worktreeAbsPath, cfg.project_subdir);
|
|
330
|
+
for (const cmd of (0, project_env_1.resolveWarmCommands)(projectDir, cfg)) {
|
|
331
|
+
const [bin, ...args] = cmd;
|
|
332
|
+
if (!bin)
|
|
333
|
+
continue;
|
|
334
|
+
(0, node_child_process_1.execFileSync)(bin, args, {
|
|
335
|
+
cwd: projectDir,
|
|
336
|
+
stdio: 'pipe',
|
|
337
|
+
timeout: WARM_COMMAND_TIMEOUT_MS,
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Repo-root-relative lockfile path for a worktree, used to decide whether a
|
|
343
|
+
* range of upstream commits invalidates the installed dependencies.
|
|
344
|
+
*/
|
|
345
|
+
function lockfilePathForWorktree(worktreeAbsPath, cfg) {
|
|
346
|
+
const projectDir = (0, project_env_1.resolveProjectDir)(worktreeAbsPath, cfg.project_subdir);
|
|
347
|
+
return (0, project_env_1.lockfilePathFor)((0, project_env_1.detectProjectEnv)(projectDir), cfg.project_subdir);
|
|
348
|
+
}
|
|
292
349
|
// --- Destroy helper ---
|
|
293
350
|
function destroyWorktree(gitRoot, tempBranch, absPath) {
|
|
294
351
|
try {
|
|
@@ -308,9 +365,10 @@ function destroyWorktree(gitRoot, tempBranch, absPath) {
|
|
|
308
365
|
// --- Public operations ---
|
|
309
366
|
async function replenish(count, _parallel = false) {
|
|
310
367
|
const gitRoot = findGitRoot();
|
|
368
|
+
const cfg = readPoolFileConfig(gitRoot);
|
|
311
369
|
const poolDir = await resolvePoolDir(gitRoot, { interactive: true });
|
|
312
370
|
fs.mkdirSync(poolDir, { recursive: true });
|
|
313
|
-
git(['fetch',
|
|
371
|
+
git(['fetch', (0, pool_state_1.remoteForBaseRef)(cfg.base_ref)], { cwd: gitRoot });
|
|
314
372
|
let toCreate;
|
|
315
373
|
if (count !== undefined) {
|
|
316
374
|
toCreate = count;
|
|
@@ -329,7 +387,7 @@ async function replenish(count, _parallel = false) {
|
|
|
329
387
|
const absWorktreePath = toAbs(poolDir, id);
|
|
330
388
|
const tempBranch = `pool/spare-${id}`;
|
|
331
389
|
const baseCommit = withLock(poolDir, (state) => {
|
|
332
|
-
const sha = git(['rev-parse',
|
|
390
|
+
const sha = git(['rev-parse', cfg.base_ref], { cwd: gitRoot });
|
|
333
391
|
const wt = {
|
|
334
392
|
id,
|
|
335
393
|
path: id,
|
|
@@ -343,7 +401,7 @@ async function replenish(count, _parallel = false) {
|
|
|
343
401
|
return { state: (0, pool_state_1.addWorktree)(state, wt), result: sha };
|
|
344
402
|
});
|
|
345
403
|
try {
|
|
346
|
-
git(['branch', tempBranch,
|
|
404
|
+
git(['branch', tempBranch, cfg.base_ref], { cwd: gitRoot });
|
|
347
405
|
git(['worktree', 'add', absWorktreePath, tempBranch], {
|
|
348
406
|
cwd: gitRoot,
|
|
349
407
|
});
|
|
@@ -352,16 +410,7 @@ async function replenish(count, _parallel = false) {
|
|
|
352
410
|
result: undefined,
|
|
353
411
|
}));
|
|
354
412
|
copyEnvFiles(gitRoot, absWorktreePath);
|
|
355
|
-
(
|
|
356
|
-
cwd: absWorktreePath,
|
|
357
|
-
stdio: 'pipe',
|
|
358
|
-
timeout: 300_000,
|
|
359
|
-
});
|
|
360
|
-
(0, node_child_process_1.execSync)('make build-core build-mcp build-cli', {
|
|
361
|
-
cwd: absWorktreePath,
|
|
362
|
-
stdio: 'pipe',
|
|
363
|
-
timeout: 300_000,
|
|
364
|
-
});
|
|
413
|
+
runWarmCommands(absWorktreePath, cfg);
|
|
365
414
|
withLock(poolDir, (state) => ({
|
|
366
415
|
state: (0, pool_state_1.updateWorktree)(state, id, {
|
|
367
416
|
status: 'warm',
|
|
@@ -387,7 +436,7 @@ async function replenish(count, _parallel = false) {
|
|
|
387
436
|
}));
|
|
388
437
|
}
|
|
389
438
|
};
|
|
390
|
-
// Note: createOne uses
|
|
439
|
+
// Note: createOne uses execFileSync so parallelism is not possible in a single
|
|
391
440
|
// process. The --parallel flag is reserved for future async implementation.
|
|
392
441
|
for (let i = 0; i < toCreate; i++) {
|
|
393
442
|
createOne();
|
|
@@ -396,6 +445,7 @@ async function replenish(count, _parallel = false) {
|
|
|
396
445
|
}
|
|
397
446
|
function claim(issue, branch) {
|
|
398
447
|
const gitRoot = findGitRoot();
|
|
448
|
+
const cfg = readPoolFileConfig(gitRoot);
|
|
399
449
|
const poolDir = resolvePoolDirSync(gitRoot);
|
|
400
450
|
const result = withLock(poolDir, (state) => {
|
|
401
451
|
const claimed = (0, pool_state_1.claimWorktree)(state, issue, branch);
|
|
@@ -411,31 +461,23 @@ function claim(issue, branch) {
|
|
|
411
461
|
const newAbsPath = toAbs(poolDir, branchDir);
|
|
412
462
|
try {
|
|
413
463
|
// Check freshness
|
|
414
|
-
const
|
|
415
|
-
if (worktree.base_commit !==
|
|
464
|
+
const currentBase = git(['rev-parse', cfg.base_ref], { cwd: gitRoot });
|
|
465
|
+
if (worktree.base_commit !== currentBase) {
|
|
466
|
+
const lockfilePath = lockfilePathForWorktree(absPath, cfg);
|
|
416
467
|
let lockChanged = false;
|
|
417
468
|
try {
|
|
418
|
-
const diff = git(['diff', '--name-only', `${worktree.base_commit}
|
|
469
|
+
const diff = git(['diff', '--name-only', `${worktree.base_commit}..${cfg.base_ref}`], {
|
|
419
470
|
cwd: gitRoot,
|
|
420
471
|
});
|
|
421
|
-
lockChanged =
|
|
472
|
+
lockChanged = (0, project_env_1.lockfileChangedInDiff)(diff, lockfilePath);
|
|
422
473
|
}
|
|
423
474
|
catch {
|
|
424
475
|
lockChanged = true;
|
|
425
476
|
}
|
|
426
|
-
git(['fetch',
|
|
427
|
-
git(['reset', '--hard',
|
|
477
|
+
git(['fetch', (0, pool_state_1.remoteForBaseRef)(cfg.base_ref)], { cwd: absPath });
|
|
478
|
+
git(['reset', '--hard', cfg.base_ref], { cwd: absPath });
|
|
428
479
|
if (lockChanged) {
|
|
429
|
-
(
|
|
430
|
-
cwd: absPath,
|
|
431
|
-
stdio: 'pipe',
|
|
432
|
-
timeout: 300_000,
|
|
433
|
-
});
|
|
434
|
-
(0, node_child_process_1.execSync)('make build-core build-mcp build-cli', {
|
|
435
|
-
cwd: absPath,
|
|
436
|
-
stdio: 'pipe',
|
|
437
|
-
timeout: 300_000,
|
|
438
|
-
});
|
|
480
|
+
runWarmCommands(absPath, cfg);
|
|
439
481
|
}
|
|
440
482
|
}
|
|
441
483
|
// Create issue branch
|
|
@@ -478,6 +520,7 @@ function claim(issue, branch) {
|
|
|
478
520
|
}
|
|
479
521
|
function returnWorktree(worktreePath) {
|
|
480
522
|
const gitRoot = findGitRoot();
|
|
523
|
+
const cfg = readPoolFileConfig(gitRoot);
|
|
481
524
|
const poolDir = resolvePoolDirSync(gitRoot);
|
|
482
525
|
const absPath = path.resolve(worktreePath);
|
|
483
526
|
const newId = (0, types_1.generateId)();
|
|
@@ -495,8 +538,8 @@ function returnWorktree(worktreePath) {
|
|
|
495
538
|
};
|
|
496
539
|
});
|
|
497
540
|
try {
|
|
498
|
-
git(['fetch',
|
|
499
|
-
git(['checkout', '-b', newTempBranch,
|
|
541
|
+
git(['fetch', (0, pool_state_1.remoteForBaseRef)(cfg.base_ref)], { cwd: absPath });
|
|
542
|
+
git(['checkout', '-b', newTempBranch, cfg.base_ref], { cwd: absPath });
|
|
500
543
|
git(['clean', '-fd'], { cwd: absPath });
|
|
501
544
|
if (entry.assigned_branch) {
|
|
502
545
|
try {
|
|
@@ -510,28 +553,20 @@ function returnWorktree(worktreePath) {
|
|
|
510
553
|
fs.renameSync(absPath, newAbsPath);
|
|
511
554
|
git(['worktree', 'repair'], { cwd: gitRoot });
|
|
512
555
|
}
|
|
513
|
-
const
|
|
556
|
+
const currentBase = git(['rev-parse', cfg.base_ref], { cwd: gitRoot });
|
|
557
|
+
const lockfilePath = lockfilePathForWorktree(newAbsPath, cfg);
|
|
514
558
|
let lockChanged = false;
|
|
515
559
|
try {
|
|
516
|
-
const diff = git(['diff', '--name-only', `${entry.base_commit}
|
|
560
|
+
const diff = git(['diff', '--name-only', `${entry.base_commit}..${cfg.base_ref}`], {
|
|
517
561
|
cwd: gitRoot,
|
|
518
562
|
});
|
|
519
|
-
lockChanged =
|
|
563
|
+
lockChanged = (0, project_env_1.lockfileChangedInDiff)(diff, lockfilePath);
|
|
520
564
|
}
|
|
521
565
|
catch {
|
|
522
566
|
lockChanged = true;
|
|
523
567
|
}
|
|
524
568
|
if (lockChanged) {
|
|
525
|
-
(
|
|
526
|
-
cwd: newAbsPath,
|
|
527
|
-
stdio: 'pipe',
|
|
528
|
-
timeout: 300_000,
|
|
529
|
-
});
|
|
530
|
-
(0, node_child_process_1.execSync)('make build-core build-mcp build-cli', {
|
|
531
|
-
cwd: newAbsPath,
|
|
532
|
-
stdio: 'pipe',
|
|
533
|
-
timeout: 300_000,
|
|
534
|
-
});
|
|
569
|
+
runWarmCommands(newAbsPath, cfg);
|
|
535
570
|
}
|
|
536
571
|
withLock(poolDir, (state) => ({
|
|
537
572
|
state: (0, pool_state_1.updateWorktree)(state, entry.id, {
|
|
@@ -539,7 +574,7 @@ function returnWorktree(worktreePath) {
|
|
|
539
574
|
path: newId,
|
|
540
575
|
status: 'warm',
|
|
541
576
|
temp_branch: newTempBranch,
|
|
542
|
-
base_commit:
|
|
577
|
+
base_commit: currentBase,
|
|
543
578
|
warmed_at: new Date().toISOString(),
|
|
544
579
|
assigned_to_issue: null,
|
|
545
580
|
assigned_branch: null,
|
|
@@ -569,8 +604,9 @@ function returnWorktree(worktreePath) {
|
|
|
569
604
|
}
|
|
570
605
|
function refresh() {
|
|
571
606
|
const gitRoot = findGitRoot();
|
|
607
|
+
const cfg = readPoolFileConfig(gitRoot);
|
|
572
608
|
const poolDir = resolvePoolDirSync(gitRoot);
|
|
573
|
-
git(['fetch',
|
|
609
|
+
git(['fetch', (0, pool_state_1.remoteForBaseRef)(cfg.base_ref)], { cwd: gitRoot });
|
|
574
610
|
const state = readState(poolDir);
|
|
575
611
|
const warmWorktrees = state.worktrees.filter((w) => w.status === 'warm');
|
|
576
612
|
let refreshed = 0;
|
|
@@ -578,18 +614,9 @@ function refresh() {
|
|
|
578
614
|
for (const wt of warmWorktrees) {
|
|
579
615
|
const absPath = toAbs(poolDir, wt.path);
|
|
580
616
|
try {
|
|
581
|
-
git(['fetch',
|
|
582
|
-
git(['reset', '--hard',
|
|
583
|
-
(
|
|
584
|
-
cwd: absPath,
|
|
585
|
-
stdio: 'pipe',
|
|
586
|
-
timeout: 300_000,
|
|
587
|
-
});
|
|
588
|
-
(0, node_child_process_1.execSync)('make build-core build-mcp build-cli', {
|
|
589
|
-
cwd: absPath,
|
|
590
|
-
stdio: 'pipe',
|
|
591
|
-
timeout: 300_000,
|
|
592
|
-
});
|
|
617
|
+
git(['fetch', (0, pool_state_1.remoteForBaseRef)(cfg.base_ref)], { cwd: absPath });
|
|
618
|
+
git(['reset', '--hard', cfg.base_ref], { cwd: absPath });
|
|
619
|
+
runWarmCommands(absPath, cfg);
|
|
593
620
|
const newSha = git(['rev-parse', 'HEAD'], { cwd: absPath });
|
|
594
621
|
withLock(poolDir, (state) => ({
|
|
595
622
|
state: (0, pool_state_1.updateWorktree)(state, wt.id, {
|
|
@@ -687,6 +714,24 @@ function status() {
|
|
|
687
714
|
const state = readState(poolDir);
|
|
688
715
|
return { ...(0, pool_state_1.getPoolStatus)(state), pool_dir: poolDir };
|
|
689
716
|
}
|
|
717
|
+
/**
|
|
718
|
+
* Detect the project environment for `dir`, or — when omitted — for this
|
|
719
|
+
* repo's package root (git root plus `project_subdir` from the pool config).
|
|
720
|
+
*/
|
|
721
|
+
function detect(dir) {
|
|
722
|
+
if (dir) {
|
|
723
|
+
return (0, project_env_1.detectProjectEnv)(path.resolve(dir));
|
|
724
|
+
}
|
|
725
|
+
let gitRoot;
|
|
726
|
+
try {
|
|
727
|
+
gitRoot = findGitRoot();
|
|
728
|
+
}
|
|
729
|
+
catch {
|
|
730
|
+
return (0, project_env_1.detectProjectEnv)(process.cwd());
|
|
731
|
+
}
|
|
732
|
+
const cfg = readPoolFileConfig(gitRoot);
|
|
733
|
+
return (0, project_env_1.detectProjectEnv)((0, project_env_1.resolveProjectDir)(gitRoot, cfg.project_subdir));
|
|
734
|
+
}
|
|
690
735
|
async function init() {
|
|
691
736
|
const gitRoot = findGitRoot();
|
|
692
737
|
const poolDir = await resolvePoolDir(gitRoot, { interactive: true });
|
package/dist/pool-actions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool-actions.js","sourceRoot":"","sources":["../src/pool-actions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pool-actions.js","sourceRoot":"","sources":["../src/pool-actions.ts"],"names":[],"mappings":"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"}
|
package/dist/pool-state.d.ts
CHANGED
|
@@ -1,4 +1,17 @@
|
|
|
1
|
-
import { type PoolConfig, type PoolState, type PoolWorktree } from './types';
|
|
1
|
+
import { type PoolConfig, type PoolFileConfig, type PoolState, type PoolWorktree } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Normalize raw `.worktree-pool.json` contents into a `PoolFileConfig`.
|
|
4
|
+
*
|
|
5
|
+
* Lenient by design — a malformed optional key is dropped rather than thrown,
|
|
6
|
+
* so a hand-edited config can never wedge the pool. `pool_dir` is returned as
|
|
7
|
+
* written (callers resolve it against the git root).
|
|
8
|
+
*/
|
|
9
|
+
export declare function normalizePoolFileConfig(raw: unknown): PoolFileConfig;
|
|
10
|
+
/**
|
|
11
|
+
* Remote name implied by a base ref (`origin/main` -> `origin`). Refs without a
|
|
12
|
+
* remote prefix (`main`) fall back to `origin`.
|
|
13
|
+
*/
|
|
14
|
+
export declare function remoteForBaseRef(baseRef: string): string;
|
|
2
15
|
export declare function createEmptyState(configOverrides?: Partial<PoolConfig>): PoolState;
|
|
3
16
|
export declare function validateState(data: unknown): PoolState;
|
|
4
17
|
export declare function addWorktree(state: PoolState, worktree: PoolWorktree): PoolState;
|
package/dist/pool-state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool-state.d.ts","sourceRoot":"","sources":["../src/pool-state.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"pool-state.d.ts","sourceRoot":"","sources":["../src/pool-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,YAAY,EAElB,MAAM,SAAS,CAAC;AAEjB;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAkCpE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED,wBAAgB,gBAAgB,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,SAAS,CAMjF;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAmCtD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,GAAG,SAAS,CAQ/E;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAC7B,SAAS,CAQX;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,CAKtE;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,GAAG,IAAI,CAerD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAErD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAEzD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAMxD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,GAAE,IAAiB,GAAG,YAAY,EAAE,CAO3F;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB;IACD,gBAAgB,EAAE,YAAY,EAAE,CAAC;IACjC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CAKA;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAkB1D"}
|
package/dist/pool-state.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizePoolFileConfig = normalizePoolFileConfig;
|
|
4
|
+
exports.remoteForBaseRef = remoteForBaseRef;
|
|
3
5
|
exports.createEmptyState = createEmptyState;
|
|
4
6
|
exports.validateState = validateState;
|
|
5
7
|
exports.addWorktree = addWorktree;
|
|
@@ -13,6 +15,51 @@ exports.findStaleWorktrees = findStaleWorktrees;
|
|
|
13
15
|
exports.findOrphans = findOrphans;
|
|
14
16
|
exports.getPoolStatus = getPoolStatus;
|
|
15
17
|
const types_1 = require("./types");
|
|
18
|
+
/**
|
|
19
|
+
* Normalize raw `.worktree-pool.json` contents into a `PoolFileConfig`.
|
|
20
|
+
*
|
|
21
|
+
* Lenient by design — a malformed optional key is dropped rather than thrown,
|
|
22
|
+
* so a hand-edited config can never wedge the pool. `pool_dir` is returned as
|
|
23
|
+
* written (callers resolve it against the git root).
|
|
24
|
+
*/
|
|
25
|
+
function normalizePoolFileConfig(raw) {
|
|
26
|
+
const cfg = { base_ref: types_1.DEFAULT_BASE_REF };
|
|
27
|
+
if (!raw || typeof raw !== 'object')
|
|
28
|
+
return cfg;
|
|
29
|
+
const obj = raw;
|
|
30
|
+
if (typeof obj.pool_dir === 'string' && obj.pool_dir.length > 0) {
|
|
31
|
+
cfg.pool_dir = obj.pool_dir;
|
|
32
|
+
}
|
|
33
|
+
if (typeof obj.project_subdir === 'string') {
|
|
34
|
+
const trimmed = obj.project_subdir
|
|
35
|
+
.trim()
|
|
36
|
+
.replace(/^\.\/+/, '')
|
|
37
|
+
.replace(/[/\\]+$/, '');
|
|
38
|
+
if (trimmed.length > 0 && trimmed !== '.') {
|
|
39
|
+
cfg.project_subdir = trimmed;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (Array.isArray(obj.warm_commands)) {
|
|
43
|
+
const commands = obj.warm_commands.filter((cmd) => Array.isArray(cmd) && cmd.length > 0 && cmd.every((part) => typeof part === 'string'));
|
|
44
|
+
if (commands.length > 0) {
|
|
45
|
+
cfg.warm_commands = commands.map((cmd) => [...cmd]);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (typeof obj.base_ref === 'string' && obj.base_ref.trim().length > 0) {
|
|
49
|
+
cfg.base_ref = obj.base_ref.trim();
|
|
50
|
+
}
|
|
51
|
+
return cfg;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Remote name implied by a base ref (`origin/main` -> `origin`). Refs without a
|
|
55
|
+
* remote prefix (`main`) fall back to `origin`.
|
|
56
|
+
*/
|
|
57
|
+
function remoteForBaseRef(baseRef) {
|
|
58
|
+
const slash = baseRef.indexOf('/');
|
|
59
|
+
if (slash <= 0)
|
|
60
|
+
return 'origin';
|
|
61
|
+
return baseRef.slice(0, slash);
|
|
62
|
+
}
|
|
16
63
|
function createEmptyState(configOverrides) {
|
|
17
64
|
return {
|
|
18
65
|
schema_version: types_1.SCHEMA_VERSION,
|
package/dist/pool-state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool-state.js","sourceRoot":"","sources":["../src/pool-state.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"pool-state.js","sourceRoot":"","sources":["../src/pool-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { PackageManager, ProjectEnv } from './types';
|
|
2
|
+
/** The canonical lockfile name for a package manager. */
|
|
3
|
+
export declare function lockfileFor(pm: PackageManager): string;
|
|
4
|
+
/**
|
|
5
|
+
* Detect the package manager and warm-up commands for a project directory.
|
|
6
|
+
*
|
|
7
|
+
* Precedence: the `packageManager` field in package.json wins over lockfile
|
|
8
|
+
* probing; probing order is pnpm, yarn, bun, npm; npm is the final fallback.
|
|
9
|
+
*/
|
|
10
|
+
export declare function detectProjectEnv(dir: string): ProjectEnv;
|
|
11
|
+
/**
|
|
12
|
+
* Absolute directory the warm commands run in: the worktree root, or
|
|
13
|
+
* `<worktree>/<project_subdir>` for repos whose package root is nested.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveProjectDir(worktreeAbsPath: string, projectSubdir?: string): string;
|
|
16
|
+
/**
|
|
17
|
+
* Warm commands for a project directory. Explicit `warm_commands` from
|
|
18
|
+
* `.worktree-pool.json` always win over detection; otherwise it is
|
|
19
|
+
* install (+ build, when the project defines one).
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolveWarmCommands(projectDir: string, cfg?: {
|
|
22
|
+
warm_commands?: string[][];
|
|
23
|
+
}): string[][];
|
|
24
|
+
/**
|
|
25
|
+
* Repo-root-relative path of the lockfile, matching how `git diff --name-only`
|
|
26
|
+
* reports paths (always POSIX separators).
|
|
27
|
+
*/
|
|
28
|
+
export declare function lockfilePathFor(env: ProjectEnv, projectSubdir?: string): string;
|
|
29
|
+
/** True when `git diff --name-only` output touched the project's lockfile. */
|
|
30
|
+
export declare function lockfileChangedInDiff(diffOutput: string, lockfilePath: string): boolean;
|
|
31
|
+
//# sourceMappingURL=project-env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-env.d.ts","sourceRoot":"","sources":["../src/project-env.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AA4C1D,yDAAyD;AACzD,wBAAgB,WAAW,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAEtD;AAuCD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CA8BxD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAGzF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,GAAG,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,CAAA;CAAE,GACnC,MAAM,EAAE,EAAE,CAOZ;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAS/E;AAED,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAKvF"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.lockfileFor = lockfileFor;
|
|
37
|
+
exports.detectProjectEnv = detectProjectEnv;
|
|
38
|
+
exports.resolveProjectDir = resolveProjectDir;
|
|
39
|
+
exports.resolveWarmCommands = resolveWarmCommands;
|
|
40
|
+
exports.lockfilePathFor = lockfilePathFor;
|
|
41
|
+
exports.lockfileChangedInDiff = lockfileChangedInDiff;
|
|
42
|
+
const fs = __importStar(require("node:fs"));
|
|
43
|
+
const path = __importStar(require("node:path"));
|
|
44
|
+
/**
|
|
45
|
+
* Lockfile names per package manager. The first entry is the canonical
|
|
46
|
+
* lockfile (what `lockfileFor()` returns); later entries are alternates that
|
|
47
|
+
* detection also accepts (bun writes `bun.lockb` or, since 1.2, `bun.lock`).
|
|
48
|
+
*/
|
|
49
|
+
const LOCKFILES = {
|
|
50
|
+
pnpm: ['pnpm-lock.yaml'],
|
|
51
|
+
yarn: ['yarn.lock'],
|
|
52
|
+
bun: ['bun.lockb', 'bun.lock'],
|
|
53
|
+
npm: ['package-lock.json'],
|
|
54
|
+
};
|
|
55
|
+
/** Order in which lockfiles are probed when there is no `packageManager` field. */
|
|
56
|
+
const DETECTION_ORDER = ['pnpm', 'yarn', 'bun', 'npm'];
|
|
57
|
+
/**
|
|
58
|
+
* Install command used when the expected lockfile is present. These are the
|
|
59
|
+
* frozen/immutable variants: a warm worktree should never silently drift from
|
|
60
|
+
* the committed lockfile.
|
|
61
|
+
*/
|
|
62
|
+
const FROZEN_INSTALL = {
|
|
63
|
+
pnpm: ['pnpm', 'install', '--frozen-lockfile', '--prefer-offline'],
|
|
64
|
+
yarn: ['yarn', 'install', '--immutable'],
|
|
65
|
+
bun: ['bun', 'install'],
|
|
66
|
+
npm: ['npm', 'ci'],
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Install command used when no lockfile exists yet. `npm ci`,
|
|
70
|
+
* `pnpm --frozen-lockfile` and `yarn --immutable` all hard-fail without one,
|
|
71
|
+
* so fall back to a plain install.
|
|
72
|
+
*/
|
|
73
|
+
const LOOSE_INSTALL = {
|
|
74
|
+
pnpm: ['pnpm', 'install', '--prefer-offline'],
|
|
75
|
+
yarn: ['yarn', 'install'],
|
|
76
|
+
bun: ['bun', 'install'],
|
|
77
|
+
npm: ['npm', 'install'],
|
|
78
|
+
};
|
|
79
|
+
/** Build scripts tried in order; the first one defined in package.json wins. */
|
|
80
|
+
const BUILD_SCRIPTS = ['build:libs', 'build'];
|
|
81
|
+
/** The canonical lockfile name for a package manager. */
|
|
82
|
+
function lockfileFor(pm) {
|
|
83
|
+
return LOCKFILES[pm][0];
|
|
84
|
+
}
|
|
85
|
+
function isPackageManager(value) {
|
|
86
|
+
return value === 'pnpm' || value === 'yarn' || value === 'bun' || value === 'npm';
|
|
87
|
+
}
|
|
88
|
+
function readPackageJson(dir) {
|
|
89
|
+
const pkgPath = path.join(dir, 'package.json');
|
|
90
|
+
if (!fs.existsSync(pkgPath))
|
|
91
|
+
return null;
|
|
92
|
+
try {
|
|
93
|
+
const parsed = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
|
|
94
|
+
if (!parsed || typeof parsed !== 'object')
|
|
95
|
+
return null;
|
|
96
|
+
return parsed;
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// corrupt package.json — treat as absent
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/** Parse the corepack `packageManager` field (`"pnpm@9.1.0"` -> `"pnpm"`). */
|
|
104
|
+
function pmFromField(field) {
|
|
105
|
+
if (typeof field !== 'string')
|
|
106
|
+
return null;
|
|
107
|
+
const name = field.trim().split('@')[0].trim().toLowerCase();
|
|
108
|
+
return isPackageManager(name) ? name : null;
|
|
109
|
+
}
|
|
110
|
+
/** First lockfile that actually exists in `dir`, for the given manager. */
|
|
111
|
+
function existingLockfile(dir, pm) {
|
|
112
|
+
for (const name of LOCKFILES[pm]) {
|
|
113
|
+
if (fs.existsSync(path.join(dir, name)))
|
|
114
|
+
return name;
|
|
115
|
+
}
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Detect the package manager and warm-up commands for a project directory.
|
|
120
|
+
*
|
|
121
|
+
* Precedence: the `packageManager` field in package.json wins over lockfile
|
|
122
|
+
* probing; probing order is pnpm, yarn, bun, npm; npm is the final fallback.
|
|
123
|
+
*/
|
|
124
|
+
function detectProjectEnv(dir) {
|
|
125
|
+
const pkg = readPackageJson(dir);
|
|
126
|
+
let pm = pmFromField(pkg?.packageManager);
|
|
127
|
+
if (!pm) {
|
|
128
|
+
for (const candidate of DETECTION_ORDER) {
|
|
129
|
+
if (existingLockfile(dir, candidate)) {
|
|
130
|
+
pm = candidate;
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
if (!pm)
|
|
136
|
+
pm = 'npm';
|
|
137
|
+
const found = existingLockfile(dir, pm);
|
|
138
|
+
const lockfile = found ?? lockfileFor(pm);
|
|
139
|
+
const installCmd = [...(found ? FROZEN_INSTALL[pm] : LOOSE_INSTALL[pm])];
|
|
140
|
+
const scripts = pkg?.scripts;
|
|
141
|
+
let buildCmd = null;
|
|
142
|
+
if (scripts && typeof scripts === 'object') {
|
|
143
|
+
for (const script of BUILD_SCRIPTS) {
|
|
144
|
+
if (typeof scripts[script] === 'string') {
|
|
145
|
+
buildCmd = [pm, 'run', script];
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return { pm, lockfile, installCmd, buildCmd };
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Absolute directory the warm commands run in: the worktree root, or
|
|
154
|
+
* `<worktree>/<project_subdir>` for repos whose package root is nested.
|
|
155
|
+
*/
|
|
156
|
+
function resolveProjectDir(worktreeAbsPath, projectSubdir) {
|
|
157
|
+
if (!projectSubdir)
|
|
158
|
+
return worktreeAbsPath;
|
|
159
|
+
return path.resolve(worktreeAbsPath, projectSubdir);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Warm commands for a project directory. Explicit `warm_commands` from
|
|
163
|
+
* `.worktree-pool.json` always win over detection; otherwise it is
|
|
164
|
+
* install (+ build, when the project defines one).
|
|
165
|
+
*/
|
|
166
|
+
function resolveWarmCommands(projectDir, cfg) {
|
|
167
|
+
const explicit = cfg?.warm_commands;
|
|
168
|
+
if (explicit && explicit.length > 0) {
|
|
169
|
+
return explicit.map((cmd) => [...cmd]);
|
|
170
|
+
}
|
|
171
|
+
const env = detectProjectEnv(projectDir);
|
|
172
|
+
return env.buildCmd ? [env.installCmd, env.buildCmd] : [env.installCmd];
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Repo-root-relative path of the lockfile, matching how `git diff --name-only`
|
|
176
|
+
* reports paths (always POSIX separators).
|
|
177
|
+
*/
|
|
178
|
+
function lockfilePathFor(env, projectSubdir) {
|
|
179
|
+
if (!projectSubdir)
|
|
180
|
+
return env.lockfile;
|
|
181
|
+
const normalized = projectSubdir
|
|
182
|
+
.split(path.sep)
|
|
183
|
+
.join('/')
|
|
184
|
+
.replace(/^\.\/+/, '')
|
|
185
|
+
.replace(/\/+$/, '');
|
|
186
|
+
if (normalized === '' || normalized === '.')
|
|
187
|
+
return env.lockfile;
|
|
188
|
+
return `${normalized}/${env.lockfile}`;
|
|
189
|
+
}
|
|
190
|
+
/** True when `git diff --name-only` output touched the project's lockfile. */
|
|
191
|
+
function lockfileChangedInDiff(diffOutput, lockfilePath) {
|
|
192
|
+
return diffOutput
|
|
193
|
+
.split('\n')
|
|
194
|
+
.map((line) => line.trim())
|
|
195
|
+
.some((line) => line === lockfilePath);
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=project-env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-env.js","sourceRoot":"","sources":["../src/project-env.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,31 @@
|
|
|
1
1
|
export type WorktreeStatus = 'creating' | 'warming' | 'warm' | 'assigned' | 'recycling' | 'destroying';
|
|
2
|
+
/** Supported JavaScript package managers. */
|
|
3
|
+
export type PackageManager = 'pnpm' | 'yarn' | 'bun' | 'npm';
|
|
4
|
+
/** Package-manager-specific facts about a project directory. */
|
|
5
|
+
export interface ProjectEnv {
|
|
6
|
+
/** Detected package manager. */
|
|
7
|
+
pm: PackageManager;
|
|
8
|
+
/** Lockfile name (the one found on disk, or the canonical one for `pm`). */
|
|
9
|
+
lockfile: string;
|
|
10
|
+
/** Install command, as argv. */
|
|
11
|
+
installCmd: string[];
|
|
12
|
+
/** Build command as argv, or `null` when the project defines no build script. */
|
|
13
|
+
buildCmd: string[] | null;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Contents of `.worktree-pool.json` at the repo root. All fields are optional
|
|
17
|
+
* in the file; `base_ref` is defaulted on read.
|
|
18
|
+
*/
|
|
19
|
+
export interface PoolFileConfig {
|
|
20
|
+
/** Absolute path to the directory holding pool worktrees. */
|
|
21
|
+
pool_dir?: string;
|
|
22
|
+
/** Package root relative to the worktree root, for nested monorepos. */
|
|
23
|
+
project_subdir?: string;
|
|
24
|
+
/** Explicit warm-up commands (argv arrays). Wins over auto-detection. */
|
|
25
|
+
warm_commands?: string[][];
|
|
26
|
+
/** Git ref that pool worktrees are created from and reset to. */
|
|
27
|
+
base_ref: string;
|
|
28
|
+
}
|
|
2
29
|
export interface PoolConfig {
|
|
3
30
|
target_spares: number;
|
|
4
31
|
max_pool_size: number;
|
|
@@ -20,6 +47,7 @@ export interface PoolState {
|
|
|
20
47
|
worktrees: PoolWorktree[];
|
|
21
48
|
}
|
|
22
49
|
export declare const DEFAULT_CONFIG: PoolConfig;
|
|
50
|
+
export declare const DEFAULT_BASE_REF = "origin/main";
|
|
23
51
|
export declare const SCHEMA_VERSION: "1.0.0";
|
|
24
52
|
export declare function generateId(): string;
|
|
25
53
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACtB,UAAU,GACV,SAAS,GACT,MAAM,GACN,UAAU,GACV,WAAW,GACX,YAAY,CAAC;AAEjB,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc,EAAE,UAI5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAG,OAAgB,CAAC;AAE/C,wBAAgB,UAAU,IAAI,MAAM,CAEnC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACtB,UAAU,GACV,SAAS,GACT,MAAM,GACN,UAAU,GACV,WAAW,GACX,YAAY,CAAC;AAEjB,6CAA6C;AAC7C,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAE7D,gEAAgE;AAChE,MAAM,WAAW,UAAU;IACzB,gCAAgC;IAChC,EAAE,EAAE,cAAc,CAAC;IACnB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iFAAiF;IACjF,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IAC3B,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc,EAAE,UAI5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAE9C,eAAO,MAAM,cAAc,EAAG,OAAgB,CAAC;AAE/C,wBAAgB,UAAU,IAAI,MAAM,CAEnC"}
|
package/dist/types.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SCHEMA_VERSION = exports.DEFAULT_CONFIG = void 0;
|
|
3
|
+
exports.SCHEMA_VERSION = exports.DEFAULT_BASE_REF = exports.DEFAULT_CONFIG = void 0;
|
|
4
4
|
exports.generateId = generateId;
|
|
5
5
|
exports.DEFAULT_CONFIG = {
|
|
6
6
|
target_spares: 5,
|
|
7
7
|
max_pool_size: 10,
|
|
8
8
|
stale_after_hours: 72,
|
|
9
9
|
};
|
|
10
|
+
exports.DEFAULT_BASE_REF = 'origin/main';
|
|
10
11
|
exports.SCHEMA_VERSION = '1.0.0';
|
|
11
12
|
function generateId() {
|
|
12
13
|
return `pool-${Date.now()}-${process.pid}`;
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAuEA,gCAEC;AAZY,QAAA,cAAc,GAAe;IACxC,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,EAAE;IACjB,iBAAiB,EAAE,EAAE;CACtB,CAAC;AAEW,QAAA,gBAAgB,GAAG,aAAa,CAAC;AAEjC,QAAA,cAAc,GAAG,OAAgB,CAAC;AAE/C,SAAgB,UAAU;IACxB,OAAO,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AAC7C,CAAC"}
|