@aperant/framework 0.13.0-next.0 → 0.15.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/CHANGELOG.md +89 -3
- package/README.md +11 -1
- package/agents/apt-pr-review-i18n.md +190 -0
- package/agents/apt-pr-review-xplatform.md +189 -0
- package/dist/cli/commands/audit-branch-current.d.mts +27 -5
- package/dist/cli/commands/audit-branch-current.d.mts.map +1 -1
- package/dist/cli/commands/audit-branch-current.mjs +3 -3
- package/dist/cli/commands/audit-branch-current.mjs.map +1 -1
- package/dist/cli/commands/event.d.mts.map +1 -1
- package/dist/cli/commands/event.mjs +6 -4
- package/dist/cli/commands/event.mjs.map +1 -1
- package/dist/cli/commands/fan-out.d.mts.map +1 -1
- package/dist/cli/commands/fan-out.mjs +3 -1
- package/dist/cli/commands/fan-out.mjs.map +1 -1
- package/dist/cli/commands/features-audit.d.mts.map +1 -1
- package/dist/cli/commands/features-audit.mjs +6 -1
- package/dist/cli/commands/features-audit.mjs.map +1 -1
- package/dist/cli/commands/followups.d.mts +5 -0
- package/dist/cli/commands/followups.d.mts.map +1 -0
- package/dist/cli/commands/followups.mjs +266 -0
- package/dist/cli/commands/followups.mjs.map +1 -0
- package/dist/cli/commands/health-check.d.mts.map +1 -1
- package/dist/cli/commands/health-check.mjs +3 -1
- package/dist/cli/commands/health-check.mjs.map +1 -1
- package/dist/cli/commands/merge-detect.d.mts +29 -0
- package/dist/cli/commands/merge-detect.d.mts.map +1 -0
- package/dist/cli/commands/merge-detect.mjs +196 -0
- package/dist/cli/commands/merge-detect.mjs.map +1 -0
- package/dist/cli/commands/merge-integrate.d.mts +28 -0
- package/dist/cli/commands/merge-integrate.d.mts.map +1 -0
- package/dist/cli/commands/merge-integrate.mjs +383 -0
- package/dist/cli/commands/merge-integrate.mjs.map +1 -0
- package/dist/cli/commands/pr-review/detect-specialists.d.mts +58 -0
- package/dist/cli/commands/pr-review/detect-specialists.d.mts.map +1 -0
- package/dist/cli/commands/pr-review/detect-specialists.mjs +980 -0
- package/dist/cli/commands/pr-review/detect-specialists.mjs.map +1 -0
- package/dist/cli/commands/pr-review.d.mts.map +1 -1
- package/dist/cli/commands/pr-review.mjs +11 -2
- package/dist/cli/commands/pr-review.mjs.map +1 -1
- package/dist/cli/commands/precompact-hook.d.mts.map +1 -1
- package/dist/cli/commands/precompact-hook.mjs +10 -6
- package/dist/cli/commands/precompact-hook.mjs.map +1 -1
- package/dist/cli/commands/roadmap.d.mts.map +1 -1
- package/dist/cli/commands/roadmap.mjs +24 -11
- package/dist/cli/commands/roadmap.mjs.map +1 -1
- package/dist/cli/commands/seed.d.mts.map +1 -1
- package/dist/cli/commands/seed.mjs +3 -1
- package/dist/cli/commands/seed.mjs.map +1 -1
- package/dist/cli/commands/state.d.mts.map +1 -1
- package/dist/cli/commands/state.mjs +9 -3
- package/dist/cli/commands/state.mjs.map +1 -1
- package/dist/cli/commands/statusline.d.mts.map +1 -1
- package/dist/cli/commands/statusline.mjs +5 -1
- package/dist/cli/commands/statusline.mjs.map +1 -1
- package/dist/cli/commands/task.d.mts.map +1 -1
- package/dist/cli/commands/task.mjs +126 -23
- package/dist/cli/commands/task.mjs.map +1 -1
- package/dist/cli/commands/worktree.d.mts +1 -1
- package/dist/cli/commands/worktree.d.mts.map +1 -1
- package/dist/cli/commands/worktree.mjs +282 -83
- package/dist/cli/commands/worktree.mjs.map +1 -1
- package/dist/cli/config/post-merge-sweep.d.mts.map +1 -1
- package/dist/cli/config/post-merge-sweep.mjs +3 -2
- package/dist/cli/config/post-merge-sweep.mjs.map +1 -1
- package/dist/cli/config/share-policy.d.mts +3 -1
- package/dist/cli/config/share-policy.d.mts.map +1 -1
- package/dist/cli/config/share-policy.mjs +16 -3
- package/dist/cli/config/share-policy.mjs.map +1 -1
- package/dist/cli/config/upgrade-gitignore.d.mts.map +1 -1
- package/dist/cli/config/upgrade-gitignore.mjs +27 -5
- package/dist/cli/config/upgrade-gitignore.mjs.map +1 -1
- package/dist/cli/consistency/parse-qa.mjs +12 -1
- package/dist/cli/consistency/parse-qa.mjs.map +1 -1
- package/dist/cli/consistency/parse-review.d.mts +23 -0
- package/dist/cli/consistency/parse-review.d.mts.map +1 -1
- package/dist/cli/consistency/parse-review.mjs +36 -0
- package/dist/cli/consistency/parse-review.mjs.map +1 -1
- package/dist/cli/consistency/parse-spec.d.mts +16 -0
- package/dist/cli/consistency/parse-spec.d.mts.map +1 -1
- package/dist/cli/consistency/parse-spec.mjs +44 -0
- package/dist/cli/consistency/parse-spec.mjs.map +1 -1
- package/dist/cli/coordination/agent-identity.d.mts +5 -2
- package/dist/cli/coordination/agent-identity.d.mts.map +1 -1
- package/dist/cli/coordination/agent-identity.mjs +6 -4
- package/dist/cli/coordination/agent-identity.mjs.map +1 -1
- package/dist/cli/coordination/store.d.mts +1 -1
- package/dist/cli/dispatch.d.mts.map +1 -1
- package/dist/cli/dispatch.mjs +4 -0
- package/dist/cli/dispatch.mjs.map +1 -1
- package/dist/cli/followups/derive.d.mts +63 -0
- package/dist/cli/followups/derive.d.mts.map +1 -0
- package/dist/cli/followups/derive.mjs +115 -0
- package/dist/cli/followups/derive.mjs.map +1 -0
- package/dist/cli/followups/schema.d.mts +165 -0
- package/dist/cli/followups/schema.d.mts.map +1 -0
- package/dist/cli/followups/schema.mjs +251 -0
- package/dist/cli/followups/schema.mjs.map +1 -0
- package/dist/cli/gate/context.d.mts +1 -1
- package/dist/cli/gate/gates/followups-adjudicated.d.mts +69 -0
- package/dist/cli/gate/gates/followups-adjudicated.d.mts.map +1 -0
- package/dist/cli/gate/gates/followups-adjudicated.mjs +141 -0
- package/dist/cli/gate/gates/followups-adjudicated.mjs.map +1 -0
- package/dist/cli/gate/gates/index.mjs +1 -0
- package/dist/cli/gate/gates/index.mjs.map +1 -1
- package/dist/cli/git/materialize-env.d.mts +39 -0
- package/dist/cli/git/materialize-env.d.mts.map +1 -0
- package/dist/cli/git/materialize-env.mjs +217 -0
- package/dist/cli/git/materialize-env.mjs.map +1 -0
- package/dist/cli/help.d.mts.map +1 -1
- package/dist/cli/help.mjs +9 -1
- package/dist/cli/help.mjs.map +1 -1
- package/dist/cli/install/legacy-paths.d.mts.map +1 -1
- package/dist/cli/install/legacy-paths.mjs +4 -0
- package/dist/cli/install/legacy-paths.mjs.map +1 -1
- package/dist/cli/roadmap/lifecycle.d.mts.map +1 -1
- package/dist/cli/roadmap/lifecycle.mjs +4 -1
- package/dist/cli/roadmap/lifecycle.mjs.map +1 -1
- package/dist/cli/task/ids.d.mts +9 -0
- package/dist/cli/task/ids.d.mts.map +1 -1
- package/dist/cli/task/ids.mjs +9 -0
- package/dist/cli/task/ids.mjs.map +1 -1
- package/dist/cli/task/index-md.d.mts +5 -0
- package/dist/cli/task/index-md.d.mts.map +1 -1
- package/dist/cli/task/index-md.mjs +12 -4
- package/dist/cli/task/index-md.mjs.map +1 -1
- package/dist/cli/util/io.d.mts +6 -0
- package/dist/cli/util/io.d.mts.map +1 -1
- package/dist/cli/util/io.mjs +16 -1
- package/dist/cli/util/io.mjs.map +1 -1
- package/dist/cli/util/project.d.mts +7 -2
- package/dist/cli/util/project.d.mts.map +1 -1
- package/dist/cli/util/project.mjs +11 -14
- package/dist/cli/util/project.mjs.map +1 -1
- package/dist/cli/util/state-paths.d.mts +19 -0
- package/dist/cli/util/state-paths.d.mts.map +1 -0
- package/dist/cli/util/state-paths.mjs +45 -0
- package/dist/cli/util/state-paths.mjs.map +1 -0
- package/dist/plugin/.claude-plugin/plugin.json +4 -1
- package/dist/plugin/agents/apt-pr-review-i18n.md +190 -0
- package/dist/plugin/agents/apt-pr-review-xplatform.md +189 -0
- package/dist/plugin/skills/apt/SKILL.md +13 -6
- package/dist/plugin/skills/apt-close-task/SKILL.md +48 -0
- package/dist/plugin/skills/apt-debug/SKILL.md +19 -9
- package/dist/plugin/skills/apt-execute/SKILL.md +3 -1
- package/dist/plugin/skills/apt-fan-out/SKILL.md +65 -1
- package/dist/plugin/skills/apt-merge-conflict-resolution/SKILL.md +227 -0
- package/dist/plugin/skills/apt-pr-review/SCHEMA.md +4 -2
- package/dist/plugin/skills/apt-pr-review/SKILL.md +117 -29
- package/dist/plugin/skills/apt-quick/SKILL.md +24 -1
- package/dist/plugin/skills/apt-review/SKILL.md +6 -0
- package/dist/plugin/skills/apt-run/SKILL.md +1 -1
- package/dist/plugin/skills/apt-setup/SKILL.md +21 -3
- package/dist/plugin/skills/apt-ship/SKILL.md +32 -11
- package/dist/plugin/skills/apt-terminal/SKILL.md +8 -0
- package/dist/plugin/skills/apt-triage/SKILL.md +4 -0
- package/dist/plugin/skills/apt-verify/SKILL.md +24 -0
- package/dist/plugin/skills/apt-watch-ci/SKILL.md +3 -1
- package/dist/types/config.d.ts +33 -0
- package/dist/types/config.d.ts.map +1 -1
- package/package.json +138 -138
- package/prompts/conductor-framework-context.md +1 -1
- package/prompts/github/pr_i18n_agent.md +279 -0
- package/prompts/github/pr_xplatform_agent.md +283 -0
- package/prompts/inbox-clarification.md +18 -11
- package/skills/apt/SKILL.md +9 -3
- package/skills/apt-close-task/SKILL.md +48 -0
- package/skills/apt-debug/SKILL.md +19 -9
- package/skills/apt-execute/SKILL.md +3 -1
- package/skills/apt-fan-out/SKILL.md +65 -1
- package/skills/apt-merge-conflict-resolution/SKILL.md +227 -0
- package/skills/apt-pr-review/SCHEMA.md +4 -2
- package/skills/apt-pr-review/SKILL.md +117 -29
- package/skills/apt-quick/SKILL.md +24 -1
- package/skills/apt-review/SKILL.md +6 -0
- package/skills/apt-run/SKILL.md +1 -1
- package/skills/apt-setup/SKILL.md +21 -3
- package/skills/apt-ship/SKILL.md +32 -11
- package/skills/apt-terminal/SKILL.md +8 -0
- package/skills/apt-triage/SKILL.md +4 -0
- package/skills/apt-verify/SKILL.md +24 -0
- package/skills/apt-watch-ci/SKILL.md +3 -1
- package/src/cli/commands/audit-branch-current.mjs +3 -3
- package/src/cli/commands/event.mjs +6 -4
- package/src/cli/commands/fan-out.mjs +3 -1
- package/src/cli/commands/features-audit.mjs +6 -1
- package/src/cli/commands/followups.mjs +303 -0
- package/src/cli/commands/health-check.mjs +3 -1
- package/src/cli/commands/merge-detect.mjs +203 -0
- package/src/cli/commands/merge-integrate.mjs +392 -0
- package/src/cli/commands/pr-review/__fixtures__/android-strings/app/src/main/res/values-fr/strings.xml +3 -0
- package/src/cli/commands/pr-review/__fixtures__/babel-js/package.json +4 -0
- package/src/cli/commands/pr-review/__fixtures__/c-ifdef/src/main.c +4 -0
- package/src/cli/commands/pr-review/__fixtures__/ci-matrix/.github/workflows/ci.yml +10 -0
- package/src/cli/commands/pr-review/__fixtures__/cmake-win/CMakeLists.txt +5 -0
- package/src/cli/commands/pr-review/__fixtures__/diffs/add-arb.patch +9 -0
- package/src/cli/commands/pr-review/__fixtures__/diffs/ci-single-os-dep.patch +13 -0
- package/src/cli/commands/pr-review/__fixtures__/diffs/ci-single-os-list-item-dep.patch +17 -0
- package/src/cli/commands/pr-review/__fixtures__/diffs/lone-weak-t.patch +8 -0
- package/src/cli/commands/pr-review/__fixtures__/diffs/monorepo-b.patch +7 -0
- package/src/cli/commands/pr-review/__fixtures__/diffs/two-weak-xpl.patch +12 -0
- package/src/cli/commands/pr-review/__fixtures__/dropped-underscore/src/app.js +2 -0
- package/src/cli/commands/pr-review/__fixtures__/electron-app/package.json +4 -0
- package/src/cli/commands/pr-review/__fixtures__/i18n-locale-file/src/locales/fr.json +1 -0
- package/src/cli/commands/pr-review/__fixtures__/monorepo/packages/a/locales/fr.json +1 -0
- package/src/cli/commands/pr-review/__fixtures__/monorepo/packages/b/src/index.ts +1 -0
- package/src/cli/commands/pr-review/__fixtures__/py-babel/pyproject.toml +3 -0
- package/src/cli/commands/pr-review/__fixtures__/qt-i18n-dir/i18n/app_fr.ts +11 -0
- package/src/cli/commands/pr-review/__fixtures__/rust-cli/Cargo.toml +7 -0
- package/src/cli/commands/pr-review/__fixtures__/rust-cli/src/main.rs +1 -0
- package/src/cli/commands/pr-review/__fixtures__/ts-dir/ts/foo.ts +3 -0
- package/src/cli/commands/pr-review/detect-specialists.mjs +1023 -0
- package/src/cli/commands/pr-review.mjs +12 -2
- package/src/cli/commands/precompact-hook.mjs +10 -6
- package/src/cli/commands/roadmap.mjs +24 -11
- package/src/cli/commands/seed.mjs +3 -1
- package/src/cli/commands/state.mjs +9 -3
- package/src/cli/commands/statusline.mjs +5 -1
- package/src/cli/commands/task.mjs +135 -23
- package/src/cli/commands/worktree.mjs +298 -81
- package/src/cli/config/post-merge-sweep.mjs +3 -2
- package/src/cli/config/share-policy.mjs +16 -3
- package/src/cli/config/upgrade-gitignore.mjs +27 -5
- package/src/cli/consistency/parse-qa.mjs +11 -1
- package/src/cli/consistency/parse-review.mjs +36 -0
- package/src/cli/consistency/parse-spec.mjs +43 -0
- package/src/cli/coordination/agent-identity.mjs +6 -4
- package/src/cli/dispatch.mjs +4 -0
- package/src/cli/followups/derive.mjs +123 -0
- package/src/cli/followups/schema.mjs +264 -0
- package/src/cli/gate/gates/followups-adjudicated.mjs +158 -0
- package/src/cli/gate/gates/index.mjs +1 -0
- package/src/cli/git/materialize-env.mjs +212 -0
- package/src/cli/help.mjs +9 -1
- package/src/cli/install/legacy-paths.mjs +4 -0
- package/src/cli/roadmap/lifecycle.mjs +4 -1
- package/src/cli/task/ids.mjs +9 -0
- package/src/cli/task/index-md.mjs +12 -4
- package/src/cli/util/io.mjs +15 -1
- package/src/cli/util/project.mjs +11 -14
- package/src/cli/util/state-paths.mjs +45 -0
- package/prompts/followup_planner.md +0 -399
|
@@ -9,12 +9,14 @@
|
|
|
9
9
|
import { execFileSync, execSync, spawnSync } from 'node:child_process';
|
|
10
10
|
import { existsSync, mkdirSync, readdirSync, readFileSync } from 'node:fs';
|
|
11
11
|
import { join, resolve } from 'node:path';
|
|
12
|
-
import { getTaskIsolationConfig } from '../config/load.mjs';
|
|
12
|
+
import { getTaskIsolationConfig, loadProjectConfig } from '../config/load.mjs';
|
|
13
|
+
import { materializeProjectEnvCli } from '../git/materialize-env.mjs';
|
|
13
14
|
import { detectWorktree } from '../git/worktree-detect.mjs';
|
|
14
15
|
import { parseFlags } from '../util/args.mjs';
|
|
15
16
|
import { resolveAptToolsBin } from '../util/bin-path.mjs';
|
|
16
17
|
import { getSharedLockDir } from '../util/project.mjs';
|
|
17
18
|
import { err, ok, UsageError } from '../util/result.mjs';
|
|
19
|
+
import { resolveMainRepoRoot } from '../util/state-paths.mjs';
|
|
18
20
|
/**
|
|
19
21
|
* Sentinel error class for helper-level usage failures inside cmdWorktree.
|
|
20
22
|
* The dispatcher catches it and converts it into the standard err() envelope.
|
|
@@ -25,6 +27,101 @@ class WorktreeUsageError extends UsageError {
|
|
|
25
27
|
this.name = 'WorktreeUsageError';
|
|
26
28
|
}
|
|
27
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Resolve the effective autonomy for a `worktree create` invocation (ID-09b).
|
|
32
|
+
* Layered fallback: a `--autonomy <n>` flag (forwarded by the task.mjs auto-hook)
|
|
33
|
+
* wins; else the project config's `autonomy.default`; else 1 (the conservative
|
|
34
|
+
* confirm-by-default level). A non-numeric / out-of-range flag is ignored.
|
|
35
|
+
* @param {Map<string, string>} flags
|
|
36
|
+
* @param {string} targetDir
|
|
37
|
+
* @returns {number}
|
|
38
|
+
*/
|
|
39
|
+
function resolveCreateAutonomy(flags, targetDir) {
|
|
40
|
+
const raw = flags.get('autonomy');
|
|
41
|
+
if (raw !== undefined && raw !== null && raw !== '') {
|
|
42
|
+
const n = Number.parseInt(String(raw), 10);
|
|
43
|
+
if (Number.isFinite(n) && n >= 0 && n <= 3)
|
|
44
|
+
return n;
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
const cfg = loadProjectConfig(targetDir);
|
|
48
|
+
const def = cfg?.autonomy?.default;
|
|
49
|
+
if (Number.isFinite(def) && def >= 0 && def <= 3)
|
|
50
|
+
return def;
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
/* config unreadable — fall through to the conservative default */
|
|
54
|
+
}
|
|
55
|
+
return 1;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Resolve the current branch name (or 'HEAD' on detached/failure).
|
|
59
|
+
* @param {string} cwd
|
|
60
|
+
* @returns {string}
|
|
61
|
+
*/
|
|
62
|
+
function currentBranchName(cwd) {
|
|
63
|
+
try {
|
|
64
|
+
return execSync('git rev-parse --abbrev-ref HEAD', { cwd, encoding: 'utf-8' }).trim() || 'HEAD';
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return 'HEAD';
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Main-detection chain — local refs only, no network (ID-02). Returns the
|
|
72
|
+
* detected default branch (e.g. `origin/main`, `main`, `master`) or null when
|
|
73
|
+
* the repo has no main/master ref anywhere. Extracted so the `current`-branch
|
|
74
|
+
* surfacing (ID-09b) can compare against the same detected default the
|
|
75
|
+
* `from_branch: main` path uses.
|
|
76
|
+
* @param {string} cwd
|
|
77
|
+
* @returns {string|null}
|
|
78
|
+
*/
|
|
79
|
+
function detectDefaultBranch(cwd) {
|
|
80
|
+
const candidates = ['origin/HEAD', 'origin/main', 'origin/master', 'main', 'master'];
|
|
81
|
+
for (const ref of candidates) {
|
|
82
|
+
try {
|
|
83
|
+
const out = execSync(`git rev-parse --verify ${ref}`, {
|
|
84
|
+
cwd,
|
|
85
|
+
encoding: 'utf-8',
|
|
86
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
87
|
+
}).trim();
|
|
88
|
+
if (out) {
|
|
89
|
+
// origin/HEAD is a symref — resolve it to e.g. `origin/main`
|
|
90
|
+
// so the base branch we hand to `git worktree add` is usable.
|
|
91
|
+
if (ref === 'origin/HEAD') {
|
|
92
|
+
try {
|
|
93
|
+
const sym = execSync('git symbolic-ref refs/remotes/origin/HEAD', {
|
|
94
|
+
cwd,
|
|
95
|
+
encoding: 'utf-8',
|
|
96
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
97
|
+
}).trim();
|
|
98
|
+
return sym.replace(/^refs\/remotes\//, '') || ref;
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
return ref;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return ref;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
// Ref doesn't exist — try the next one.
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Normalize a detected default branch to its bare branch name for comparison
|
|
115
|
+
* with the current branch (e.g. `origin/main` → `main`). The current branch is
|
|
116
|
+
* always a local bare name, so strip a single leading remote segment.
|
|
117
|
+
* @param {string|null} ref
|
|
118
|
+
* @returns {string|null}
|
|
119
|
+
*/
|
|
120
|
+
function bareBranchName(ref) {
|
|
121
|
+
if (!ref)
|
|
122
|
+
return null;
|
|
123
|
+
return ref.replace(/^origin\//, '');
|
|
124
|
+
}
|
|
28
125
|
export function cmdDetectWorktree(projectDir) {
|
|
29
126
|
if (!projectDir)
|
|
30
127
|
return err('Usage: apt-tools detect-worktree <project-dir>');
|
|
@@ -39,9 +136,9 @@ export function cmdDetectWorktree(projectDir) {
|
|
|
39
136
|
: 'Not a worktree — safe to use worktree isolation if needed.',
|
|
40
137
|
});
|
|
41
138
|
}
|
|
42
|
-
export function cmdWorktree(subcommand, projectDir, extraArgs) {
|
|
139
|
+
export async function cmdWorktree(subcommand, projectDir, extraArgs) {
|
|
43
140
|
if (!subcommand || !projectDir) {
|
|
44
|
-
return err('Usage: apt-tools worktree <create|remove|list> <dir> [options]');
|
|
141
|
+
return err('Usage: apt-tools worktree <create|remove|list|sync-env> <dir> [options]');
|
|
45
142
|
}
|
|
46
143
|
const targetDir = resolve(projectDir);
|
|
47
144
|
// Validate identifiers to prevent path traversal and injection
|
|
@@ -50,13 +147,15 @@ export function cmdWorktree(subcommand, projectDir, extraArgs) {
|
|
|
50
147
|
try {
|
|
51
148
|
switch (subcommand) {
|
|
52
149
|
case 'create':
|
|
53
|
-
return doCreate(subcommand, targetDir, extraArgs, SAFE_ID_PATTERN, SAFE_BRANCH_PATTERN);
|
|
150
|
+
return await doCreate(subcommand, targetDir, extraArgs, SAFE_ID_PATTERN, SAFE_BRANCH_PATTERN);
|
|
54
151
|
case 'remove':
|
|
55
152
|
return doRemove(subcommand, targetDir, extraArgs, SAFE_ID_PATTERN);
|
|
56
153
|
case 'list':
|
|
57
154
|
return doList(targetDir);
|
|
155
|
+
case 'sync-env':
|
|
156
|
+
return await doSyncEnv(targetDir, extraArgs, SAFE_ID_PATTERN);
|
|
58
157
|
default:
|
|
59
|
-
return err('Unknown worktree subcommand: ' + subcommand + '. Use create, remove, or
|
|
158
|
+
return err('Unknown worktree subcommand: ' + subcommand + '. Use create, remove, list, or sync-env.');
|
|
60
159
|
}
|
|
61
160
|
}
|
|
62
161
|
catch (e) {
|
|
@@ -65,7 +164,7 @@ export function cmdWorktree(subcommand, projectDir, extraArgs) {
|
|
|
65
164
|
throw e;
|
|
66
165
|
}
|
|
67
166
|
}
|
|
68
|
-
function doCreate(_subcommand, targetDir, extraArgs, SAFE_ID_PATTERN, SAFE_BRANCH_PATTERN) {
|
|
167
|
+
async function doCreate(_subcommand, targetDir, extraArgs, SAFE_ID_PATTERN, SAFE_BRANCH_PATTERN) {
|
|
69
168
|
const flags = parseFlags(extraArgs);
|
|
70
169
|
const subtaskId = flags.get('subtask');
|
|
71
170
|
const taskId = flags.get('task');
|
|
@@ -81,13 +180,20 @@ function doCreate(_subcommand, targetDir, extraArgs, SAFE_ID_PATTERN, SAFE_BRANC
|
|
|
81
180
|
if (!SAFE_ID_PATTERN.test(taskId)) {
|
|
82
181
|
throw new WorktreeUsageError('Invalid task ID: must match [a-zA-Z0-9_-]. Got: ' + taskId);
|
|
83
182
|
}
|
|
183
|
+
// state-fork-fix ID-09a: ANCHOR AT MAIN. Task-mode worktree creation can
|
|
184
|
+
// now run from inside a worktree (the sub-agent / dropped-cd model) — it
|
|
185
|
+
// retargets to the main repo instead of hard-erroring. The worktree path,
|
|
186
|
+
// the mkdirSync parent, the `git worktree add` cwd, AND the scope state-read
|
|
187
|
+
// ALL resolve off this one anchorRoot so they can never drift.
|
|
188
|
+
const anchorRoot = resolveMainRepoRoot(targetDir);
|
|
84
189
|
// C28 — scope propagation into worktree path. If --scope is not
|
|
85
190
|
// passed, look it up from state.json so external callers keep
|
|
86
|
-
// working without knowing the scope.
|
|
191
|
+
// working without knowing the scope. Reads off anchorRoot (the main
|
|
192
|
+
// board), since an empty worktree board would mis-resolve the scope.
|
|
87
193
|
let taskScope = flags.get('scope');
|
|
88
194
|
if (!taskScope) {
|
|
89
195
|
try {
|
|
90
|
-
const sp = join(
|
|
196
|
+
const sp = join(anchorRoot, '.aperant', 'state.json');
|
|
91
197
|
if (existsSync(sp)) {
|
|
92
198
|
const st = JSON.parse(readFileSync(sp, 'utf-8'));
|
|
93
199
|
taskScope = st?.active_tasks?.[taskId]?.scope || 'project';
|
|
@@ -112,59 +218,53 @@ function doCreate(_subcommand, targetDir, extraArgs, SAFE_ID_PATTERN, SAFE_BRANC
|
|
|
112
218
|
throw new WorktreeUsageError('Invalid branch name: must match [a-zA-Z0-9_-/.]. Got: ' + taskBranch);
|
|
113
219
|
}
|
|
114
220
|
// Resolve base branch: --from beats config beats default chain.
|
|
221
|
+
// state-fork-fix ID-09b: default to the repo DEFAULT branch and make a
|
|
222
|
+
// surprising non-default current base EXPLICIT. The discriminator is
|
|
223
|
+
// "did the user ask for `current` on THIS invocation (--from) vs. did it
|
|
224
|
+
// fall through from a `from_branch: current` config default?".
|
|
115
225
|
const fromFlag = flags.get('from');
|
|
116
226
|
const fromPref = fromFlag || isolation.from_branch || 'main';
|
|
227
|
+
// Resolve against the anchored MAIN repo (ID-09a) so the detected default
|
|
228
|
+
// + current branch are read from the same repo the worktree is added to.
|
|
117
229
|
let baseBranch = fromPref;
|
|
230
|
+
let baseBranchSource = null;
|
|
231
|
+
let baseBranchNote = null;
|
|
118
232
|
if (fromPref === 'current' || fromPref === 'HEAD') {
|
|
119
|
-
//
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
233
|
+
// `current` = the INVOKING context's branch (the worktree/cwd you are
|
|
234
|
+
// on), NOT the main repo's — that is the branch the user would
|
|
235
|
+
// silently stack onto. Worktrees share refs, so this branch is still
|
|
236
|
+
// resolvable from anchorRoot when `git worktree add` runs.
|
|
237
|
+
const cur = currentBranchName(targetDir);
|
|
238
|
+
baseBranch = cur;
|
|
239
|
+
const detectedDefault = bareBranchName(detectDefaultBranch(anchorRoot));
|
|
240
|
+
const isNonDefault = !!detectedDefault && cur !== detectedDefault && cur !== 'HEAD';
|
|
241
|
+
// EXPLICIT --from current/HEAD is intentional stacking → silent (AC13).
|
|
242
|
+
// A from_branch:'current' CONFIG default resolving to a non-default
|
|
243
|
+
// branch is the SURPRISING case that surfaces autonomy-aware.
|
|
244
|
+
const explicitCurrent = !!fromFlag;
|
|
245
|
+
if (isNonDefault && !explicitCurrent) {
|
|
246
|
+
const autonomy = resolveCreateAutonomy(flags, targetDir);
|
|
247
|
+
if (autonomy <= 1) {
|
|
248
|
+
// Fail closed asking (C50/0.6.1 requires_input non-TTY contract):
|
|
249
|
+
// do NOT create until the caller re-invokes with explicit --from.
|
|
250
|
+
return ok({
|
|
251
|
+
status: 'requires_input',
|
|
252
|
+
command: 'worktree-create',
|
|
253
|
+
reason: 'non_default_base',
|
|
254
|
+
task_id: taskId,
|
|
255
|
+
scope: taskScope,
|
|
256
|
+
base_branch: cur,
|
|
257
|
+
default_branch: detectedDefault,
|
|
258
|
+
prompt: `base = ${cur} — fork from ${detectedDefault} instead? [${detectedDefault}/current]`,
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
// autonomy 2-3 — proceed, but LOG the chosen non-default base.
|
|
262
|
+
baseBranchSource = 'current-non-default';
|
|
263
|
+
baseBranchNote = `base branch '${cur}' is not the repo default '${detectedDefault}' (from_branch: current config default) — proceeding at autonomy ${autonomy}`;
|
|
129
264
|
}
|
|
130
265
|
}
|
|
131
266
|
else if (fromPref === 'main') {
|
|
132
|
-
|
|
133
|
-
const candidates = ['origin/HEAD', 'origin/main', 'origin/master', 'main', 'master'];
|
|
134
|
-
let resolved = null;
|
|
135
|
-
for (const ref of candidates) {
|
|
136
|
-
try {
|
|
137
|
-
const out = execSync(`git rev-parse --verify ${ref}`, {
|
|
138
|
-
cwd: targetDir,
|
|
139
|
-
encoding: 'utf-8',
|
|
140
|
-
stdio: ['ignore', 'pipe', 'pipe'],
|
|
141
|
-
}).trim();
|
|
142
|
-
if (out) {
|
|
143
|
-
// origin/HEAD is a symref — resolve it to e.g. `origin/main`
|
|
144
|
-
// so the base branch we hand to `git worktree add` is usable.
|
|
145
|
-
if (ref === 'origin/HEAD') {
|
|
146
|
-
try {
|
|
147
|
-
const sym = execSync('git symbolic-ref refs/remotes/origin/HEAD', {
|
|
148
|
-
cwd: targetDir,
|
|
149
|
-
encoding: 'utf-8',
|
|
150
|
-
stdio: ['ignore', 'pipe', 'pipe'],
|
|
151
|
-
}).trim();
|
|
152
|
-
resolved = sym.replace(/^refs\/remotes\//, '') || ref;
|
|
153
|
-
}
|
|
154
|
-
catch {
|
|
155
|
-
resolved = ref;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
resolved = ref;
|
|
160
|
-
}
|
|
161
|
-
break;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
catch {
|
|
165
|
-
// Ref doesn't exist — try the next one.
|
|
166
|
-
}
|
|
167
|
-
}
|
|
267
|
+
const resolved = detectDefaultBranch(anchorRoot);
|
|
168
268
|
if (resolved) {
|
|
169
269
|
baseBranch = resolved;
|
|
170
270
|
}
|
|
@@ -172,16 +272,7 @@ function doCreate(_subcommand, targetDir, extraArgs, SAFE_ID_PATTERN, SAFE_BRANC
|
|
|
172
272
|
// Degenerate repo (no main/master ref anywhere). Fall back to
|
|
173
273
|
// current HEAD so users in detached or greenfield repos still
|
|
174
274
|
// get a working worktree instead of a hard error.
|
|
175
|
-
|
|
176
|
-
baseBranch =
|
|
177
|
-
execSync('git rev-parse --abbrev-ref HEAD', {
|
|
178
|
-
cwd: targetDir,
|
|
179
|
-
encoding: 'utf-8',
|
|
180
|
-
}).trim() || 'HEAD';
|
|
181
|
-
}
|
|
182
|
-
catch {
|
|
183
|
-
baseBranch = 'HEAD';
|
|
184
|
-
}
|
|
275
|
+
baseBranch = currentBranchName(anchorRoot);
|
|
185
276
|
}
|
|
186
277
|
}
|
|
187
278
|
// Any other explicit fromPref value (e.g. `origin/main`, `feature/foo`,
|
|
@@ -189,24 +280,22 @@ function doCreate(_subcommand, targetDir, extraArgs, SAFE_ID_PATTERN, SAFE_BRANC
|
|
|
189
280
|
if (!SAFE_BRANCH_PATTERN.test(baseBranch)) {
|
|
190
281
|
throw new WorktreeUsageError('Invalid base branch: must match [a-zA-Z0-9_-/.]. Got: ' + baseBranch);
|
|
191
282
|
}
|
|
192
|
-
//
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
}
|
|
199
|
-
const worktreePath = join(targetDir, '.aperant', 'worktrees', taskScope, taskId);
|
|
283
|
+
// state-fork-fix ID-09a: NO nested-worktree hard-error in task mode. The
|
|
284
|
+
// task worktree is always created as a SIBLING under the MAIN repo's
|
|
285
|
+
// .aperant/worktrees/<scope>/<id> — invoking from inside a worktree (or a
|
|
286
|
+
// subdir) retargets to main instead of refusing. (The legacy subtask-mode
|
|
287
|
+
// path below keeps its nested-worktree refusal — back-compat only.)
|
|
288
|
+
const worktreePath = join(anchorRoot, '.aperant', 'worktrees', taskScope, taskId);
|
|
200
289
|
if (existsSync(worktreePath)) {
|
|
201
290
|
throw new WorktreeUsageError('Worktree already exists at ' +
|
|
202
291
|
worktreePath +
|
|
203
292
|
'. Remove it first with: apt-tools worktree remove <dir> --task ' +
|
|
204
293
|
taskId);
|
|
205
294
|
}
|
|
206
|
-
mkdirSync(join(
|
|
295
|
+
mkdirSync(join(anchorRoot, '.aperant', 'worktrees', taskScope), { recursive: true });
|
|
207
296
|
try {
|
|
208
297
|
execFileSync('git', ['worktree', 'add', worktreePath, '-b', taskBranch, baseBranch], {
|
|
209
|
-
cwd:
|
|
298
|
+
cwd: anchorRoot,
|
|
210
299
|
encoding: 'utf-8',
|
|
211
300
|
stdio: 'pipe',
|
|
212
301
|
});
|
|
@@ -214,6 +303,18 @@ function doCreate(_subcommand, targetDir, extraArgs, SAFE_ID_PATTERN, SAFE_BRANC
|
|
|
214
303
|
catch (e) {
|
|
215
304
|
throw new WorktreeUsageError('Failed to create worktree: ' + (e.stderr || e.message).trim());
|
|
216
305
|
}
|
|
306
|
+
// Materialize the project's stored env blobs into the fresh worktree
|
|
307
|
+
// (#354) — best-effort, traversal-guarded inside the helper, never aborts
|
|
308
|
+
// worktree creation. Surfaced on the envelope as `env_materialized`.
|
|
309
|
+
let envMaterialized = null;
|
|
310
|
+
try {
|
|
311
|
+
envMaterialized = await materializeProjectEnvCli(worktreePath, targetDir, flags.get('project-id'));
|
|
312
|
+
}
|
|
313
|
+
catch {
|
|
314
|
+
// Defense in depth: the helper already swallows errors, but if it ever
|
|
315
|
+
// rejects we still must not fail the create.
|
|
316
|
+
envMaterialized = null;
|
|
317
|
+
}
|
|
217
318
|
// Best-effort push: honor --push flag or config.push_on_create.
|
|
218
319
|
// Never abort on failure — users may have no network / no remote.
|
|
219
320
|
const shouldPush = pushOptIn || isolation.push_on_create === true;
|
|
@@ -247,10 +348,16 @@ function doCreate(_subcommand, targetDir, extraArgs, SAFE_ID_PATTERN, SAFE_BRANC
|
|
|
247
348
|
// resolution (env override → process.argv[1] → monorepo →
|
|
248
349
|
// consumer-install → $PATH). This file no longer reads
|
|
249
350
|
// process.argv[1] directly.
|
|
351
|
+
// state-fork-fix ID-09a: pass anchorRoot (NOT raw targetDir) as the
|
|
352
|
+
// project-dir. With the nested-worktree guard removed, doCreate can
|
|
353
|
+
// run from inside a worktree, and worktree-install writes EPHEMERAL
|
|
354
|
+
// tasks/<id>/install/ logs + a stubbed $HOME + a detached --finalize
|
|
355
|
+
// re-spawn off its project-dir — anchoring at main keeps those off the
|
|
356
|
+
// forked worktree board, consistent with the main-anchored worktreePath.
|
|
250
357
|
const wtInstallArgs = [
|
|
251
|
-
resolveAptToolsBin(
|
|
358
|
+
resolveAptToolsBin(anchorRoot),
|
|
252
359
|
'worktree-install',
|
|
253
|
-
|
|
360
|
+
anchorRoot,
|
|
254
361
|
'--task',
|
|
255
362
|
taskId,
|
|
256
363
|
'--worktree',
|
|
@@ -326,6 +433,14 @@ function doCreate(_subcommand, targetDir, extraArgs, SAFE_ID_PATTERN, SAFE_BRANC
|
|
|
326
433
|
createOut.install = installBlock;
|
|
327
434
|
if (installWarning)
|
|
328
435
|
createOut.install_warning = installWarning;
|
|
436
|
+
if (envMaterialized)
|
|
437
|
+
createOut.env_materialized = envMaterialized;
|
|
438
|
+
// ID-09b: when proceeding with a non-default current base at autonomy 2-3,
|
|
439
|
+
// LOG the chosen base on the success envelope.
|
|
440
|
+
if (baseBranchSource)
|
|
441
|
+
createOut.base_branch_source = baseBranchSource;
|
|
442
|
+
if (baseBranchNote)
|
|
443
|
+
createOut.base_branch_note = baseBranchNote;
|
|
329
444
|
return ok(createOut);
|
|
330
445
|
}
|
|
331
446
|
// Subtask-mode (legacy) create.
|
|
@@ -390,10 +505,13 @@ function doRemove(_subcommand, targetDir, extraArgs, SAFE_ID_PATTERN) {
|
|
|
390
505
|
// C28 — resolve scope for {scope}/{task-id} path. Accept --scope,
|
|
391
506
|
// else read state.json, else fall back to scanning the worktree
|
|
392
507
|
// dir (handles orphaned worktrees whose task record is gone).
|
|
508
|
+
// state-fork-fix: anchor at main, matching doCreate (ID-09a).
|
|
509
|
+
const anchorRoot = resolveMainRepoRoot(targetDir);
|
|
393
510
|
let taskScope = flags.get('scope') || null;
|
|
394
511
|
if (!taskScope) {
|
|
395
512
|
try {
|
|
396
|
-
|
|
513
|
+
// state-fork-fix: ephemeral scope read resolves to the main board.
|
|
514
|
+
const sp = join(anchorRoot, '.aperant', 'state.json');
|
|
397
515
|
if (existsSync(sp)) {
|
|
398
516
|
const st = JSON.parse(readFileSync(sp, 'utf-8'));
|
|
399
517
|
taskScope = st?.active_tasks?.[taskId]?.scope || null;
|
|
@@ -406,7 +524,7 @@ function doRemove(_subcommand, targetDir, extraArgs, SAFE_ID_PATTERN) {
|
|
|
406
524
|
if (!taskScope) {
|
|
407
525
|
// Scan scope subdirs for a match.
|
|
408
526
|
try {
|
|
409
|
-
const root = join(
|
|
527
|
+
const root = join(anchorRoot, '.aperant', 'worktrees');
|
|
410
528
|
if (existsSync(root)) {
|
|
411
529
|
for (const entry of readdirSync(root, { withFileTypes: true })) {
|
|
412
530
|
if (entry.isDirectory() && existsSync(join(root, entry.name, taskId))) {
|
|
@@ -421,12 +539,15 @@ function doRemove(_subcommand, targetDir, extraArgs, SAFE_ID_PATTERN) {
|
|
|
421
539
|
}
|
|
422
540
|
}
|
|
423
541
|
taskScope = taskScope || 'project';
|
|
424
|
-
|
|
542
|
+
if (!SAFE_ID_PATTERN.test(taskScope)) {
|
|
543
|
+
throw new WorktreeUsageError('Invalid scope: must match [a-zA-Z0-9_-]. Got: ' + taskScope);
|
|
544
|
+
}
|
|
545
|
+
const worktreePath = join(anchorRoot, '.aperant', 'worktrees', taskScope, taskId);
|
|
425
546
|
const args = ['worktree', 'remove', worktreePath];
|
|
426
547
|
if (force)
|
|
427
548
|
args.push('--force');
|
|
428
549
|
try {
|
|
429
|
-
execFileSync('git', args, { cwd:
|
|
550
|
+
execFileSync('git', args, { cwd: anchorRoot, encoding: 'utf-8', stdio: 'pipe' });
|
|
430
551
|
}
|
|
431
552
|
catch (e) {
|
|
432
553
|
throw new WorktreeUsageError('Failed to remove worktree: ' + (e.stderr || e.message).trim());
|
|
@@ -437,7 +558,7 @@ function doRemove(_subcommand, targetDir, extraArgs, SAFE_ID_PATTERN) {
|
|
|
437
558
|
const taskBranch = `${isolation.branch_prefix || 'apt'}/${taskId}`;
|
|
438
559
|
try {
|
|
439
560
|
execFileSync('git', ['branch', '-D', taskBranch], {
|
|
440
|
-
cwd:
|
|
561
|
+
cwd: anchorRoot,
|
|
441
562
|
encoding: 'utf-8',
|
|
442
563
|
stdio: 'pipe',
|
|
443
564
|
});
|
|
@@ -481,10 +602,12 @@ function doRemove(_subcommand, targetDir, extraArgs, SAFE_ID_PATTERN) {
|
|
|
481
602
|
});
|
|
482
603
|
}
|
|
483
604
|
function doList(targetDir) {
|
|
605
|
+
// state-fork-fix: anchor at main so the prefix and git output share the same root.
|
|
606
|
+
const anchorRoot = resolveMainRepoRoot(targetDir);
|
|
484
607
|
let rawOutput;
|
|
485
608
|
try {
|
|
486
609
|
rawOutput = execSync('git worktree list --porcelain', {
|
|
487
|
-
cwd:
|
|
610
|
+
cwd: anchorRoot,
|
|
488
611
|
encoding: 'utf-8',
|
|
489
612
|
stdio: 'pipe',
|
|
490
613
|
});
|
|
@@ -494,7 +617,7 @@ function doList(targetDir) {
|
|
|
494
617
|
}
|
|
495
618
|
// Parse porcelain output — each worktree block separated by blank line
|
|
496
619
|
const worktrees = [];
|
|
497
|
-
const aperantPrefix = join(
|
|
620
|
+
const aperantPrefix = join(anchorRoot, '.aperant', 'worktrees');
|
|
498
621
|
const blocks = rawOutput.trim().split('\n\n');
|
|
499
622
|
for (const block of blocks) {
|
|
500
623
|
const lines = block.trim().split('\n');
|
|
@@ -537,4 +660,80 @@ function doList(targetDir) {
|
|
|
537
660
|
worktrees: worktrees,
|
|
538
661
|
});
|
|
539
662
|
}
|
|
663
|
+
/**
|
|
664
|
+
* `apt-tools worktree sync-env <dir> --task <id> [--scope <scope>] [--project-id <id>]`
|
|
665
|
+
*
|
|
666
|
+
* Re-materialize the project's stored env blobs into an existing task worktree
|
|
667
|
+
* (ID-07). The store is the source of truth — sync-env OVERWRITES the worktree
|
|
668
|
+
* files; there is no two-way merge. Used for long-lived worktrees that drifted
|
|
669
|
+
* after the source env changed in the store.
|
|
670
|
+
*/
|
|
671
|
+
async function doSyncEnv(targetDir, extraArgs, SAFE_ID_PATTERN) {
|
|
672
|
+
const flags = parseFlags(extraArgs);
|
|
673
|
+
const taskId = flags.get('task');
|
|
674
|
+
if (!taskId) {
|
|
675
|
+
throw new WorktreeUsageError('Usage: apt-tools worktree sync-env <dir> --task <id> [--scope <scope>] [--project-id <id>]');
|
|
676
|
+
}
|
|
677
|
+
if (!SAFE_ID_PATTERN.test(taskId)) {
|
|
678
|
+
throw new WorktreeUsageError('Invalid task ID: must match [a-zA-Z0-9_-]. Got: ' + taskId);
|
|
679
|
+
}
|
|
680
|
+
// state-fork-fix: anchor at main, matching doCreate (ID-09a).
|
|
681
|
+
const anchorRoot = resolveMainRepoRoot(targetDir);
|
|
682
|
+
// Resolve scope the same way doRemove does: --scope, else state.json, else
|
|
683
|
+
// scan the worktrees dir for a matching task subdir.
|
|
684
|
+
let taskScope = flags.get('scope') || null;
|
|
685
|
+
if (!taskScope) {
|
|
686
|
+
try {
|
|
687
|
+
// state-fork-fix: ephemeral scope read resolves to the main board.
|
|
688
|
+
const sp = join(anchorRoot, '.aperant', 'state.json');
|
|
689
|
+
if (existsSync(sp)) {
|
|
690
|
+
const st = JSON.parse(readFileSync(sp, 'utf-8'));
|
|
691
|
+
taskScope = st?.active_tasks?.[taskId]?.scope || null;
|
|
692
|
+
}
|
|
693
|
+
}
|
|
694
|
+
catch {
|
|
695
|
+
/* ignore */
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
if (!taskScope) {
|
|
699
|
+
try {
|
|
700
|
+
const root = join(anchorRoot, '.aperant', 'worktrees');
|
|
701
|
+
if (existsSync(root)) {
|
|
702
|
+
for (const entry of readdirSync(root, { withFileTypes: true })) {
|
|
703
|
+
if (entry.isDirectory() && existsSync(join(root, entry.name, taskId))) {
|
|
704
|
+
taskScope = entry.name;
|
|
705
|
+
break;
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
catch {
|
|
711
|
+
/* ignore */
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
taskScope = (taskScope || 'project').trim() || 'project';
|
|
715
|
+
// Validate scope BEFORE it is joined into the worktree path (mirrors
|
|
716
|
+
// doCreate). An unvalidated scope (e.g. `--scope ../../etc`) would let the
|
|
717
|
+
// resolved worktree root escape `.aperant/worktrees/`, and sync-env writes
|
|
718
|
+
// secret env blobs into that root — so reject anything outside [a-zA-Z0-9_-].
|
|
719
|
+
if (!SAFE_ID_PATTERN.test(taskScope)) {
|
|
720
|
+
throw new WorktreeUsageError('Invalid scope: must match [a-zA-Z0-9_-]. Got: ' + taskScope);
|
|
721
|
+
}
|
|
722
|
+
const worktreePath = join(anchorRoot, '.aperant', 'worktrees', taskScope, taskId);
|
|
723
|
+
if (!existsSync(worktreePath)) {
|
|
724
|
+
throw new WorktreeUsageError('Worktree not found at ' +
|
|
725
|
+
worktreePath +
|
|
726
|
+
'. Create it first with: apt-tools worktree create <dir> --task ' +
|
|
727
|
+
taskId);
|
|
728
|
+
}
|
|
729
|
+
const result = await materializeProjectEnvCli(worktreePath, targetDir, flags.get('project-id'));
|
|
730
|
+
return ok({
|
|
731
|
+
status: 'ok',
|
|
732
|
+
command: 'worktree-sync-env',
|
|
733
|
+
task_id: taskId,
|
|
734
|
+
scope: taskScope,
|
|
735
|
+
worktree_path: worktreePath,
|
|
736
|
+
env_materialized: result,
|
|
737
|
+
});
|
|
738
|
+
}
|
|
540
739
|
//# sourceMappingURL=worktree.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree.mjs","sourceRoot":"","sources":["../../../src/cli/commands/worktree.mjs"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACtE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC1E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAExD;;;GAGG;AACH,MAAM,kBAAmB,SAAQ,UAAU;IAC1C,YAAY,OAAO;QAClB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IACjC,CAAC;CACD;AAED,MAAM,UAAU,iBAAiB,CAAC,UAAU;IAC3C,IAAI,CAAC,UAAU;QAAE,OAAO,GAAG,CAAC,gDAAgD,CAAC,CAAA;IAC7E,MAAM,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;IACrC,OAAO,EAAE,CAAC;QACT,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,iBAAiB;QAC1B,GAAG,EAAE;QACL,eAAe,EAAE,gBAAgB,CAAC,UAAU,CAAC;QAC7C,cAAc,EAAE,EAAE,CAAC,WAAW;YAC7B,CAAC,CAAC,oHAAoH;YACtH,CAAC,CAAC,4DAA4D;KAC/D,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS;IAC5D,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC,gEAAgE,CAAC,CAAA;IAC7E,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAErC,+DAA+D;IAC/D,MAAM,eAAe,GAAG,kBAAkB,CAAA;IAC1C,MAAM,mBAAmB,GAAG,qBAAqB,CAAA;IAEjD,IAAI,CAAC;QACJ,QAAQ,UAAU,EAAE,CAAC;YACpB,KAAK,QAAQ;gBACZ,OAAO,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAA;YACxF,KAAK,QAAQ;gBACZ,OAAO,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,CAAC,CAAA;YACnE,KAAK,MAAM;gBACV,OAAO,MAAM,CAAC,SAAS,CAAC,CAAA;YACzB;gBACC,OAAO,GAAG,CAAC,+BAA+B,GAAG,UAAU,GAAG,gCAAgC,CAAC,CAAA;QAC7F,CAAC;IACF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,IAAI,CAAC,YAAY,kBAAkB;YAAE,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QAC1D,MAAM,CAAC,CAAA;IACR,CAAC;AACF,CAAC;AAED,SAAS,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,mBAAmB;IACxF,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;IACnC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACtC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC9C,iEAAiE;IACjE,iEAAiE;IACjE,qBAAqB;IACrB,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IAExD,kEAAkE;IAClE,+EAA+E;IAC/E,oDAAoD;IACpD,IAAI,MAAM,EAAE,CAAC;QACZ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,kBAAkB,CAAC,kDAAkD,GAAG,MAAM,CAAC,CAAA;QAC1F,CAAC;QAED,gEAAgE;QAChE,8DAA8D;QAC9D,qCAAqC;QACrC,IAAI,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAClC,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,IAAI,CAAC;gBACJ,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;gBACpD,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;oBACpB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;oBAChD,SAAS,GAAG,EAAE,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,SAAS,CAAA;gBAC3D,CAAC;qBAAM,CAAC;oBACP,SAAS,GAAG,SAAS,CAAA;gBACtB,CAAC;YACF,CAAC;YAAC,MAAM,CAAC;gBACR,SAAS,GAAG,SAAS,CAAA;YACtB,CAAC;QACF,CAAC;QACD,SAAS,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAA;QACxD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,kBAAkB,CAAC,gDAAgD,GAAG,SAAS,CAAC,CAAA;QAC3F,CAAC;QAED,MAAM,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAA;QACnD,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,SAAS,CAAC,aAAa,IAAI,KAAK,CAAA;QACnF,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC1C,MAAM,UAAU,GAAG,cAAc,IAAI,GAAG,YAAY,IAAI,MAAM,EAAE,CAAA;QAChE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,kBAAkB,CAC3B,wDAAwD,GAAG,UAAU,CACrE,CAAA;QACF,CAAC;QAED,gEAAgE;QAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAClC,MAAM,QAAQ,GAAG,QAAQ,IAAI,SAAS,CAAC,WAAW,IAAI,MAAM,CAAA;QAC5D,IAAI,UAAU,GAAG,QAAQ,CAAA;QACzB,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACnD,oEAAoE;YACpE,IAAI,CAAC;gBACJ,UAAU;oBACT,QAAQ,CAAC,iCAAiC,EAAE;wBAC3C,GAAG,EAAE,SAAS;wBACd,QAAQ,EAAE,OAAO;qBACjB,CAAC,CAAC,IAAI,EAAE,IAAI,MAAM,CAAA;YACrB,CAAC;YAAC,MAAM,CAAC;gBACR,UAAU,GAAG,MAAM,CAAA;YACpB,CAAC;QACF,CAAC;aAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YAChC,kEAAkE;YAClE,MAAM,UAAU,GAAG,CAAC,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;YACpF,IAAI,QAAQ,GAAG,IAAI,CAAA;YACnB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACJ,MAAM,GAAG,GAAG,QAAQ,CAAC,0BAA0B,GAAG,EAAE,EAAE;wBACrD,GAAG,EAAE,SAAS;wBACd,QAAQ,EAAE,OAAO;wBACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;qBACjC,CAAC,CAAC,IAAI,EAAE,CAAA;oBACT,IAAI,GAAG,EAAE,CAAC;wBACT,6DAA6D;wBAC7D,8DAA8D;wBAC9D,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;4BAC3B,IAAI,CAAC;gCACJ,MAAM,GAAG,GAAG,QAAQ,CAAC,2CAA2C,EAAE;oCACjE,GAAG,EAAE,SAAS;oCACd,QAAQ,EAAE,OAAO;oCACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;iCACjC,CAAC,CAAC,IAAI,EAAE,CAAA;gCACT,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,IAAI,GAAG,CAAA;4BACtD,CAAC;4BAAC,MAAM,CAAC;gCACR,QAAQ,GAAG,GAAG,CAAA;4BACf,CAAC;wBACF,CAAC;6BAAM,CAAC;4BACP,QAAQ,GAAG,GAAG,CAAA;wBACf,CAAC;wBACD,MAAK;oBACN,CAAC;gBACF,CAAC;gBAAC,MAAM,CAAC;oBACR,wCAAwC;gBACzC,CAAC;YACF,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACd,UAAU,GAAG,QAAQ,CAAA;YACtB,CAAC;iBAAM,CAAC;gBACP,8DAA8D;gBAC9D,8DAA8D;gBAC9D,kDAAkD;gBAClD,IAAI,CAAC;oBACJ,UAAU;wBACT,QAAQ,CAAC,iCAAiC,EAAE;4BAC3C,GAAG,EAAE,SAAS;4BACd,QAAQ,EAAE,OAAO;yBACjB,CAAC,CAAC,IAAI,EAAE,IAAI,MAAM,CAAA;gBACrB,CAAC;gBAAC,MAAM,CAAC;oBACR,UAAU,GAAG,MAAM,CAAA;gBACpB,CAAC;YACF,CAAC;QACF,CAAC;QACD,wEAAwE;QACxE,uEAAuE;QACvE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,kBAAkB,CAC3B,wDAAwD,GAAG,UAAU,CACrE,CAAA;QACF,CAAC;QAED,qDAAqD;QACrD,MAAM,EAAE,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;QACpC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACpB,MAAM,IAAI,kBAAkB,CAC3B,uDAAuD;gBACtD,EAAE,CAAC,aAAa;gBAChB,uCAAuC,CACxC,CAAA;QACF,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAChF,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,kBAAkB,CAC3B,6BAA6B;gBAC5B,YAAY;gBACZ,iEAAiE;gBACjE,MAAM,CACP,CAAA;QACF,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAEnF,IAAI,CAAC;YACJ,YAAY,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE;gBACpF,GAAG,EAAE,SAAS;gBACd,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,MAAM;aACb,CAAC,CAAA;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,kBAAkB,CAAC,6BAA6B,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QAC7F,CAAC;QAED,gEAAgE;QAChE,kEAAkE;QAClE,MAAM,UAAU,GAAG,SAAS,IAAI,SAAS,CAAC,cAAc,KAAK,IAAI,CAAA;QACjE,IAAI,cAAc,GAAG,KAAK,CAAA;QAC1B,IAAI,WAAW,GAAG,IAAI,CAAA;QACtB,IAAI,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC;gBACJ,YAAY,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE;oBACzD,GAAG,EAAE,YAAY;oBACjB,QAAQ,EAAE,OAAO;oBACjB,KAAK,EAAE,MAAM;iBACb,CAAC,CAAA;gBACF,cAAc,GAAG,IAAI,CAAA;YACtB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,WAAW,GAAG,eAAe,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YACzF,CAAC;QACF,CAAC;QAED,gEAAgE;QAChE,oEAAoE;QACpE,sDAAsD;QACtD,4DAA4D;QAC5D,0DAA0D;QAC1D,sDAAsD;QACtD,2BAA2B;QAC3B,IAAI,YAAY,GAAG,IAAI,CAAA;QACvB,IAAI,cAAc,GAAG,IAAI,CAAA;QACzB,IAAI,SAAS,CAAC,kBAAkB,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3D,IAAI,CAAC;gBACJ,4DAA4D;gBAC5D,0DAA0D;gBAC1D,uDAAuD;gBACvD,4BAA4B;gBAC5B,MAAM,aAAa,GAAG;oBACrB,kBAAkB,CAAC,SAAS,CAAC;oBAC7B,kBAAkB;oBAClB,SAAS;oBACT,QAAQ;oBACR,MAAM;oBACN,YAAY;oBACZ,YAAY;iBACZ,CAAA;gBACD,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE;oBAC7D,QAAQ,EAAE,OAAO;iBACjB,CAAC,CAAA;gBACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;oBAClD,IAAI,CAAC;wBACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;wBAC5C,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;4BAC1C,YAAY,GAAG;gCACd,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;gCAC7C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,IAAI;gCACjD,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI;gCACvC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,EAAE;gCACnD,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,IAAI;gCACrD,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,IAAI;gCACvD,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;gCAC/C,sDAAsD;gCACtD,gDAAgD;gCAChD,mDAAmD;gCACnD,oDAAoD;gCACpD,sDAAsD;gCACtD,oDAAoD;gCACpD,uDAAuD;gCACvD,gCAAgC;gCAChC,qBAAqB,EACpB,MAAM,CAAC,qBAAqB,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,QAAQ;oCAC/E,CAAC,CAAC,MAAM,CAAC,qBAAqB;oCAC9B,CAAC,CAAC,IAAI;gCACR,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC;oCAC3D,CAAC,CAAC,MAAM,CAAC,kBAAkB;oCAC3B,CAAC,CAAC,IAAI;6BACP,CAAA;4BACD,IAAI,MAAM,CAAC,eAAe;gCAAE,cAAc,GAAG,MAAM,CAAC,eAAe,CAAA;wBACpE,CAAC;oBACF,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACZ,cAAc,GAAG,kCAAkC,CAAC,CAAC,OAAO,EAAE,CAAA;oBAC/D,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,cAAc;wBACb,2BAA2B;4BAC3B,CAAC,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,IAAI,SAAS,CAAC;iCACnD,QAAQ,EAAE;iCACV,IAAI,EAAE;iCACN,KAAK,CAAC,IAAI,CAAC;iCACX,GAAG,EAAE,CAAA;gBACT,CAAC;YACF,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,cAAc,GAAG,sCAAsC,CAAC,CAAC,OAAO,EAAE,CAAA;YACnE,CAAC;QACF,CAAC;QAED,MAAM,SAAS,GAAG;YACjB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,iBAAiB;YAC1B,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,SAAS;YAChB,aAAa,EAAE,YAAY;YAC3B,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,UAAU;YAClB,WAAW,EAAE,UAAU;YACvB,eAAe,EAAE,cAAc;YAC/B,YAAY,EAAE,WAAW;YACzB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAA;QACD,IAAI,YAAY;YAAE,SAAS,CAAC,OAAO,GAAG,YAAY,CAAA;QAClD,IAAI,cAAc;YAAE,SAAS,CAAC,eAAe,GAAG,cAAc,CAAA;QAC9D,OAAO,EAAE,CAAC,SAAS,CAAC,CAAA;IACrB,CAAC;IAED,gCAAgC;IAChC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAClC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,kBAAkB,CAC3B,qIAAqI,CACrI,CAAA;IACF,CAAC;IAED,wCAAwC;IACxC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,kBAAkB,CAAC,qDAAqD,GAAG,SAAS,CAAC,CAAA;IAChG,CAAC;IACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,kBAAkB,CAAC,wDAAwD,GAAG,MAAM,CAAC,CAAA;IAChG,CAAC;IAED,2BAA2B;IAC3B,MAAM,EAAE,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;IACpC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpB,MAAM,IAAI,kBAAkB,CAC3B,uDAAuD;YACtD,EAAE,CAAC,aAAa;YAChB,uCAAuC,CACxC,CAAA;IACF,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;IAExE,mCAAmC;IACnC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,kBAAkB,CAC3B,6BAA6B;YAC5B,YAAY;YACZ,oEAAoE;YACpE,SAAS,CACV,CAAA;IACF,CAAC;IAED,iCAAiC;IACjC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAExE,IAAI,CAAC;QACJ,YAAY,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE;YACpE,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,MAAM;SACb,CAAC,CAAA;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,kBAAkB,CAAC,6BAA6B,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAC7F,CAAC;IAED,OAAO,EAAE,CAAC;QACT,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,iBAAiB;QAC1B,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC,CAAA;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe;IACnE,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;IACnC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACtC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC3C,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IAE1D,oBAAoB;IACpB,IAAI,MAAM,EAAE,CAAC;QACZ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,kBAAkB,CAAC,kDAAkD,GAAG,MAAM,CAAC,CAAA;QAC1F,CAAC;QAED,kEAAkE;QAClE,gEAAgE;QAChE,8DAA8D;QAC9D,IAAI,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAA;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,IAAI,CAAC;gBACJ,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAA;gBACpD,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;oBACpB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;oBAChD,SAAS,GAAG,EAAE,EAAE,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,IAAI,CAAA;gBACtD,CAAC;YACF,CAAC;YAAC,MAAM,CAAC;gBACR,YAAY;YACb,CAAC;QACF,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,kCAAkC;YAClC,IAAI,CAAC;gBACJ,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;gBACrD,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtB,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;wBAChE,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;4BACvE,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;4BACtB,MAAK;wBACN,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;YAAC,MAAM,CAAC;gBACR,YAAY;YACb,CAAC;QACF,CAAC;QACD,SAAS,GAAG,SAAS,IAAI,SAAS,CAAA;QAElC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAChF,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;QACjD,IAAI,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC/B,IAAI,CAAC;YACJ,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAChF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,IAAI,kBAAkB,CAAC,6BAA6B,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QAC7F,CAAC;QACD,IAAI,aAAa,GAAG,KAAK,CAAA;QACzB,IAAI,YAAY,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAA;YACnD,MAAM,UAAU,GAAG,GAAG,SAAS,CAAC,aAAa,IAAI,KAAK,IAAI,MAAM,EAAE,CAAA;YAClE,IAAI,CAAC;gBACJ,YAAY,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE;oBACjD,GAAG,EAAE,SAAS;oBACd,QAAQ,EAAE,OAAO;oBACjB,KAAK,EAAE,MAAM;iBACb,CAAC,CAAA;gBACF,aAAa,GAAG,IAAI,CAAA;YACrB,CAAC;YAAC,MAAM,CAAC;gBACR,iBAAiB;YAClB,CAAC;QACF,CAAC;QACD,OAAO,EAAE,CAAC;YACT,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,iBAAiB;YAC1B,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,YAAY;YACrB,cAAc,EAAE,aAAa;SAC7B,CAAC,CAAA;IACH,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,MAAM,IAAI,kBAAkB,CAC3B,gHAAgH,CAChH,CAAA;IACF,CAAC;IAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,kBAAkB,CAAC,qDAAqD,GAAG,SAAS,CAAC,CAAA;IAChG,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;IACxE,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;IACjD,IAAI,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAE/B,IAAI,CAAC;QACJ,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IAChF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,kBAAkB,CAAC,6BAA6B,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAC7F,CAAC;IAED,OAAO,EAAE,CAAC;QACT,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,iBAAiB;QAC1B,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,YAAY;KACrB,CAAC,CAAA;AACH,CAAC;AAED,SAAS,MAAM,CAAC,SAAS;IACxB,IAAI,SAAS,CAAA;IACb,IAAI,CAAC;QACJ,SAAS,GAAG,QAAQ,CAAC,+BAA+B,EAAE;YACrD,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,MAAM;SACb,CAAC,CAAA;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,kBAAkB,CAAC,4BAA4B,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAC5F,CAAC;IAED,uEAAuE;IACvE,MAAM,SAAS,GAAG,EAAE,CAAA;IACpB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;IAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,MAAM,GAAG,IAAI,CAAA;QACjB,IAAI,QAAQ,GAAG,IAAI,CAAA;QACnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;gBAAE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YACzE,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC7B,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;QACpE,CAAC;QACD,mDAAmD;QACnD,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACxD,gEAAgE;YAChE,iEAAiE;YACjE,sDAAsD;YACtD,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC1B,SAAS,CAAC,IAAI,CAAC;oBACd,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAClB,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;oBACpC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;oBACvC,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,QAAQ,IAAI,SAAS;iBAC7B,CAAC,CAAA;YACH,CAAC;iBAAM,CAAC;gBACP,SAAS,CAAC,IAAI,CAAC;oBACd,UAAU,EAAE,QAAQ;oBACpB,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,QAAQ,IAAI,SAAS;iBAC7B,CAAC,CAAA;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,EAAE,CAAC;QACT,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,eAAe;QACxB,SAAS,EAAE,SAAS;KACpB,CAAC,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"worktree.mjs","sourceRoot":"","sources":["../../../src/cli/commands/worktree.mjs"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-merge-sweep.d.mts","sourceRoot":"","sources":["../../../src/cli/config/post-merge-sweep.mjs"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"post-merge-sweep.d.mts","sourceRoot":"","sources":["../../../src/cli/config/post-merge-sweep.mjs"],"names":[],"mappings":"AA6EA;;;;;;GAMG;AACH;;;;WAmBC;AAED;;;;;;GAMG;AACH,oEAUC;AAED;;;;;GAKG;AACH,8EAQC;AAED;;;;;;;GAOG;AACH,wDAYC;AAED;;;;;;GAMG;AACH;;;EAWC;AAcD;;;;;;;GAOG;AACH,kFAiBC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwFC"}
|
|
@@ -36,6 +36,7 @@ import { spawn } from 'node:child_process';
|
|
|
36
36
|
import { closeSync, existsSync, openSync, readFileSync, statSync, writeSync } from 'node:fs';
|
|
37
37
|
import { dirname, join, resolve } from 'node:path';
|
|
38
38
|
import { fileURLToPath } from 'node:url';
|
|
39
|
+
import { resolveMainRepoRoot } from '../util/state-paths.mjs';
|
|
39
40
|
/**
|
|
40
41
|
* Hot-path commands whose stderr feeds back into LLM-facing routers /
|
|
41
42
|
* detectors — chatty hook output would pollute classification signal.
|
|
@@ -78,7 +79,7 @@ function getCooldownMs() {
|
|
|
78
79
|
* @internal
|
|
79
80
|
*/
|
|
80
81
|
export function readShippedCandidates(projectRoot) {
|
|
81
|
-
const statePath = join(projectRoot, '.aperant', 'state.json');
|
|
82
|
+
const statePath = join(resolveMainRepoRoot(projectRoot), '.aperant', 'state.json');
|
|
82
83
|
if (!existsSync(statePath))
|
|
83
84
|
return null;
|
|
84
85
|
let state;
|
|
@@ -111,7 +112,7 @@ export function readShippedCandidates(projectRoot) {
|
|
|
111
112
|
* @internal
|
|
112
113
|
*/
|
|
113
114
|
export function readPendingNarrationCount(projectRoot) {
|
|
114
|
-
const statePath = join(projectRoot, '.aperant', 'state.json');
|
|
115
|
+
const statePath = join(resolveMainRepoRoot(projectRoot), '.aperant', 'state.json');
|
|
115
116
|
if (!existsSync(statePath))
|
|
116
117
|
return 0;
|
|
117
118
|
try {
|