@ai-dossier/worktree-pool 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -4
- package/dist/cli.js +33 -10
- package/dist/cli.js.map +1 -1
- package/dist/pool-actions.d.ts +51 -5
- package/dist/pool-actions.d.ts.map +1 -1
- package/dist/pool-actions.js +273 -72
- package/dist/pool-actions.js.map +1 -1
- package/dist/pool-state.d.ts +43 -0
- package/dist/pool-state.d.ts.map +1 -1
- package/dist/pool-state.js +97 -0
- package/dist/pool-state.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -31,7 +31,7 @@ Requires Node.js >= 20.0.0.
|
|
|
31
31
|
| `worktree-pool claim --issue N --branch B` | Claim a warm worktree, print path |
|
|
32
32
|
| `worktree-pool return --path P` | Return worktree to pool for reuse |
|
|
33
33
|
| `worktree-pool refresh` | Fetch origin + rebuild in all warm worktrees |
|
|
34
|
-
| `worktree-pool gc` | Remove stale/orphaned
|
|
34
|
+
| `worktree-pool gc [--dry-run] [--yes]` | Remove stale/orphaned pool worktrees (never anything else) |
|
|
35
35
|
| `worktree-pool init` | Configure pool directory for this project |
|
|
36
36
|
| `worktree-pool detect [dir]` | Print the detected package-manager env as JSON |
|
|
37
37
|
|
|
@@ -54,8 +54,9 @@ cd "$WORKTREE_PATH"
|
|
|
54
54
|
# Return worktree to pool when done
|
|
55
55
|
worktree-pool return --path "$WORKTREE_PATH"
|
|
56
56
|
|
|
57
|
-
# Clean up stale worktrees
|
|
58
|
-
worktree-pool gc
|
|
57
|
+
# Clean up stale worktrees (prints the plan first, then asks)
|
|
58
|
+
worktree-pool gc --dry-run # show what would go
|
|
59
|
+
worktree-pool gc --yes # remove it, no prompt (required when stdin is not a TTY)
|
|
59
60
|
```
|
|
60
61
|
|
|
61
62
|
## How It Works
|
|
@@ -72,7 +73,7 @@ replenish claim return
|
|
|
72
73
|
1. **Replenish** creates worktrees from `base_ref` (default `origin/main`) on temp branches, then runs the warm commands (install + build)
|
|
73
74
|
2. **Claim** renames a warm worktree, switches to your feature branch — instant setup (~2s)
|
|
74
75
|
3. **Return** recycles the worktree back to pool on a fresh temp branch
|
|
75
|
-
4. **GC** removes stale entries (>72h) and reconciles disk state vs pool state
|
|
76
|
+
4. **GC** removes stale entries (>72h) and reconciles disk state vs pool state — only for worktrees the pool created (see [Sharing the pool directory](#sharing-the-pool-directory))
|
|
76
77
|
|
|
77
78
|
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
79
|
|
|
@@ -87,6 +88,47 @@ creating -> warming -> warm -> assigned -> recycling -> warm
|
|
|
87
88
|
|
|
88
89
|
Concurrent access is protected by atomic `mkdir`-based file locking.
|
|
89
90
|
|
|
91
|
+
## Sharing the pool directory
|
|
92
|
+
|
|
93
|
+
`pool_dir` may be — and usually is — the same directory you keep your own
|
|
94
|
+
worktrees in. **The pool never touches a worktree it did not create.**
|
|
95
|
+
|
|
96
|
+
A worktree in `pool_dir` belongs to the pool only when either:
|
|
97
|
+
|
|
98
|
+
- its path is recorded in `.pool-state.json`, **or**
|
|
99
|
+
- its directory name matches the pool's own `pool-<timestamp>-<pid>` naming
|
|
100
|
+
**and** it has a `pool/spare-*` temp branch checked out.
|
|
101
|
+
|
|
102
|
+
Everything else — your branch worktrees, plain directories, even a directory
|
|
103
|
+
that happens to match the pool's naming but is on a branch of yours — is
|
|
104
|
+
*foreign*. Foreign worktrees are listed by `status` and `gc` as
|
|
105
|
+
`foreign, skipped` and are never removed, reset, or cleaned by `gc`, `refresh`,
|
|
106
|
+
or a failed `return`. Branches are held to the same rule: `gc` only ever deletes
|
|
107
|
+
`pool/spare-*` refs.
|
|
108
|
+
|
|
109
|
+
Because deletions are irreversible for uncommitted work, `gc` also prints the
|
|
110
|
+
exact list it is about to remove and then either asks for confirmation (TTY) or
|
|
111
|
+
requires `--yes`. Use `--dry-run` to see the plan and exit.
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
$ worktree-pool gc --dry-run
|
|
115
|
+
Will remove 1 item(s):
|
|
116
|
+
[stale] /repo/../worktrees/pool-1750000000000-4242
|
|
117
|
+
stale past 72h (warmed 2026-08-13T15:13:22.790Z); recorded in .pool-state.json
|
|
118
|
+
|
|
119
|
+
Foreign, skipped (2) — not created by the pool:
|
|
120
|
+
/repo/../worktrees/2332-budget-composable-dashboard
|
|
121
|
+
not recorded in .pool-state.json and the directory name does not match the pool's own pool-<timestamp>-<pid> naming
|
|
122
|
+
/repo/../worktrees/fix-1173-playwright-start
|
|
123
|
+
not recorded in .pool-state.json and the directory name does not match the pool's own pool-<timestamp>-<pid> naming
|
|
124
|
+
|
|
125
|
+
Dry run — nothing was removed.
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
If a pool worktree's directory has drifted — the recorded path now holds a
|
|
129
|
+
different branch — `gc` drops the stale row from `.pool-state.json` and leaves
|
|
130
|
+
the directory on disk rather than guessing.
|
|
131
|
+
|
|
90
132
|
## Configuration
|
|
91
133
|
|
|
92
134
|
### Pool sizing — `.pool-state.json`
|
package/dist/cli.js
CHANGED
|
@@ -11,9 +11,13 @@ Commands:
|
|
|
11
11
|
claim --issue N --branch B Claim a warm worktree, print path
|
|
12
12
|
return --path P Return worktree to pool
|
|
13
13
|
refresh Fetch + rebuild all warm worktrees
|
|
14
|
-
gc
|
|
14
|
+
gc [--dry-run] [--yes] Remove stale/orphaned worktrees
|
|
15
15
|
init Configure pool directory for this project
|
|
16
|
-
detect [dir] Print detected package manager env as JSON
|
|
16
|
+
detect [dir] Print detected package manager env as JSON
|
|
17
|
+
|
|
18
|
+
The pool only ever removes worktrees it created. Worktrees sharing the pool
|
|
19
|
+
directory that the pool did not create are reported as "foreign, skipped" and
|
|
20
|
+
are never touched. gc requires --yes when stdin is not a TTY.`);
|
|
17
21
|
}
|
|
18
22
|
function parseArgs(args) {
|
|
19
23
|
const command = args[0];
|
|
@@ -57,6 +61,12 @@ async function main() {
|
|
|
57
61
|
console.log(` ${wt.id} [${wt.status}] ${wt.path}${info}`);
|
|
58
62
|
}
|
|
59
63
|
}
|
|
64
|
+
if (s.foreign.length > 0) {
|
|
65
|
+
console.log(`\nOther (foreign, never touched by the pool): ${s.foreign.length}`);
|
|
66
|
+
for (const f of s.foreign) {
|
|
67
|
+
console.log(` ${f.name} [${f.branch ?? 'detached'}] ${f.reason}`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
60
70
|
break;
|
|
61
71
|
}
|
|
62
72
|
case 'replenish': {
|
|
@@ -103,6 +113,12 @@ async function main() {
|
|
|
103
113
|
console.error('Refreshing warm worktrees...');
|
|
104
114
|
const result = (0, pool_actions_1.refresh)();
|
|
105
115
|
console.error(`Refreshed ${result.refreshed} worktree(s)`);
|
|
116
|
+
if (result.skipped.length > 0) {
|
|
117
|
+
console.error(`Foreign, skipped: ${result.skipped.length}`);
|
|
118
|
+
for (const f of result.skipped) {
|
|
119
|
+
console.error(` ${f.path} — ${f.reason}`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
106
122
|
if (result.errors.length > 0) {
|
|
107
123
|
for (const err of result.errors) {
|
|
108
124
|
console.error(` Error: ${err}`);
|
|
@@ -111,20 +127,27 @@ async function main() {
|
|
|
111
127
|
break;
|
|
112
128
|
}
|
|
113
129
|
case 'gc': {
|
|
114
|
-
|
|
115
|
-
const
|
|
116
|
-
console.error(
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
130
|
+
const dryRun = flags['dry-run'] === true || flags['dry-run'] === 'true';
|
|
131
|
+
const yes = flags.yes === true || flags.yes === 'true' || flags.force === true;
|
|
132
|
+
console.error(dryRun ? 'Garbage collection (dry run)...' : 'Running garbage collection...');
|
|
133
|
+
const result = await (0, pool_actions_1.gc)({ dryRun, yes });
|
|
134
|
+
if (!result.dryRun && !result.aborted) {
|
|
135
|
+
console.error(`Removed ${result.removed} item(s)`);
|
|
136
|
+
if (result.staleIds.length > 0) {
|
|
137
|
+
console.error(` Stale: ${result.staleIds.join(', ')}`);
|
|
138
|
+
}
|
|
139
|
+
if (result.orphanIds.length > 0) {
|
|
140
|
+
console.error(` Orphans: ${result.orphanIds.join(', ')}`);
|
|
141
|
+
}
|
|
122
142
|
}
|
|
123
143
|
if (result.errors.length > 0) {
|
|
124
144
|
for (const err of result.errors) {
|
|
125
145
|
console.error(` Error: ${err}`);
|
|
126
146
|
}
|
|
127
147
|
}
|
|
148
|
+
if (result.aborted) {
|
|
149
|
+
process.exit(1);
|
|
150
|
+
}
|
|
128
151
|
break;
|
|
129
152
|
}
|
|
130
153
|
case 'detect': {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,iDASwB;AAExB,SAAS,KAAK;IACZ,OAAO,CAAC,KAAK,CAAC
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/pool-actions.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getPoolStatus } from './pool-state';
|
|
1
|
+
import { getPoolStatus, type PoolDirClassification } from './pool-state';
|
|
2
2
|
import { type PoolFileConfig, type ProjectEnv } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* Read `.worktree-pool.json` from the repo root. Missing or corrupt files fall
|
|
@@ -8,6 +8,14 @@ export declare function readPoolFileConfig(gitRoot: string): PoolFileConfig;
|
|
|
8
8
|
export declare function resolvePoolDir(gitRoot: string, opts?: {
|
|
9
9
|
interactive?: boolean;
|
|
10
10
|
}): Promise<string>;
|
|
11
|
+
export interface PoolDirEntryReport extends PoolDirClassification {
|
|
12
|
+
/** Directory name inside the pool directory. */
|
|
13
|
+
name: string;
|
|
14
|
+
/** Absolute path on disk. */
|
|
15
|
+
path: string;
|
|
16
|
+
/** Branch checked out there, or `null`. */
|
|
17
|
+
branch: string | null;
|
|
18
|
+
}
|
|
11
19
|
export declare function replenish(count?: number, _parallel?: boolean): Promise<{
|
|
12
20
|
created: number;
|
|
13
21
|
errors: string[];
|
|
@@ -16,18 +24,56 @@ export declare function claim(issue: number, branch: string): {
|
|
|
16
24
|
path: string;
|
|
17
25
|
} | null;
|
|
18
26
|
export declare function returnWorktree(worktreePath: string): void;
|
|
19
|
-
export
|
|
27
|
+
export interface RefreshResult {
|
|
20
28
|
refreshed: number;
|
|
29
|
+
/** Worktrees left untouched because provenance could not be confirmed. */
|
|
30
|
+
skipped: PoolDirEntryReport[];
|
|
21
31
|
errors: string[];
|
|
22
|
-
}
|
|
23
|
-
export declare function
|
|
32
|
+
}
|
|
33
|
+
export declare function refresh(): RefreshResult;
|
|
34
|
+
export interface GcOptions {
|
|
35
|
+
/** Report what would be removed and exit without touching anything. */
|
|
36
|
+
dryRun?: boolean;
|
|
37
|
+
/** Approve the removal list without prompting. */
|
|
38
|
+
yes?: boolean;
|
|
39
|
+
/** Override TTY detection for the confirmation prompt. */
|
|
40
|
+
interactive?: boolean;
|
|
41
|
+
}
|
|
42
|
+
export type GcCandidateKind =
|
|
43
|
+
/** Pool worktree past `stale_after_hours` — removed from disk and state. */
|
|
44
|
+
'stale'
|
|
45
|
+
/** State row with nothing (of ours) on disk — the row is dropped, disk untouched. */
|
|
46
|
+
| 'orphan-state'
|
|
47
|
+
/** Pool-created directory missing from state — removed from disk. */
|
|
48
|
+
| 'orphan-disk';
|
|
49
|
+
export interface GcCandidate {
|
|
50
|
+
kind: GcCandidateKind;
|
|
51
|
+
/** Pool worktree id, or the directory name for a disk-only orphan. */
|
|
52
|
+
id: string;
|
|
53
|
+
/** Absolute path, or `null` when only a state row is dropped. */
|
|
54
|
+
path: string | null;
|
|
55
|
+
/** Branch to delete along with it, when it is one of ours. */
|
|
56
|
+
tempBranch: string | null;
|
|
57
|
+
reason: string;
|
|
58
|
+
}
|
|
59
|
+
export interface GcResult {
|
|
24
60
|
removed: number;
|
|
25
61
|
staleIds: string[];
|
|
26
62
|
orphanIds: string[];
|
|
63
|
+
/** Everything in the pool directory the pool refuses to touch. */
|
|
64
|
+
foreign: PoolDirEntryReport[];
|
|
65
|
+
/** The exact removal list, whether or not it was executed. */
|
|
66
|
+
candidates: GcCandidate[];
|
|
67
|
+
dryRun: boolean;
|
|
68
|
+
/** `true` when confirmation was missing and nothing was removed. */
|
|
69
|
+
aborted: boolean;
|
|
27
70
|
errors: string[];
|
|
28
|
-
}
|
|
71
|
+
}
|
|
72
|
+
export declare function gc(opts?: GcOptions): Promise<GcResult>;
|
|
29
73
|
export declare function status(): ReturnType<typeof getPoolStatus> & {
|
|
30
74
|
pool_dir: string;
|
|
75
|
+
/** Worktrees sharing the pool directory that the pool did not create. */
|
|
76
|
+
foreign: PoolDirEntryReport[];
|
|
31
77
|
};
|
|
32
78
|
/**
|
|
33
79
|
* Detect the project environment for `dir`, or — when omitted — for this
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool-actions.d.ts","sourceRoot":"","sources":["../src/pool-actions.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"pool-actions.d.ts","sourceRoot":"","sources":["../src/pool-actions.ts"],"names":[],"mappings":"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"}
|
package/dist/pool-actions.js
CHANGED
|
@@ -346,21 +346,139 @@ function lockfilePathForWorktree(worktreeAbsPath, cfg) {
|
|
|
346
346
|
const projectDir = (0, project_env_1.resolveProjectDir)(worktreeAbsPath, cfg.project_subdir);
|
|
347
347
|
return (0, project_env_1.lockfilePathFor)((0, project_env_1.detectProjectEnv)(projectDir), cfg.project_subdir);
|
|
348
348
|
}
|
|
349
|
+
// --- Ownership / provenance ---
|
|
350
|
+
//
|
|
351
|
+
// The pool directory is routinely shared with worktrees a developer made by
|
|
352
|
+
// hand (imboard-ai/ai-dossier#438). Every path that deletes a directory or a
|
|
353
|
+
// branch goes through this layer first; nothing is removed on the strength of
|
|
354
|
+
// its location alone.
|
|
355
|
+
/** Resolve symlinks so paths from git and from config compare equal. */
|
|
356
|
+
function realpathOrSelf(p) {
|
|
357
|
+
try {
|
|
358
|
+
return fs.realpathSync(p);
|
|
359
|
+
}
|
|
360
|
+
catch {
|
|
361
|
+
return path.resolve(p);
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* Absolute worktree path -> checked-out branch, from `git worktree list`.
|
|
366
|
+
* A registered worktree with a detached HEAD maps to `null`.
|
|
367
|
+
*/
|
|
368
|
+
function listWorktreeBranches(gitRoot) {
|
|
369
|
+
const map = new Map();
|
|
370
|
+
let output;
|
|
371
|
+
try {
|
|
372
|
+
output = git(['worktree', 'list', '--porcelain'], { cwd: gitRoot });
|
|
373
|
+
}
|
|
374
|
+
catch {
|
|
375
|
+
return map;
|
|
376
|
+
}
|
|
377
|
+
let current = null;
|
|
378
|
+
for (const raw of output.split('\n')) {
|
|
379
|
+
const line = raw.trimEnd();
|
|
380
|
+
if (line.startsWith('worktree ')) {
|
|
381
|
+
current = realpathOrSelf(line.slice('worktree '.length));
|
|
382
|
+
map.set(current, null);
|
|
383
|
+
}
|
|
384
|
+
else if (current !== null && line.startsWith('branch ')) {
|
|
385
|
+
map.set(current, line.slice('branch '.length).replace(/^refs\/heads\//, ''));
|
|
386
|
+
}
|
|
387
|
+
else if (line === '') {
|
|
388
|
+
current = null;
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
return map;
|
|
392
|
+
}
|
|
393
|
+
function buildOwnershipContext(gitRoot, poolDir, state) {
|
|
394
|
+
return {
|
|
395
|
+
gitRoot,
|
|
396
|
+
poolDir,
|
|
397
|
+
state: state ?? readState(poolDir),
|
|
398
|
+
branches: listWorktreeBranches(gitRoot),
|
|
399
|
+
};
|
|
400
|
+
}
|
|
401
|
+
/** Classify one absolute path against the pool's provenance rules. */
|
|
402
|
+
function classifyPath(ctx, absPath) {
|
|
403
|
+
const resolved = realpathOrSelf(absPath);
|
|
404
|
+
const name = path.basename(resolved);
|
|
405
|
+
const poolDirReal = realpathOrSelf(ctx.poolDir);
|
|
406
|
+
if (path.dirname(resolved) !== poolDirReal) {
|
|
407
|
+
return {
|
|
408
|
+
name,
|
|
409
|
+
path: resolved,
|
|
410
|
+
branch: ctx.branches.get(resolved) ?? null,
|
|
411
|
+
provenance: 'foreign',
|
|
412
|
+
owned: false,
|
|
413
|
+
reason: `outside the pool directory (${poolDirReal})`,
|
|
414
|
+
};
|
|
415
|
+
}
|
|
416
|
+
const registered = ctx.branches.has(resolved);
|
|
417
|
+
const classification = (0, pool_state_1.classifyPoolDirEntry)({
|
|
418
|
+
name,
|
|
419
|
+
branch: ctx.branches.get(resolved) ?? null,
|
|
420
|
+
registered,
|
|
421
|
+
existsOnDisk: fs.existsSync(resolved),
|
|
422
|
+
stateEntry: ctx.state.worktrees.find((w) => w.path === name) ?? null,
|
|
423
|
+
});
|
|
424
|
+
return {
|
|
425
|
+
name,
|
|
426
|
+
path: resolved,
|
|
427
|
+
branch: ctx.branches.get(resolved) ?? null,
|
|
428
|
+
...classification,
|
|
429
|
+
};
|
|
430
|
+
}
|
|
431
|
+
/** Every directory inside the pool directory, classified. */
|
|
432
|
+
function scanPoolDir(ctx) {
|
|
433
|
+
if (!fs.existsSync(ctx.poolDir))
|
|
434
|
+
return [];
|
|
435
|
+
const reports = [];
|
|
436
|
+
for (const entry of fs.readdirSync(ctx.poolDir, { withFileTypes: true })) {
|
|
437
|
+
if (!entry.isDirectory() || entry.name.startsWith('.') || entry.name === 'node_modules') {
|
|
438
|
+
continue;
|
|
439
|
+
}
|
|
440
|
+
reports.push(classifyPath(ctx, path.join(ctx.poolDir, entry.name)));
|
|
441
|
+
}
|
|
442
|
+
return reports;
|
|
443
|
+
}
|
|
444
|
+
/** Foreign worktrees found in the pool directory, for reporting. */
|
|
445
|
+
function foreignInPoolDir(gitRoot, poolDir, state) {
|
|
446
|
+
const ctx = buildOwnershipContext(gitRoot, poolDir, state);
|
|
447
|
+
return scanPoolDir(ctx).filter((e) => !e.owned);
|
|
448
|
+
}
|
|
349
449
|
// --- Destroy helper ---
|
|
350
|
-
|
|
450
|
+
/**
|
|
451
|
+
* Remove a worktree the pool created. Refuses anything it cannot prove is the
|
|
452
|
+
* pool's own — the caller is expected to report the refusal, not swallow it.
|
|
453
|
+
*/
|
|
454
|
+
function destroyWorktree(ctx, tempBranch, absPath) {
|
|
455
|
+
const classification = classifyPath(ctx, absPath);
|
|
456
|
+
if (!classification.owned) {
|
|
457
|
+
throw new Error(`Refusing to remove ${absPath}: ${classification.reason}. ` +
|
|
458
|
+
'The worktree pool only removes worktrees it created.');
|
|
459
|
+
}
|
|
351
460
|
try {
|
|
352
|
-
git(['worktree', 'remove', absPath, '--force'], { cwd: gitRoot });
|
|
461
|
+
git(['worktree', 'remove', absPath, '--force'], { cwd: ctx.gitRoot });
|
|
353
462
|
}
|
|
354
463
|
catch {
|
|
355
464
|
fs.rmSync(absPath, { recursive: true, force: true });
|
|
356
465
|
}
|
|
466
|
+
deletePoolTempBranch(ctx.gitRoot, tempBranch);
|
|
467
|
+
git(['worktree', 'prune'], { cwd: ctx.gitRoot });
|
|
468
|
+
}
|
|
469
|
+
/**
|
|
470
|
+
* Delete a `pool/spare-*` branch. Any other ref is left alone — a corrupt or
|
|
471
|
+
* hand-edited `.pool-state.json` must not be able to delete a real branch.
|
|
472
|
+
*/
|
|
473
|
+
function deletePoolTempBranch(gitRoot, branch) {
|
|
474
|
+
if (!(0, pool_state_1.isPoolTempBranch)(branch))
|
|
475
|
+
return;
|
|
357
476
|
try {
|
|
358
|
-
git(['branch', '-D',
|
|
477
|
+
git(['branch', '-D', branch], { cwd: gitRoot });
|
|
359
478
|
}
|
|
360
479
|
catch {
|
|
361
480
|
// branch may not exist
|
|
362
481
|
}
|
|
363
|
-
git(['worktree', 'prune'], { cwd: gitRoot });
|
|
364
482
|
}
|
|
365
483
|
// --- Public operations ---
|
|
366
484
|
async function replenish(count, _parallel = false) {
|
|
@@ -425,10 +543,12 @@ async function replenish(count, _parallel = false) {
|
|
|
425
543
|
const msg = err instanceof Error ? err.message : String(err);
|
|
426
544
|
errors.push(`Failed to create ${id}: ${msg}`);
|
|
427
545
|
try {
|
|
428
|
-
destroyWorktree(gitRoot, tempBranch, absWorktreePath);
|
|
546
|
+
destroyWorktree(buildOwnershipContext(gitRoot, poolDir), tempBranch, absWorktreePath);
|
|
429
547
|
}
|
|
430
|
-
catch {
|
|
431
|
-
//
|
|
548
|
+
catch (cleanupErr) {
|
|
549
|
+
// A refusal here means the path is not provably ours — say so rather
|
|
550
|
+
// than deleting it anyway.
|
|
551
|
+
errors.push(`Could not clean up ${id}: ${cleanupErr instanceof Error ? cleanupErr.message : String(cleanupErr)}`);
|
|
432
552
|
}
|
|
433
553
|
withLock(poolDir, (state) => ({
|
|
434
554
|
state: (0, pool_state_1.removeWorktree)(state, id),
|
|
@@ -550,6 +670,9 @@ function returnWorktree(worktreePath) {
|
|
|
550
670
|
}
|
|
551
671
|
}
|
|
552
672
|
if (absPath !== newAbsPath) {
|
|
673
|
+
if (fs.existsSync(newAbsPath)) {
|
|
674
|
+
throw new Error(`Recycle target already exists: ${newAbsPath}`);
|
|
675
|
+
}
|
|
553
676
|
fs.renameSync(absPath, newAbsPath);
|
|
554
677
|
git(['worktree', 'repair'], { cwd: gitRoot });
|
|
555
678
|
}
|
|
@@ -583,23 +706,30 @@ function returnWorktree(worktreePath) {
|
|
|
583
706
|
}));
|
|
584
707
|
}
|
|
585
708
|
catch (err) {
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
709
|
+
// Cleanup is best-effort but never indiscriminate: `destroyWorktree`
|
|
710
|
+
// refuses any path it cannot prove the pool created, and those refusals
|
|
711
|
+
// are surfaced instead of being retried with `rm -rf`.
|
|
712
|
+
const skipped = [];
|
|
713
|
+
const ctx = buildOwnershipContext(gitRoot, poolDir);
|
|
714
|
+
for (const [branch, target] of [
|
|
715
|
+
[entry.temp_branch, absPath],
|
|
716
|
+
[newTempBranch, newAbsPath],
|
|
717
|
+
]) {
|
|
718
|
+
if (!fs.existsSync(target))
|
|
719
|
+
continue;
|
|
720
|
+
try {
|
|
721
|
+
destroyWorktree(ctx, branch, target);
|
|
722
|
+
}
|
|
723
|
+
catch (cleanupErr) {
|
|
724
|
+
skipped.push(cleanupErr instanceof Error ? cleanupErr.message : String(cleanupErr));
|
|
725
|
+
}
|
|
597
726
|
}
|
|
598
727
|
withLock(poolDir, (state) => ({
|
|
599
728
|
state: (0, pool_state_1.removeWorktree)(state, entry.id),
|
|
600
729
|
result: undefined,
|
|
601
730
|
}));
|
|
602
|
-
|
|
731
|
+
const suffix = skipped.length > 0 ? ` Left on disk: ${skipped.join('; ')}` : '';
|
|
732
|
+
throw new Error(`Recycle failed (destroyed worktree): ${err instanceof Error ? err.message : String(err)}.${suffix}`);
|
|
603
733
|
}
|
|
604
734
|
}
|
|
605
735
|
function refresh() {
|
|
@@ -608,11 +738,20 @@ function refresh() {
|
|
|
608
738
|
const poolDir = resolvePoolDirSync(gitRoot);
|
|
609
739
|
git(['fetch', (0, pool_state_1.remoteForBaseRef)(cfg.base_ref)], { cwd: gitRoot });
|
|
610
740
|
const state = readState(poolDir);
|
|
741
|
+
const ctx = buildOwnershipContext(gitRoot, poolDir, state);
|
|
611
742
|
const warmWorktrees = state.worktrees.filter((w) => w.status === 'warm');
|
|
612
743
|
let refreshed = 0;
|
|
744
|
+
const skipped = [];
|
|
613
745
|
const errors = [];
|
|
614
746
|
for (const wt of warmWorktrees) {
|
|
615
747
|
const absPath = toAbs(poolDir, wt.path);
|
|
748
|
+
// `git reset --hard` destroys uncommitted work, so it is only ever pointed
|
|
749
|
+
// at a directory that still looks like the pool worktree state describes.
|
|
750
|
+
const classification = classifyPath(ctx, absPath);
|
|
751
|
+
if (!classification.owned) {
|
|
752
|
+
skipped.push(classification);
|
|
753
|
+
continue;
|
|
754
|
+
}
|
|
616
755
|
try {
|
|
617
756
|
git(['fetch', (0, pool_state_1.remoteForBaseRef)(cfg.base_ref)], { cwd: absPath });
|
|
618
757
|
git(['reset', '--hard', cfg.base_ref], { cwd: absPath });
|
|
@@ -631,88 +770,150 @@ function refresh() {
|
|
|
631
770
|
errors.push(`Failed to refresh ${wt.id}: ${err instanceof Error ? err.message : String(err)}`);
|
|
632
771
|
}
|
|
633
772
|
}
|
|
634
|
-
return { refreshed, errors };
|
|
773
|
+
return { refreshed, skipped, errors };
|
|
774
|
+
}
|
|
775
|
+
function describeGcPlan(candidates, foreign) {
|
|
776
|
+
if (candidates.length === 0) {
|
|
777
|
+
console.error('Nothing to remove.');
|
|
778
|
+
}
|
|
779
|
+
else {
|
|
780
|
+
console.error(`Will remove ${candidates.length} item(s):`);
|
|
781
|
+
for (const c of candidates) {
|
|
782
|
+
const target = c.path ?? '(state entry only)';
|
|
783
|
+
console.error(` [${c.kind}] ${target}`);
|
|
784
|
+
console.error(` ${c.reason}`);
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
if (foreign.length > 0) {
|
|
788
|
+
console.error(`\nForeign, skipped (${foreign.length}) — not created by the pool:`);
|
|
789
|
+
for (const f of foreign) {
|
|
790
|
+
console.error(` ${f.path}`);
|
|
791
|
+
console.error(` ${f.reason}`);
|
|
792
|
+
}
|
|
793
|
+
}
|
|
635
794
|
}
|
|
636
|
-
function gc() {
|
|
795
|
+
async function gc(opts = {}) {
|
|
637
796
|
const gitRoot = findGitRoot();
|
|
638
797
|
const poolDir = resolvePoolDirSync(gitRoot);
|
|
639
798
|
const errors = [];
|
|
640
799
|
const staleIds = [];
|
|
641
800
|
const orphanIds = [];
|
|
642
801
|
let removed = 0;
|
|
643
|
-
// Get disk state — directory names inside poolDir
|
|
644
|
-
const existingNames = new Set();
|
|
645
|
-
if (fs.existsSync(poolDir)) {
|
|
646
|
-
for (const entry of fs.readdirSync(poolDir, { withFileTypes: true })) {
|
|
647
|
-
if (entry.isDirectory() && !entry.name.startsWith('.') && entry.name !== 'node_modules') {
|
|
648
|
-
existingNames.add(entry.name);
|
|
649
|
-
}
|
|
650
|
-
}
|
|
651
|
-
}
|
|
652
802
|
const state = readState(poolDir);
|
|
653
|
-
|
|
654
|
-
const
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
803
|
+
const ctx = buildOwnershipContext(gitRoot, poolDir, state);
|
|
804
|
+
const onDisk = scanPoolDir(ctx);
|
|
805
|
+
const foreign = onDisk.filter((e) => !e.owned);
|
|
806
|
+
const ownedNames = new Set(onDisk.filter((e) => e.owned).map((e) => e.name));
|
|
807
|
+
const candidates = [];
|
|
808
|
+
const claimed = new Set();
|
|
809
|
+
// Stale pool worktrees.
|
|
810
|
+
for (const wt of (0, pool_state_1.findStaleWorktrees)(state)) {
|
|
811
|
+
claimed.add(wt.id);
|
|
812
|
+
const classification = classifyPath(ctx, toAbs(poolDir, wt.path));
|
|
813
|
+
if (classification.owned) {
|
|
814
|
+
candidates.push({
|
|
815
|
+
kind: 'stale',
|
|
816
|
+
id: wt.id,
|
|
817
|
+
path: toAbs(poolDir, wt.path),
|
|
818
|
+
tempBranch: wt.temp_branch,
|
|
819
|
+
reason: `stale past ${state.config.stale_after_hours}h (warmed ${wt.warmed_at}); ${classification.reason}`,
|
|
820
|
+
});
|
|
664
821
|
}
|
|
665
|
-
|
|
666
|
-
|
|
822
|
+
else {
|
|
823
|
+
// The directory this row points at is no longer ours. Drop the row so the
|
|
824
|
+
// pool is not wedged, but leave the directory alone.
|
|
825
|
+
candidates.push({
|
|
826
|
+
kind: 'orphan-state',
|
|
827
|
+
id: wt.id,
|
|
828
|
+
path: null,
|
|
829
|
+
tempBranch: wt.temp_branch,
|
|
830
|
+
reason: `stale state entry for ${wt.path}, which is ${classification.reason} — directory left on disk`,
|
|
831
|
+
});
|
|
667
832
|
}
|
|
668
833
|
}
|
|
669
|
-
//
|
|
834
|
+
// State rows whose directory is gone (or was never ours).
|
|
835
|
+
for (const wt of state.worktrees) {
|
|
836
|
+
if (claimed.has(wt.id))
|
|
837
|
+
continue;
|
|
838
|
+
if (ownedNames.has(wt.path))
|
|
839
|
+
continue;
|
|
840
|
+
claimed.add(wt.id);
|
|
841
|
+
const classification = classifyPath(ctx, toAbs(poolDir, wt.path));
|
|
842
|
+
candidates.push({
|
|
843
|
+
kind: 'orphan-state',
|
|
844
|
+
id: wt.id,
|
|
845
|
+
path: null,
|
|
846
|
+
tempBranch: wt.temp_branch,
|
|
847
|
+
reason: `state entry for ${wt.path}: ${classification.reason}`,
|
|
848
|
+
});
|
|
849
|
+
}
|
|
850
|
+
// Pool-created directories with no state row.
|
|
670
851
|
const stateNames = new Set(state.worktrees.map((w) => w.path));
|
|
671
|
-
const
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
852
|
+
for (const entry of onDisk) {
|
|
853
|
+
if (!entry.owned || stateNames.has(entry.name))
|
|
854
|
+
continue;
|
|
855
|
+
candidates.push({
|
|
856
|
+
kind: 'orphan-disk',
|
|
857
|
+
id: entry.name,
|
|
858
|
+
path: entry.path,
|
|
859
|
+
tempBranch: entry.branch,
|
|
860
|
+
reason: entry.reason,
|
|
861
|
+
});
|
|
862
|
+
}
|
|
863
|
+
describeGcPlan(candidates, foreign);
|
|
864
|
+
const base = { staleIds, orphanIds, foreign, candidates, errors };
|
|
865
|
+
if (opts.dryRun) {
|
|
866
|
+
console.error('\nDry run — nothing was removed.');
|
|
867
|
+
return { ...base, removed: 0, dryRun: true, aborted: false };
|
|
868
|
+
}
|
|
869
|
+
if (candidates.length > 0 && !opts.yes) {
|
|
870
|
+
const interactive = opts.interactive ?? Boolean(process.stdin.isTTY);
|
|
871
|
+
if (!interactive) {
|
|
872
|
+
console.error('\nRefusing to remove without confirmation. Re-run with --yes (or --dry-run).');
|
|
873
|
+
return { ...base, removed: 0, dryRun: false, aborted: true };
|
|
687
874
|
}
|
|
688
|
-
|
|
689
|
-
|
|
875
|
+
const answer = await promptUser(`\nRemove ${candidates.length} item(s)? [y/N]: `);
|
|
876
|
+
if (!/^y(es)?$/i.test(answer)) {
|
|
877
|
+
console.error('Aborted — nothing was removed.');
|
|
878
|
+
return { ...base, removed: 0, dryRun: false, aborted: true };
|
|
690
879
|
}
|
|
691
880
|
}
|
|
692
|
-
for (const
|
|
881
|
+
for (const c of candidates) {
|
|
693
882
|
try {
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
git(['worktree', 'remove', absPath, '--force'], { cwd: gitRoot });
|
|
883
|
+
if (c.path !== null) {
|
|
884
|
+
destroyWorktree(ctx, c.tempBranch, c.path);
|
|
697
885
|
}
|
|
698
|
-
|
|
699
|
-
|
|
886
|
+
else {
|
|
887
|
+
deletePoolTempBranch(gitRoot, c.tempBranch);
|
|
700
888
|
}
|
|
701
|
-
|
|
889
|
+
if (c.kind !== 'orphan-disk') {
|
|
890
|
+
withLock(poolDir, (s) => ({
|
|
891
|
+
state: (0, pool_state_1.removeWorktree)(s, c.id),
|
|
892
|
+
result: undefined,
|
|
893
|
+
}));
|
|
894
|
+
}
|
|
895
|
+
if (c.kind === 'stale')
|
|
896
|
+
staleIds.push(c.id);
|
|
897
|
+
else
|
|
898
|
+
orphanIds.push(c.id);
|
|
702
899
|
removed++;
|
|
703
900
|
}
|
|
704
901
|
catch (err) {
|
|
705
|
-
errors.push(`Failed to
|
|
902
|
+
errors.push(`Failed to remove ${c.path ?? c.id}: ${err instanceof Error ? err.message : String(err)}`);
|
|
706
903
|
}
|
|
707
904
|
}
|
|
708
905
|
git(['worktree', 'prune'], { cwd: gitRoot });
|
|
709
|
-
return {
|
|
906
|
+
return { ...base, removed, dryRun: false, aborted: false };
|
|
710
907
|
}
|
|
711
908
|
function status() {
|
|
712
909
|
const gitRoot = findGitRoot();
|
|
713
910
|
const poolDir = resolvePoolDirSync(gitRoot);
|
|
714
911
|
const state = readState(poolDir);
|
|
715
|
-
return {
|
|
912
|
+
return {
|
|
913
|
+
...(0, pool_state_1.getPoolStatus)(state),
|
|
914
|
+
pool_dir: poolDir,
|
|
915
|
+
foreign: foreignInPoolDir(gitRoot, poolDir, state),
|
|
916
|
+
};
|
|
716
917
|
}
|
|
717
918
|
/**
|
|
718
919
|
* Detect the project environment for `dir`, or — when omitted — for this
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsEA,gDAeC;AAyFD,wCA0BC;AAiVD,8BAiGC;AAED,sBAgFC;AAED,wCAkGC;AASD,0BA4CC;AAgED,gBAsHC;AAED,wBAaC;AAMD,wBAYC;AAED,oBAKC;AAnkCD,2DAAwE;AACxE,4CAA8B;AAC9B,gDAAkC;AAClC,wDAA0C;AAC1C,6CAesB;AACtB,+CAMuB;AACvB,mCAMiB;AAEjB,MAAM,eAAe,GAAG,MAAM,CAAC;AAC/B,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,uBAAuB,GAAG,OAAO,CAAC;AACxC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAE/C,sBAAsB;AAEtB,SAAS,WAAW;IAClB,OACE,IAAA,iCAAY,EAAC,KAAK,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE;QACpD,QAAQ,EAAE,OAAO;KAClB,CACF,CAAC,IAAI,EAAE,CAAC;AACX,CAAC;AAED,SAAS,GAAG,CAAC,IAAc,EAAE,IAAsB;IACjD,OACE,IAAA,iCAAY,EAAC,KAAK,EAAE,IAAI,EAAE;QACxB,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC/B,GAAG,IAAI;KACR,CACF,CAAC,IAAI,EAAE,CAAC;AACX,CAAC;AAED,mCAAmC;AAEnC,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,OAAe;IAChD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,IAAA,oCAAuB,EAAC,EAAE,CAAC,CAAC;IACnE,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,mCAAmC;QACnC,OAAO,IAAA,oCAAuB,EAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,GAAG,GAAG,IAAA,oCAAuB,EAAC,GAAG,CAAC,CAAC;IACzC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1D,CAAC;AAED,2EAA2E;AAC3E,SAAS,kBAAkB,CAAC,OAAe,EAAE,OAAe;IAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YAChE,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnE,QAAQ,GAAG,MAAiC,CAAC;YAC/C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,4BAA4B,CAAC,OAAe;IACnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1E,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChE,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;;oBAC/C,MAAM;YACb,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,EAAE,CAAC;YAC7C,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;QACvC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;YAChC,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;gBACtB,IAAI,GAAG,GAAG,CAAC;gBACX,SAAS,GAAG,KAAK,CAAC;YACpB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,IAAI,IAAI,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,OAAe;IACrC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YAC/B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,IAAgC;IAEhC,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC;IAEnC,MAAM,UAAU,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,UAAU,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IAExD,IAAI,IAAI,EAAE,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,CAAC,KAAK,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;QACjD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,6CAA6C,SAAS,KAAK,CAAC,CAAC;QAC7F,MAAM,OAAO,GAAG,MAAM,IAAI,SAAS,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAClD,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,cAAc,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACvC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC;IAEnC,MAAM,UAAU,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,UAAU,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;IACtD,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,uBAAuB;AACvB,2EAA2E;AAC3E,4DAA4D;AAE5D,SAAS,KAAK,CAAC,OAAe,EAAE,OAAe;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC;AAED,2BAA2B;AAE3B,SAAS,YAAY,CAAC,OAAe;IACnC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAC1C,CAAC;AAED,eAAe;AAEf,SAAS,WAAW,CAAC,OAAe;IAClC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACtC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC9E,IAAI,CAAC;wBACH,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBAC3B,CAAC;oBAAC,MAAM,CAAC;wBACP,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;wBACtD,SAAS;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,QAAQ;YACV,CAAC;YAED,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,eAAe,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CACb,oCAAoC,eAAe,OAAO;oBACxD,0CAA0C,QAAQ,EAAE,CACvD,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,OAAe;IAClC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,oBAAoB;AAEpB,SAAS,SAAS,CAAC,OAAe;IAChC,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAA,6BAAgB,GAAE,CAAC;IAC5B,CAAC;IACD,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO,IAAA,0BAAa,EAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,UAAU,CAAC,OAAe,EAAE,KAAgB;IACnD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACxC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,QAAQ,CACf,OAAe,EACf,EAAyD;IAEzD,WAAW,CAAC,OAAO,CAAC,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;QAChD,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,WAAW,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,oBAAoB;AAEpB,SAAS,YAAY,CAAC,OAAe,EAAE,SAAiB;IACtD,MAAM,QAAQ,GAAG,CAAC,CAAC;IAEnB,SAAS,IAAI,CAAC,GAAW,EAAE,KAAa,EAAE,OAAe;QACvD,IAAI,KAAK,GAAG,QAAQ;YAAE,OAAO;QAC7B,IAAI,OAAoB,CAAC;QACzB,IAAI,CAAC;YACH,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAE/C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;oBACtF,SAAS;gBACX,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;YACrC,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC5F,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC3C,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtD,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACvB,CAAC;AAED,2BAA2B;AAE3B;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,eAAuB,EAAE,GAAmB;IACnE,MAAM,UAAU,GAAG,IAAA,+BAAiB,EAAC,eAAe,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1E,KAAK,MAAM,GAAG,IAAI,IAAA,iCAAmB,EAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;QACvD,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QAC3B,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,IAAA,iCAAY,EAAC,GAAG,EAAE,IAAI,EAAE;YACtB,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,uBAAuB;SACjC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAAC,eAAuB,EAAE,GAAmB;IAC3E,MAAM,UAAU,GAAG,IAAA,+BAAiB,EAAC,eAAe,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1E,OAAO,IAAA,6BAAe,EAAC,IAAA,8BAAgB,EAAC,UAAU,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;AAC3E,CAAC;AAED,iCAAiC;AACjC,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,8EAA8E;AAC9E,sBAAsB;AAEtB,wEAAwE;AACxE,SAAS,cAAc,CAAC,CAAS;IAC/B,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,OAAe;IAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC7C,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YACzD,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/E,CAAC;aAAM,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACvB,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAUD,SAAS,qBAAqB,CAC5B,OAAe,EACf,OAAe,EACf,KAAiB;IAEjB,OAAO;QACL,OAAO;QACP,OAAO;QACP,KAAK,EAAE,KAAK,IAAI,SAAS,CAAC,OAAO,CAAC;QAClC,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC;KACxC,CAAC;AACJ,CAAC;AAWD,sEAAsE;AACtE,SAAS,YAAY,CAAC,GAAqB,EAAE,OAAe;IAC1D,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAEhD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE,CAAC;QAC3C,OAAO;YACL,IAAI;YACJ,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI;YAC1C,UAAU,EAAE,SAAS;YACrB,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,+BAA+B,WAAW,GAAG;SACtD,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,IAAA,iCAAoB,EAAC;QAC1C,IAAI;QACJ,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI;QAC1C,UAAU;QACV,YAAY,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QACrC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI;KACrE,CAAC,CAAC;IAEH,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI;QAC1C,GAAG,cAAc;KAClB,CAAC;AACJ,CAAC;AAED,6DAA6D;AAC7D,SAAS,WAAW,CAAC,GAAqB;IACxC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACxF,SAAS;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,oEAAoE;AACpE,SAAS,gBAAgB,CACvB,OAAe,EACf,OAAe,EACf,KAAiB;IAEjB,MAAM,GAAG,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3D,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC;AAED,yBAAyB;AAEzB;;;GAGG;AACH,SAAS,eAAe,CAAC,GAAqB,EAAE,UAAyB,EAAE,OAAe;IACxF,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,sBAAsB,OAAO,KAAK,cAAc,CAAC,MAAM,IAAI;YACzD,sDAAsD,CACzD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC9C,GAAG,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,OAAe,EAAE,MAAiC;IAC9E,IAAI,CAAC,IAAA,6BAAgB,EAAC,MAAM,CAAC;QAAE,OAAO;IACtC,IAAI,CAAC;QACH,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAgB,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;AACH,CAAC;AAED,4BAA4B;AAErB,KAAK,UAAU,SAAS,CAC7B,KAAc,EACd,SAAS,GAAG,KAAK;IAEjB,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3C,GAAG,CAAC,CAAC,OAAO,EAAE,IAAA,6BAAgB,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAEjE,IAAI,QAAgB,CAAC;IACrB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,QAAQ,GAAG,KAAK,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACjC,QAAQ,GAAG,IAAA,4BAAe,EAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,MAAM,SAAS,GAAG,GAAS,EAAE;QAC3B,MAAM,EAAE,GAAG,IAAA,kBAAU,GAAE,CAAC;QACxB,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,cAAc,EAAE,EAAE,CAAC;QAEtC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC7C,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/D,MAAM,EAAE,GAAiB;gBACvB,EAAE;gBACF,IAAI,EAAE,EAAE;gBACR,MAAM,EAAE,UAAU;gBAClB,WAAW,EAAE,UAAU;gBACvB,WAAW,EAAE,GAAG;gBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;aACtB,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAAA,wBAAW,EAAC,KAAK,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,GAAG,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5D,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE;gBACpD,GAAG,EAAE,OAAO;aACb,CAAC,CAAC;YAEH,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC5B,KAAK,EAAE,IAAA,2BAAc,EAAC,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;gBACvD,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC,CAAC;YAEJ,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAEvC,eAAe,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;YAEtC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC5B,KAAK,EAAE,IAAA,2BAAc,EAAC,KAAK,EAAE,EAAE,EAAE;oBAC/B,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,WAAW,EAAE,UAAU;iBACxB,CAAC;gBACF,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC,CAAC;YAEJ,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC;gBACH,eAAe,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;YACxF,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,qEAAqE;gBACrE,2BAA2B;gBAC3B,MAAM,CAAC,IAAI,CACT,sBAAsB,EAAE,KAAK,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CACrG,CAAC;YACJ,CAAC;YACD,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC5B,KAAK,EAAE,IAAA,2BAAc,EAAC,KAAK,EAAE,EAAE,CAAC;gBAChC,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC,CAAC;IAEF,+EAA+E;IAC/E,4EAA4E;IAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,SAAS,EAAE,CAAC;IACd,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC;AAED,SAAgB,KAAK,CAAC,KAAa,EAAE,MAAc;IACjD,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QACzC,MAAM,OAAO,GAAG,IAAA,0BAAc,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC7C,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,QAAQ,GAAG,MAAM,CAAC;IACxB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,kBAAkB;QAClB,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACvE,IAAI,QAAQ,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC3D,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC,WAAW,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE;oBACpF,GAAG,EAAE,OAAO;iBACb,CAAC,CAAC;gBACH,WAAW,GAAG,IAAA,mCAAqB,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;YAED,GAAG,CAAC,CAAC,OAAO,EAAE,IAAA,6BAAgB,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YACjE,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YAEzD,IAAI,WAAW,EAAE,CAAC;gBAChB,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,GAAG,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QAElD,mBAAmB;QACnB,IAAI,OAAO,KAAK,UAAU,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACnC,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC;YACH,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;QAED,sCAAsC;QACtC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC5B,KAAK,EAAE,IAAA,2BAAc,EAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE;gBACxC,IAAI,EAAE,SAAS;gBACf,eAAe,EAAE,MAAM;gBACvB,iBAAiB,EAAE,KAAK;aACzB,CAAC;YACF,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC,CAAC;QAEJ,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,0BAA0B;QAC1B,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC5B,KAAK,EAAE,IAAA,2BAAc,EAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE;gBACxC,MAAM,EAAE,MAAM;gBACd,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;aACtB,CAAC;YACF,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC,CAAC;QACJ,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,YAAoB;IACjD,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE3C,MAAM,KAAK,GAAG,IAAA,kBAAU,GAAE,CAAC;IAC3B,MAAM,aAAa,GAAG,cAAc,KAAK,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAEzC,4DAA4D;IAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QACxC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC;QAC9E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,qCAAqC,YAAY,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,OAAO;YACL,KAAK,EAAE,IAAA,2BAAc,EAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YAC/D,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE;SACrB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,GAAG,CAAC,CAAC,OAAO,EAAE,IAAA,6BAAgB,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACjE,GAAG,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACvE,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QAExC,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YACjE,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB;YAClB,CAAC;QACH,CAAC;QAED,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3B,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACnC,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACvE,MAAM,YAAY,GAAG,uBAAuB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC9D,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,WAAW,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE;gBACjF,GAAG,EAAE,OAAO;aACb,CAAC,CAAC;YACH,WAAW,GAAG,IAAA,mCAAqB,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;QAED,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC5B,KAAK,EAAE,IAAA,2BAAc,EAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE;gBACrC,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,aAAa;gBAC1B,WAAW,EAAE,WAAW;gBACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;aACtB,CAAC;YACF,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC,CAAC;IACN,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,qEAAqE;QACrE,wEAAwE;QACxE,uDAAuD;QACvD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI;YAC7B,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC;YAC5B,CAAC,aAAa,EAAE,UAAU,CAAC;SACnB,EAAE,CAAC;YACX,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,SAAS;YACrC,IAAI,CAAC;gBACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC5B,KAAK,EAAE,IAAA,2BAAc,EAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YACtC,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC,CAAC;QACJ,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,KAAK,CACb,wCAAwC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CACrG,CAAC;IACJ,CAAC;AACH,CAAC;AASD,SAAgB,OAAO;IACrB,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,GAAG,CAAC,CAAC,OAAO,EAAE,IAAA,6BAAgB,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAEjE,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACzE,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACxC,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,GAAG,CAAC,CAAC,OAAO,EAAE,IAAA,6BAAgB,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YACjE,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YACzD,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAE9B,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5D,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC5B,KAAK,EAAE,IAAA,2BAAc,EAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;oBAClC,WAAW,EAAE,MAAM;oBACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC;gBACF,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC,CAAC;YACJ,SAAS,EAAE,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACT,qBAAqB,EAAE,CAAC,EAAE,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAClF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACxC,CAAC;AA4CD,SAAS,cAAc,CAAC,UAAyB,EAAE,OAA6B;IAC9E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,eAAe,UAAU,CAAC,MAAM,WAAW,CAAC,CAAC;QAC3D,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,oBAAoB,CAAC;YAC9C,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,uBAAuB,OAAO,CAAC,MAAM,8BAA8B,CAAC,CAAC;QACnF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,EAAE,CAAC,OAAkB,EAAE;IAC3C,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7E,MAAM,UAAU,GAAkB,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,wBAAwB;IACxB,KAAK,MAAM,EAAE,IAAI,IAAA,+BAAkB,EAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnB,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;YACzB,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,OAAO;gBACb,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC;gBAC7B,UAAU,EAAE,EAAE,CAAC,WAAW;gBAC1B,MAAM,EAAE,cAAc,KAAK,CAAC,MAAM,CAAC,iBAAiB,aAAa,EAAE,CAAC,SAAS,MAAM,cAAc,CAAC,MAAM,EAAE;aAC3G,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,0EAA0E;YAC1E,qDAAqD;YACrD,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,cAAc;gBACpB,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,EAAE,CAAC,WAAW;gBAC1B,MAAM,EAAE,yBAAyB,EAAE,CAAC,IAAI,cAAc,cAAc,CAAC,MAAM,2BAA2B;aACvG,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAAE,SAAS;QACjC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;YAAE,SAAS;QACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnB,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,cAAc;YACpB,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,EAAE,CAAC,WAAW;YAC1B,MAAM,EAAE,mBAAmB,EAAE,CAAC,IAAI,KAAK,cAAc,CAAC,MAAM,EAAE;SAC/D,CAAC,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QACzD,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,aAAa;YACnB,EAAE,EAAE,KAAK,CAAC,IAAI;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAEpC,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAElE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClD,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC/D,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;YAC9F,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC/D,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,UAAU,CAAC,MAAM,mBAAmB,CAAC,CAAC;QAClF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAChD,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACpB,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC7B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACxB,KAAK,EAAE,IAAA,2BAAc,EAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC9B,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC,CAAC;YACN,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;gBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;;gBACvC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACT,oBAAoB,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC1F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,GAAG,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAE7C,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC7D,CAAC;AAED,SAAgB,MAAM;IAKpB,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO;QACL,GAAG,IAAA,0BAAa,EAAC,KAAK,CAAC;QACvB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC;KACnD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,MAAM,CAAC,GAAY;IACjC,IAAI,GAAG,EAAE,CAAC;QACR,OAAO,IAAA,8BAAgB,EAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,EAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAA,8BAAgB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,IAAA,8BAAgB,EAAC,IAAA,+BAAiB,EAAC,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AAC1E,CAAC;AAEM,KAAK,UAAU,IAAI;IACxB,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC"}
|
package/dist/pool-state.d.ts
CHANGED
|
@@ -40,4 +40,47 @@ export interface PoolStatus {
|
|
|
40
40
|
worktrees: PoolWorktree[];
|
|
41
41
|
}
|
|
42
42
|
export declare function getPoolStatus(state: PoolState): PoolStatus;
|
|
43
|
+
/** Directory-name shape of a worktree the pool created itself (`generateId()`). */
|
|
44
|
+
export declare const POOL_DIR_NAME_PATTERN: RegExp;
|
|
45
|
+
/** Prefix of the temp branch the pool checks out in its own spare worktrees. */
|
|
46
|
+
export declare const POOL_TEMP_BRANCH_PREFIX = "pool/spare-";
|
|
47
|
+
/** True when `name` matches the pool's own `pool-<timestamp>-<pid>` naming. */
|
|
48
|
+
export declare function isPoolDirName(name: string): boolean;
|
|
49
|
+
/** True when `branch` is one of the pool's own `pool/spare-*` temp branches. */
|
|
50
|
+
export declare function isPoolTempBranch(branch: string | null | undefined): boolean;
|
|
51
|
+
export type PoolProvenance =
|
|
52
|
+
/** Recorded in `.pool-state.json`. */
|
|
53
|
+
'tracked'
|
|
54
|
+
/** Not in state, but unmistakably created by the pool (name + temp branch). */
|
|
55
|
+
| 'pool-created'
|
|
56
|
+
/** Anything else — someone else's worktree, or a directory we cannot vouch for. */
|
|
57
|
+
| 'foreign';
|
|
58
|
+
export interface PoolDirEntryInput {
|
|
59
|
+
/** Directory name inside the pool directory. */
|
|
60
|
+
name: string;
|
|
61
|
+
/** Branch checked out there, or `null` for detached HEAD / not a worktree. */
|
|
62
|
+
branch: string | null;
|
|
63
|
+
/** Whether git lists the directory as a worktree of this repo. */
|
|
64
|
+
registered: boolean;
|
|
65
|
+
/** Whether the directory exists on disk. */
|
|
66
|
+
existsOnDisk: boolean;
|
|
67
|
+
/** Matching `.pool-state.json` entry, when there is one. */
|
|
68
|
+
stateEntry: PoolWorktree | null;
|
|
69
|
+
}
|
|
70
|
+
export interface PoolDirClassification {
|
|
71
|
+
provenance: PoolProvenance;
|
|
72
|
+
/** `true` only when the pool may remove this directory. */
|
|
73
|
+
owned: boolean;
|
|
74
|
+
/** Human-readable justification, printed by `gc` and `status`. */
|
|
75
|
+
reason: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Decide whether a directory inside the pool directory belongs to the pool.
|
|
79
|
+
*
|
|
80
|
+
* Owned iff it is recorded in `.pool-state.json` (and still looks like the
|
|
81
|
+
* worktree that record describes), or it carries both of the pool's own marks:
|
|
82
|
+
* a `pool-<timestamp>-<pid>` directory name *and* a `pool/spare-*` branch.
|
|
83
|
+
* Everything else is foreign and must never be removed.
|
|
84
|
+
*/
|
|
85
|
+
export declare function classifyPoolDirEntry(input: PoolDirEntryInput): PoolDirClassification;
|
|
43
86
|
//# sourceMappingURL=pool-state.d.ts.map
|
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,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"}
|
|
1
|
+
{"version":3,"file":"pool-state.d.ts","sourceRoot":"","sources":["../src/pool-state.ts"],"names":[],"mappings":"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"}
|
package/dist/pool-state.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POOL_TEMP_BRANCH_PREFIX = exports.POOL_DIR_NAME_PATTERN = void 0;
|
|
3
4
|
exports.normalizePoolFileConfig = normalizePoolFileConfig;
|
|
4
5
|
exports.remoteForBaseRef = remoteForBaseRef;
|
|
5
6
|
exports.createEmptyState = createEmptyState;
|
|
@@ -14,6 +15,9 @@ exports.getSparesNeeded = getSparesNeeded;
|
|
|
14
15
|
exports.findStaleWorktrees = findStaleWorktrees;
|
|
15
16
|
exports.findOrphans = findOrphans;
|
|
16
17
|
exports.getPoolStatus = getPoolStatus;
|
|
18
|
+
exports.isPoolDirName = isPoolDirName;
|
|
19
|
+
exports.isPoolTempBranch = isPoolTempBranch;
|
|
20
|
+
exports.classifyPoolDirEntry = classifyPoolDirEntry;
|
|
17
21
|
const types_1 = require("./types");
|
|
18
22
|
/**
|
|
19
23
|
* Normalize raw `.worktree-pool.json` contents into a `PoolFileConfig`.
|
|
@@ -180,4 +184,97 @@ function getPoolStatus(state) {
|
|
|
180
184
|
worktrees: state.worktrees,
|
|
181
185
|
};
|
|
182
186
|
}
|
|
187
|
+
// --- Provenance ---
|
|
188
|
+
//
|
|
189
|
+
// `pool_dir` is routinely the same directory a developer keeps their own
|
|
190
|
+
// worktrees in (imboard-ai/ai-dossier#438: `gc` deleted 29 of them). Location
|
|
191
|
+
// inside `pool_dir` is therefore never evidence of ownership — provenance is.
|
|
192
|
+
/** Directory-name shape of a worktree the pool created itself (`generateId()`). */
|
|
193
|
+
exports.POOL_DIR_NAME_PATTERN = /^pool-\d+-\d+$/;
|
|
194
|
+
/** Prefix of the temp branch the pool checks out in its own spare worktrees. */
|
|
195
|
+
exports.POOL_TEMP_BRANCH_PREFIX = 'pool/spare-';
|
|
196
|
+
/** True when `name` matches the pool's own `pool-<timestamp>-<pid>` naming. */
|
|
197
|
+
function isPoolDirName(name) {
|
|
198
|
+
return exports.POOL_DIR_NAME_PATTERN.test(name);
|
|
199
|
+
}
|
|
200
|
+
/** True when `branch` is one of the pool's own `pool/spare-*` temp branches. */
|
|
201
|
+
function isPoolTempBranch(branch) {
|
|
202
|
+
return (typeof branch === 'string' &&
|
|
203
|
+
branch.startsWith(exports.POOL_TEMP_BRANCH_PREFIX) &&
|
|
204
|
+
branch.length > exports.POOL_TEMP_BRANCH_PREFIX.length);
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Decide whether a directory inside the pool directory belongs to the pool.
|
|
208
|
+
*
|
|
209
|
+
* Owned iff it is recorded in `.pool-state.json` (and still looks like the
|
|
210
|
+
* worktree that record describes), or it carries both of the pool's own marks:
|
|
211
|
+
* a `pool-<timestamp>-<pid>` directory name *and* a `pool/spare-*` branch.
|
|
212
|
+
* Everything else is foreign and must never be removed.
|
|
213
|
+
*/
|
|
214
|
+
function classifyPoolDirEntry(input) {
|
|
215
|
+
const { name, branch, registered, existsOnDisk, stateEntry } = input;
|
|
216
|
+
const branchLabel = branch ?? (registered ? 'detached HEAD' : 'no branch');
|
|
217
|
+
if (stateEntry) {
|
|
218
|
+
if (!existsOnDisk) {
|
|
219
|
+
return {
|
|
220
|
+
provenance: 'tracked',
|
|
221
|
+
owned: true,
|
|
222
|
+
reason: `recorded in .pool-state.json as ${stateEntry.id}, already gone from disk`,
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
// A developer worktree is always registered with git, so an unregistered
|
|
226
|
+
// directory carrying a name we wrote into our own state is ours.
|
|
227
|
+
if (!registered) {
|
|
228
|
+
return {
|
|
229
|
+
provenance: 'tracked',
|
|
230
|
+
owned: true,
|
|
231
|
+
reason: `recorded in .pool-state.json as ${stateEntry.id}, no longer a registered worktree`,
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
if (branch === stateEntry.temp_branch ||
|
|
235
|
+
(stateEntry.assigned_branch !== null && branch === stateEntry.assigned_branch) ||
|
|
236
|
+
isPoolTempBranch(branch)) {
|
|
237
|
+
return {
|
|
238
|
+
provenance: 'tracked',
|
|
239
|
+
owned: true,
|
|
240
|
+
reason: `recorded in .pool-state.json as ${stateEntry.id} (${branchLabel})`,
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
return {
|
|
244
|
+
provenance: 'foreign',
|
|
245
|
+
owned: false,
|
|
246
|
+
reason: `recorded in .pool-state.json as ${stateEntry.id}, but ${name} now has ` +
|
|
247
|
+
`${branchLabel} checked out instead of ${stateEntry.temp_branch}`,
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
if (!isPoolDirName(name)) {
|
|
251
|
+
return {
|
|
252
|
+
provenance: 'foreign',
|
|
253
|
+
owned: false,
|
|
254
|
+
reason: 'not recorded in .pool-state.json and the directory name does not match ' +
|
|
255
|
+
"the pool's own pool-<timestamp>-<pid> naming",
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
if (!registered) {
|
|
259
|
+
return {
|
|
260
|
+
provenance: 'foreign',
|
|
261
|
+
owned: false,
|
|
262
|
+
reason: "matches the pool's directory naming but is not a registered git worktree, " +
|
|
263
|
+
'so its provenance cannot be confirmed',
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
if (!isPoolTempBranch(branch)) {
|
|
267
|
+
return {
|
|
268
|
+
provenance: 'foreign',
|
|
269
|
+
owned: false,
|
|
270
|
+
reason: `matches the pool's directory naming but has ${branchLabel} checked out ` +
|
|
271
|
+
'instead of a pool/spare-* temp branch',
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
return {
|
|
275
|
+
provenance: 'pool-created',
|
|
276
|
+
owned: true,
|
|
277
|
+
reason: `pool-created name with temp branch ${branch}, not recorded in .pool-state.json`,
|
|
278
|
+
};
|
|
279
|
+
}
|
|
183
280
|
//# sourceMappingURL=pool-state.js.map
|
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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"}
|