@claudexor/workspace 4.8.2 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/anchor-store.d.ts +20 -9
- package/dist/anchor-store.d.ts.map +1 -1
- package/dist/anchor-store.js +89 -14
- package/dist/anchor-store.js.map +1 -1
- package/dist/capture-failure.d.ts.map +1 -1
- package/dist/capture-failure.js +7 -2
- package/dist/capture-failure.js.map +1 -1
- package/dist/capture-inventory.d.ts +10 -0
- package/dist/capture-inventory.d.ts.map +1 -0
- package/dist/capture-inventory.js +63 -0
- package/dist/capture-inventory.js.map +1 -0
- package/dist/capture-objects.d.ts +32 -0
- package/dist/capture-objects.d.ts.map +1 -0
- package/dist/capture-objects.js +129 -0
- package/dist/capture-objects.js.map +1 -0
- package/dist/cleanup-fault.d.ts +18 -0
- package/dist/cleanup-fault.d.ts.map +1 -0
- package/dist/cleanup-fault.js +45 -0
- package/dist/cleanup-fault.js.map +1 -0
- package/dist/continuation-evidence.d.ts +61 -15
- package/dist/continuation-evidence.d.ts.map +1 -1
- package/dist/continuation-evidence.js +151 -36
- package/dist/continuation-evidence.js.map +1 -1
- package/dist/continuation-facts.d.ts +93 -0
- package/dist/continuation-facts.d.ts.map +1 -0
- package/dist/continuation-facts.js +162 -0
- package/dist/continuation-facts.js.map +1 -0
- package/dist/directory-workspace.d.ts +6 -1
- package/dist/directory-workspace.d.ts.map +1 -1
- package/dist/directory-workspace.js +21 -3
- package/dist/directory-workspace.js.map +1 -1
- package/dist/files-io.d.ts.map +1 -1
- package/dist/files-io.js +1 -7
- package/dist/files-io.js.map +1 -1
- package/dist/fs-presence.d.ts +12 -0
- package/dist/fs-presence.d.ts.map +1 -0
- package/dist/fs-presence.js +35 -0
- package/dist/fs-presence.js.map +1 -0
- package/dist/git-nested-repositories.d.ts.map +1 -1
- package/dist/git-nested-repositories.js +11 -2
- package/dist/git-nested-repositories.js.map +1 -1
- package/dist/git-observed.d.ts +75 -0
- package/dist/git-observed.d.ts.map +1 -0
- package/dist/git-observed.js +172 -0
- package/dist/git-observed.js.map +1 -0
- package/dist/git-result.d.ts +36 -0
- package/dist/git-result.d.ts.map +1 -0
- package/dist/git-result.js +96 -0
- package/dist/git-result.js.map +1 -0
- package/dist/git-run.d.ts +11 -0
- package/dist/git-run.d.ts.map +1 -1
- package/dist/git-run.js +24 -0
- package/dist/git-run.js.map +1 -1
- package/dist/git-snapshot.d.ts +40 -0
- package/dist/git-snapshot.d.ts.map +1 -0
- package/dist/git-snapshot.js +238 -0
- package/dist/git-snapshot.js.map +1 -0
- package/dist/git-transient-capture.d.ts +63 -16
- package/dist/git-transient-capture.d.ts.map +1 -1
- package/dist/git-transient-capture.js +170 -57
- package/dist/git-transient-capture.js.map +1 -1
- package/dist/git.d.ts +46 -21
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +164 -103
- package/dist/git.js.map +1 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/lanes.d.ts +2 -1
- package/dist/lanes.d.ts.map +1 -1
- package/dist/lanes.js +7 -6
- package/dist/lanes.js.map +1 -1
- package/dist/manager.d.ts +21 -7
- package/dist/manager.d.ts.map +1 -1
- package/dist/manager.js +30 -17
- package/dist/manager.js.map +1 -1
- package/dist/object-compose.d.ts +58 -0
- package/dist/object-compose.d.ts.map +1 -0
- package/dist/object-compose.js +444 -0
- package/dist/object-compose.js.map +1 -0
- package/dist/object-materialize.d.ts +52 -0
- package/dist/object-materialize.d.ts.map +1 -0
- package/dist/object-materialize.js +467 -0
- package/dist/object-materialize.js.map +1 -0
- package/dist/object-occupied.d.ts +27 -0
- package/dist/object-occupied.d.ts.map +1 -0
- package/dist/object-occupied.js +131 -0
- package/dist/object-occupied.js.map +1 -0
- package/dist/object-revert.d.ts +45 -0
- package/dist/object-revert.d.ts.map +1 -0
- package/dist/object-revert.js +265 -0
- package/dist/object-revert.js.map +1 -0
- package/dist/object-saved-files.d.ts +50 -0
- package/dist/object-saved-files.d.ts.map +1 -0
- package/dist/object-saved-files.js +176 -0
- package/dist/object-saved-files.js.map +1 -0
- package/dist/object-sparse.d.ts +22 -0
- package/dist/object-sparse.d.ts.map +1 -0
- package/dist/object-sparse.js +72 -0
- package/dist/object-sparse.js.map +1 -0
- package/dist/object-store-leases.d.ts +41 -0
- package/dist/object-store-leases.d.ts.map +1 -0
- package/dist/object-store-leases.js +277 -0
- package/dist/object-store-leases.js.map +1 -0
- package/dist/object-store-roots.d.ts +25 -0
- package/dist/object-store-roots.d.ts.map +1 -0
- package/dist/object-store-roots.js +114 -0
- package/dist/object-store-roots.js.map +1 -0
- package/dist/object-store.d.ts +110 -0
- package/dist/object-store.d.ts.map +1 -0
- package/dist/object-store.js +404 -0
- package/dist/object-store.js.map +1 -0
- package/dist/object-transfer.d.ts +41 -0
- package/dist/object-transfer.d.ts.map +1 -0
- package/dist/object-transfer.js +267 -0
- package/dist/object-transfer.js.map +1 -0
- package/dist/plain-diff-capture.d.ts +1 -2
- package/dist/plain-diff-capture.d.ts.map +1 -1
- package/dist/plain-diff-capture.js +2 -7
- package/dist/plain-diff-capture.js.map +1 -1
- package/dist/plain-diff.d.ts +0 -4
- package/dist/plain-diff.d.ts.map +1 -1
- package/dist/plain-diff.js +2 -44
- package/dist/plain-diff.js.map +1 -1
- package/dist/raw-patch.d.ts.map +1 -1
- package/dist/raw-patch.js +5 -8
- package/dist/raw-patch.js.map +1 -1
- package/dist/run-expiry.d.ts +3 -0
- package/dist/run-expiry.d.ts.map +1 -0
- package/dist/run-expiry.js +15 -0
- package/dist/run-expiry.js.map +1 -0
- package/dist/thread-tree.d.ts +36 -2
- package/dist/thread-tree.d.ts.map +1 -1
- package/dist/thread-tree.js +87 -11
- package/dist/thread-tree.js.map +1 -1
- package/package.json +5 -5
package/dist/git.js
CHANGED
|
@@ -1,24 +1,18 @@
|
|
|
1
|
-
import { existsSync, mkdtempSync, rmSync } from "node:fs";
|
|
1
|
+
import { appendFileSync, existsSync, lstatSync, mkdtempSync, readFileSync, rmSync, statSync, } from "node:fs";
|
|
2
2
|
import { tmpdir } from "node:os";
|
|
3
|
-
import { join } from "node:path";
|
|
3
|
+
import { basename, dirname, join, resolve, sep } from "node:path";
|
|
4
4
|
import { assertCaptureComplete, runCaptureRaw, WorkspaceError } from "@claudexor/core";
|
|
5
5
|
import { isClaudexorOwnedRuntimePath } from "@claudexor/util";
|
|
6
6
|
import { initializeGitRepository, } from "./git-initialization.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
export { git } from "./git-run.js";
|
|
7
|
+
import { assertNoBinaryStubs, git, gitEnv, SCRATCH_INDEX_CONFIG } from "./git-run.js";
|
|
8
|
+
import { diskProgress, gitObserved } from "./git-observed.js";
|
|
9
|
+
export { git, revParse } from "./git-run.js";
|
|
10
10
|
export { captureWorkingTreeTransient, diffWorkingTreeTransient } from "./git-transient-capture.js";
|
|
11
11
|
export { GitBoundaryRootRefusedError, GitInitializationError, } from "./git-initialization.js";
|
|
12
12
|
export async function isGitRepo(repo) {
|
|
13
13
|
const r = await git(repo, ["rev-parse", "--is-inside-work-tree"]);
|
|
14
14
|
return r.code === 0 && r.stdout.trim() === "true";
|
|
15
15
|
}
|
|
16
|
-
export async function revParse(repo, ref) {
|
|
17
|
-
const r = await git(repo, ["rev-parse", ref]);
|
|
18
|
-
if (r.code !== 0)
|
|
19
|
-
throw new WorkspaceError(`git rev-parse ${ref} failed: ${r.stderr.trim()}`);
|
|
20
|
-
return r.stdout.trim();
|
|
21
|
-
}
|
|
22
16
|
/**
|
|
23
17
|
* Make a project folder usable as a git boundary for write-mode runs.
|
|
24
18
|
*
|
|
@@ -38,90 +32,7 @@ export async function ensureGitRepository(repo, dependencies = {}) {
|
|
|
38
32
|
export async function statusPorcelain(repo) {
|
|
39
33
|
return (await git(repo, ["status", "--porcelain"])).stdout;
|
|
40
34
|
}
|
|
41
|
-
|
|
42
|
-
* Capture the full dirty working tree (tracked AND untracked) as a dangling
|
|
43
|
-
* commit; null if clean. Plain `git stash create` captures only TRACKED
|
|
44
|
-
* changes, silently dropping the user's new-but-unstaged files from the run's
|
|
45
|
-
* base. We instead seed a scratch index from HEAD, `add -A` into it (which
|
|
46
|
-
* respects .gitignore, so run artifacts stay out), and commit-tree the result.
|
|
47
|
-
*/
|
|
48
|
-
export async function stashCreate(repo) {
|
|
49
|
-
// NUL form is filename-faithful (newlines, quotes and whitespace are legal
|
|
50
|
-
// path bytes). Runtime is external, so every reported path is user state.
|
|
51
|
-
const status = await git(repo, ["status", "--porcelain=v1", "-z", "--untracked-files=all"]);
|
|
52
|
-
if (status.code !== 0)
|
|
53
|
-
throw new WorkspaceError(`snapshot status failed: ${status.stderr.trim()}`);
|
|
54
|
-
if (status.stdout.length === 0)
|
|
55
|
-
return null;
|
|
56
|
-
const head = await git(repo, ["rev-parse", "HEAD"]);
|
|
57
|
-
if (head.code !== 0)
|
|
58
|
-
throw new WorkspaceError(`snapshot rev-parse HEAD failed: ${head.stderr.trim()}`);
|
|
59
|
-
const headSha = head.stdout.trim();
|
|
60
|
-
// Unique per call: concurrent envelope creates (a best_of_n wave) must never
|
|
61
|
-
// collide on the scratch index (same pid + same millisecond is real). It lives
|
|
62
|
-
// in the OS temp dir, NOT under `<repo>/.git` — in a linked worktree `.git` is
|
|
63
|
-
// a FILE (gitdir pointer), so a scratch path there fails (review #8).
|
|
64
|
-
const scratchDir = mkdtempSync(join(tmpdir(), "claudexor-snapshot-index-"));
|
|
65
|
-
const tmpIndex = join(scratchDir, "index");
|
|
66
|
-
const env = {
|
|
67
|
-
GIT_INDEX_FILE: tmpIndex,
|
|
68
|
-
GIT_AUTHOR_NAME: "Claudexor",
|
|
69
|
-
GIT_AUTHOR_EMAIL: "noreply@claudexor.local",
|
|
70
|
-
GIT_COMMITTER_NAME: "Claudexor",
|
|
71
|
-
GIT_COMMITTER_EMAIL: "noreply@claudexor.local",
|
|
72
|
-
};
|
|
73
|
-
try {
|
|
74
|
-
const read = await gitEnv(repo, ["read-tree", "HEAD"], env);
|
|
75
|
-
if (read.code !== 0)
|
|
76
|
-
throw new WorkspaceError(`snapshot read-tree failed: ${read.stderr.trim()}`);
|
|
77
|
-
// Bare add runs only against the scratch index. It respects the project's
|
|
78
|
-
// own ignore policy without changing the live index. `.claudexor/` is not a
|
|
79
|
-
// runtime exception in v2: tracked or untracked project config is user state.
|
|
80
|
-
// An undeclared nested repository stays out, as in the candidate capture:
|
|
81
|
-
// `add` refuses one without a commit and would freeze one with a commit as
|
|
82
|
-
// a commit link (`:/` keeps the whole-tree scope of the bare add).
|
|
83
|
-
const nested = await untrackedNestedRepositories(repo, env, [":/"], "snapshot");
|
|
84
|
-
const add = await gitEnv(repo, ["add", "-A", ...(nested.length ? ["--", ":/", ...nestedRepositoryExcludes(nested)] : [])], env);
|
|
85
|
-
if (add.code !== 0)
|
|
86
|
-
throw new WorkspaceError(`snapshot add -A failed: ${add.stderr.trim()}`);
|
|
87
|
-
const writeTree = await gitEnv(repo, ["write-tree"], env);
|
|
88
|
-
if (writeTree.code !== 0)
|
|
89
|
-
throw new WorkspaceError(`snapshot write-tree failed: ${writeTree.stderr.trim()}`);
|
|
90
|
-
const tree = writeTree.stdout.trim();
|
|
91
|
-
const commit = await gitEnv(repo, [
|
|
92
|
-
"commit-tree",
|
|
93
|
-
tree,
|
|
94
|
-
"-p",
|
|
95
|
-
headSha,
|
|
96
|
-
"-m",
|
|
97
|
-
"claudexor: dirty worktree snapshot (incl. untracked)",
|
|
98
|
-
], env);
|
|
99
|
-
if (commit.code !== 0)
|
|
100
|
-
throw new WorkspaceError(`snapshot commit-tree failed: ${commit.stderr.trim()}`);
|
|
101
|
-
const sha = commit.stdout.trim();
|
|
102
|
-
return sha.length > 0 ? sha : null;
|
|
103
|
-
}
|
|
104
|
-
finally {
|
|
105
|
-
try {
|
|
106
|
-
rmSync(scratchDir, { recursive: true, force: true });
|
|
107
|
-
}
|
|
108
|
-
catch {
|
|
109
|
-
/* scratch index cleanup is best-effort */
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Capture the CURRENT working-tree state (tracked + untracked, minus `.claudexor`)
|
|
115
|
-
* as a commit sha — always returns one. Dirty trees become a dangling snapshot
|
|
116
|
-
* commit (via `stashCreate`); a clean tree resolves to HEAD. This is the per-turn
|
|
117
|
-
* diff base for in-place threads: snapshot at turn start, snapshot at turn end,
|
|
118
|
-
* `diffTrees(base, end)` yields exactly that turn's net change (pre-existing dirty
|
|
119
|
-
* state is folded into `base`, so the reviewer never sees prior turns' edits).
|
|
120
|
-
*/
|
|
121
|
-
export async function snapshotTree(repo) {
|
|
122
|
-
const snap = await stashCreate(repo);
|
|
123
|
-
return snap ?? (await revParse(repo, "HEAD"));
|
|
124
|
-
}
|
|
35
|
+
export { snapshotTree, stashCreate } from "./git-snapshot.js";
|
|
125
36
|
/** Net diff between two tree-ish shas (used for in-place per-turn diffs).
|
|
126
37
|
* `--binary`: binary changes carry an APPLYABLE payload instead of
|
|
127
38
|
* degrading to a "Binary files differ" stub that silently loses the work. */
|
|
@@ -144,17 +55,17 @@ export async function materializePatchTree(repo, baseSha, diff) {
|
|
|
144
55
|
const indexPath = join(scratchDir, "index");
|
|
145
56
|
const env = { GIT_INDEX_FILE: indexPath, GIT_OPTIONAL_LOCKS: "0" };
|
|
146
57
|
try {
|
|
147
|
-
const read = await gitEnv(repo, ["read-tree", baseSha], env);
|
|
58
|
+
const read = await gitEnv(repo, [...SCRATCH_INDEX_CONFIG, "read-tree", baseSha], env);
|
|
148
59
|
if (read.code !== 0) {
|
|
149
60
|
throw new WorkspaceError(`git read-tree ${baseSha} failed during patch materialization: ${read.stderr.trim()}`);
|
|
150
61
|
}
|
|
151
62
|
if (diff.trim()) {
|
|
152
|
-
const applied = await gitEnv(repo, ["apply", "--cached", "--whitespace=nowarn", "-"], env, diff);
|
|
63
|
+
const applied = await gitEnv(repo, [...SCRATCH_INDEX_CONFIG, "apply", "--cached", "--whitespace=nowarn", "-"], env, diff);
|
|
153
64
|
if (applied.code !== 0) {
|
|
154
65
|
throw new WorkspaceError(`scratch git apply failed during patch materialization: ${applied.stderr.trim()}`);
|
|
155
66
|
}
|
|
156
67
|
}
|
|
157
|
-
const written = await gitEnv(repo, ["write-tree"], env);
|
|
68
|
+
const written = await gitEnv(repo, [...SCRATCH_INDEX_CONFIG, "write-tree"], env);
|
|
158
69
|
if (written.code !== 0) {
|
|
159
70
|
throw new WorkspaceError(`scratch git write-tree failed: ${written.stderr.trim()}`);
|
|
160
71
|
}
|
|
@@ -170,20 +81,35 @@ export async function materializePatchTree(repo, baseSha, diff) {
|
|
|
170
81
|
}
|
|
171
82
|
}
|
|
172
83
|
export async function worktreeAdd(repo, path, branch, baseSha) {
|
|
173
|
-
const r = await
|
|
84
|
+
const r = await gitObserved(repo, ["worktree", "add", "-b", branch, path, baseSha], {
|
|
85
|
+
label: "worktree add",
|
|
86
|
+
progress: diskProgress(repo),
|
|
87
|
+
allowFailure: true,
|
|
88
|
+
});
|
|
174
89
|
if (r.code !== 0)
|
|
175
90
|
throw new WorkspaceError(`git worktree add failed: ${r.stderr.trim()}`);
|
|
176
91
|
}
|
|
177
92
|
/** Disposable candidate checkout with private refs/index/objects. The source
|
|
178
93
|
* repository is only an object alternate, so harness `git add`/`commit` cannot
|
|
179
|
-
* write candidate blobs or refs into the user's repository.
|
|
180
|
-
|
|
94
|
+
* write candidate blobs or refs into the user's repository. Claudexor's own
|
|
95
|
+
* clone lists the project object store as a SECOND alternate (#535 D2): a
|
|
96
|
+
* dirty base resolves after the user's prune; the user repo never gets it. */
|
|
97
|
+
export async function isolatedCloneAdd(repo, path, branch, baseSha, storeObjects) {
|
|
181
98
|
const cloned = await runCaptureRaw("git", ["clone", "--shared", "--no-checkout", "--", repo, path], { timeoutMs: 120_000, windowsConsole: "none" });
|
|
182
99
|
assertCaptureComplete(cloned);
|
|
183
100
|
if (cloned.code !== 0) {
|
|
184
101
|
throw new WorkspaceError(`isolated clone failed: ${cloned.stderr.trim()}`);
|
|
185
102
|
}
|
|
186
|
-
|
|
103
|
+
if (storeObjects && existsSync(storeObjects)) {
|
|
104
|
+
const alternates = join(path, ".git", "objects", "info", "alternates");
|
|
105
|
+
appendFileSync(alternates, `${storeObjects}\n`);
|
|
106
|
+
}
|
|
107
|
+
// A large checkout may take long: only a stall (no disk progress) stops it.
|
|
108
|
+
const checkout = await gitObserved(path, ["checkout", "-q", "-b", branch, baseSha], {
|
|
109
|
+
label: "checkout (isolated clone)",
|
|
110
|
+
progress: diskProgress(path),
|
|
111
|
+
allowFailure: true,
|
|
112
|
+
});
|
|
187
113
|
if (checkout.code !== 0) {
|
|
188
114
|
throw new WorkspaceError(`isolated clone checkout failed: ${checkout.stderr.trim()}`);
|
|
189
115
|
}
|
|
@@ -205,9 +131,122 @@ export async function worktreeAddExisting(repo, path, branch) {
|
|
|
205
131
|
if (r.code !== 0)
|
|
206
132
|
throw new WorkspaceError(`git worktree add (existing branch) failed: ${r.stderr.trim()}`);
|
|
207
133
|
}
|
|
134
|
+
/** Best-effort: Git's exit status is ignored. An owner that must not report a
|
|
135
|
+
* refused removal as done uses `worktreeRemoveRegistered`. */
|
|
208
136
|
export async function worktreeRemove(repo, path) {
|
|
209
137
|
await git(repo, ["worktree", "remove", "--force", path]);
|
|
210
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Deregister the linked worktree Git records at `path`; Git deletes its
|
|
141
|
+
* directory too. A path Git does not register is already removed. A refusal
|
|
142
|
+
* (a locked worktree, an unreadable registration) throws and leaves the
|
|
143
|
+
* registration and the directory as they were. A directory Git cannot delete
|
|
144
|
+
* (a permission error) throws after Git deleted the registration: the
|
|
145
|
+
* directory stays, its `.git` file naming what is gone. The registration is
|
|
146
|
+
* found by `samePlace` and removed in Git's own spelling, so a stale one whose
|
|
147
|
+
* directory is gone still goes. Git prints porcelain paths unquoted, one per
|
|
148
|
+
* line, so a path holding a line break cannot be read back and is refused
|
|
149
|
+
* rather than reported absent. `beforeRemove` runs once Git is known to
|
|
150
|
+
* register the path, right before the removal.
|
|
151
|
+
*/
|
|
152
|
+
export async function worktreeRemoveRegistered(repo, path, beforeRemove = async () => { }) {
|
|
153
|
+
if (path.includes("\n")) {
|
|
154
|
+
throw new WorkspaceError(`worktree path has a line break that git worktree list cannot report: ${JSON.stringify(path)}`);
|
|
155
|
+
}
|
|
156
|
+
const listed = await git(repo, ["worktree", "list", "--porcelain"]);
|
|
157
|
+
if (listed.code !== 0) {
|
|
158
|
+
throw new WorkspaceError(`git worktree list failed: ${listed.stderr.trim()}`);
|
|
159
|
+
}
|
|
160
|
+
const registered = worktreePaths(listed.stdout).find((entry) => samePlace(entry, path));
|
|
161
|
+
if (registered === undefined)
|
|
162
|
+
return;
|
|
163
|
+
await beforeRemove();
|
|
164
|
+
const r = await git(repo, ["worktree", "remove", "--force", registered]);
|
|
165
|
+
if (r.code !== 0)
|
|
166
|
+
throw new WorkspaceError(`git worktree remove failed: ${r.stderr.trim()}`);
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* The common Git directory of the repository that registered the linked
|
|
170
|
+
* worktree at `path`, from Git's own records: the worktree's `.git` file names
|
|
171
|
+
* its registration, which must still exist and name this worktree back. Null
|
|
172
|
+
* when `path` holds no such file. A registration that is gone or names another
|
|
173
|
+
* worktree is what a moved or deleted repository leaves, and also a removal
|
|
174
|
+
* that deleted the registration but not the directory
|
|
175
|
+
* (`worktreeRemoveRegistered`; a later worktree can take the freed name).
|
|
176
|
+
* `recorded`, called only then, tells them apart: the common Git directory a
|
|
177
|
+
* caller kept from before its removal is returned when the registration was
|
|
178
|
+
* in it. Otherwise this throws, since whatever a moved repository still
|
|
179
|
+
* records cannot be proven gone.
|
|
180
|
+
*/
|
|
181
|
+
export function worktreeRepository(path, recorded = () => null) {
|
|
182
|
+
const gitfile = join(path, ".git");
|
|
183
|
+
const pointer = /^gitdir: (.+)$/m.exec(plainText(gitfile) ?? "")?.[1]?.trimEnd();
|
|
184
|
+
if (!pointer)
|
|
185
|
+
return null;
|
|
186
|
+
const registration = resolve(path, pointer);
|
|
187
|
+
const named = plainText(join(registration, "gitdir"))?.trimEnd();
|
|
188
|
+
if (named && samePlace(resolve(registration, named), gitfile))
|
|
189
|
+
return resolve(registration, readFileSync(join(registration, "commondir"), "utf8").trimEnd());
|
|
190
|
+
const gitDir = recorded();
|
|
191
|
+
if (gitDir !== null && samePlace(dirname(registration), join(gitDir, "worktrees")))
|
|
192
|
+
return gitDir;
|
|
193
|
+
throw new WorkspaceError(`Git no longer registers worktree ${path} at ${registration}: its repository moved or was deleted; if it moved, run "git worktree repair" in it so the next attempt can finish this cleanup`);
|
|
194
|
+
}
|
|
195
|
+
/** The common Git directory of the repository `dir` is in; throws when Git cannot tell. */
|
|
196
|
+
export async function gitCommonDir(dir) {
|
|
197
|
+
const r = await git(dir, ["rev-parse", "--git-common-dir"]);
|
|
198
|
+
if (r.code !== 0) {
|
|
199
|
+
throw new WorkspaceError(`git rev-parse --git-common-dir failed: ${r.stderr.trim()}`);
|
|
200
|
+
}
|
|
201
|
+
return resolve(dir, r.stdout.trim());
|
|
202
|
+
}
|
|
203
|
+
/** A regular file's text, or null when nothing (or no regular file) is there. */
|
|
204
|
+
function plainText(file) {
|
|
205
|
+
try {
|
|
206
|
+
return lstatSync(file).isFile() ? readFileSync(file, "utf8") : null;
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
if (absent(error))
|
|
210
|
+
return null;
|
|
211
|
+
throw error;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Whether two spellings name the same place: the deepest existing part of
|
|
216
|
+
* each is one file by identity, so the filesystem itself decides about letter
|
|
217
|
+
* case, links and Unicode normalization, and the names below it are equal.
|
|
218
|
+
* Without a usable identity the spellings must match exactly.
|
|
219
|
+
*/
|
|
220
|
+
function samePlace(a, b) {
|
|
221
|
+
if (resolve(a) === resolve(b))
|
|
222
|
+
return true;
|
|
223
|
+
const [x, y] = [existingPart(a), existingPart(b)];
|
|
224
|
+
if (x.rest !== y.rest)
|
|
225
|
+
return false;
|
|
226
|
+
if (!x.stat || !y.stat || x.stat.ino === 0n || y.stat.ino === 0n)
|
|
227
|
+
return x.path === y.path;
|
|
228
|
+
return x.stat.dev === y.stat.dev && x.stat.ino === y.stat.ino;
|
|
229
|
+
}
|
|
230
|
+
function existingPart(path) {
|
|
231
|
+
const rest = [];
|
|
232
|
+
for (let current = resolve(path);; current = dirname(current)) {
|
|
233
|
+
let stat = null;
|
|
234
|
+
try {
|
|
235
|
+
stat = statSync(current, { bigint: true });
|
|
236
|
+
}
|
|
237
|
+
catch (error) {
|
|
238
|
+
if (!absent(error))
|
|
239
|
+
throw error;
|
|
240
|
+
}
|
|
241
|
+
if (stat || dirname(current) === current)
|
|
242
|
+
return { path: current, stat, rest: rest.join(sep) };
|
|
243
|
+
rest.unshift(basename(current));
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
function absent(error) {
|
|
247
|
+
const code = error.code;
|
|
248
|
+
return code === "ENOENT" || code === "ENOTDIR";
|
|
249
|
+
}
|
|
211
250
|
async function runProtectedApply(repo, diff, options) {
|
|
212
251
|
if (!diff.trim())
|
|
213
252
|
return { ok: true, treeMutated: false, detail: "empty patch; no-op" };
|
|
@@ -280,7 +319,10 @@ async function worktreeList(repo) {
|
|
|
280
319
|
const r = await git(repo, ["worktree", "list", "--porcelain"]);
|
|
281
320
|
if (r.code !== 0)
|
|
282
321
|
return [];
|
|
283
|
-
return r.stdout
|
|
322
|
+
return worktreePaths(r.stdout);
|
|
323
|
+
}
|
|
324
|
+
function worktreePaths(porcelain) {
|
|
325
|
+
return porcelain
|
|
284
326
|
.split("\n")
|
|
285
327
|
.filter((line) => line.startsWith("worktree "))
|
|
286
328
|
.map((line) => line.slice("worktree ".length).trim())
|
|
@@ -318,4 +360,23 @@ export async function worktreePrune(repo) {
|
|
|
318
360
|
export async function branchDelete(repo, branch) {
|
|
319
361
|
await git(repo, ["branch", "-D", branch]);
|
|
320
362
|
}
|
|
363
|
+
/**
|
|
364
|
+
* Delete a local branch, or throw when Git refuses (a held ref lock, a
|
|
365
|
+
* worktree that still uses it). An absent branch is already deleted. Presence
|
|
366
|
+
* is read first because `branch -D` reports "not found" and a refusal with the
|
|
367
|
+
* same exit code. `beforeDelete` runs only for a present branch, right before
|
|
368
|
+
* the deletion.
|
|
369
|
+
*/
|
|
370
|
+
export async function branchDeleteIfPresent(repo, branch, beforeDelete = async () => { }) {
|
|
371
|
+
const present = await git(repo, ["show-ref", "--verify", "--quiet", `refs/heads/${branch}`]);
|
|
372
|
+
if (present.code === 1)
|
|
373
|
+
return;
|
|
374
|
+
if (present.code !== 0) {
|
|
375
|
+
throw new WorkspaceError(`git show-ref ${branch} failed: ${present.stderr.trim()}`);
|
|
376
|
+
}
|
|
377
|
+
await beforeDelete();
|
|
378
|
+
const r = await git(repo, ["branch", "-D", branch]);
|
|
379
|
+
if (r.code !== 0)
|
|
380
|
+
throw new WorkspaceError(`git branch -D ${branch} failed: ${r.stderr.trim()}`);
|
|
381
|
+
}
|
|
321
382
|
//# sourceMappingURL=git.js.map
|
package/dist/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,6 +15,14 @@ export * from "./directory-workspace.js";
|
|
|
15
15
|
export * from "./files-io.js";
|
|
16
16
|
export * from "./files-apply.js";
|
|
17
17
|
export * from "./continuation-sources.js";
|
|
18
|
+
export * from "./continuation-facts.js";
|
|
18
19
|
export * from "./auxiliary-writable-roots.js";
|
|
19
|
-
export { readContinuationEvidence, readSessionCapsule, runFilesExpired, } from "./continuation-evidence.js";
|
|
20
|
+
export { continuationSource, ownsContinuationSource, readContinuationEvidence, readSessionCapsule, runFilesExpired, unrepresentedOutput, } from "./continuation-evidence.js";
|
|
21
|
+
export * from "./git-observed.js";
|
|
22
|
+
export * from "./git-result.js";
|
|
23
|
+
export * from "./object-store.js";
|
|
24
|
+
export * from "./object-compose.js";
|
|
25
|
+
export * from "./object-materialize.js";
|
|
26
|
+
export * from "./object-saved-files.js";
|
|
27
|
+
export * from "./object-revert.js";
|
|
20
28
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAE9C,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAE9C,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -15,6 +15,14 @@ export * from "./directory-workspace.js";
|
|
|
15
15
|
export * from "./files-io.js";
|
|
16
16
|
export * from "./files-apply.js";
|
|
17
17
|
export * from "./continuation-sources.js";
|
|
18
|
+
export * from "./continuation-facts.js";
|
|
18
19
|
export * from "./auxiliary-writable-roots.js";
|
|
19
|
-
export { readContinuationEvidence, readSessionCapsule, runFilesExpired, } from "./continuation-evidence.js";
|
|
20
|
+
export { continuationSource, ownsContinuationSource, readContinuationEvidence, readSessionCapsule, runFilesExpired, unrepresentedOutput, } from "./continuation-evidence.js";
|
|
21
|
+
export * from "./git-observed.js";
|
|
22
|
+
export * from "./git-result.js";
|
|
23
|
+
export * from "./object-store.js";
|
|
24
|
+
export * from "./object-compose.js";
|
|
25
|
+
export * from "./object-materialize.js";
|
|
26
|
+
export * from "./object-saved-files.js";
|
|
27
|
+
export * from "./object-revert.js";
|
|
20
28
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAE9C,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAE9C,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC"}
|
package/dist/lanes.d.ts
CHANGED
|
@@ -25,7 +25,8 @@ export declare function writeThreadSummary(projectRoot: string, threadId: string
|
|
|
25
25
|
/**
|
|
26
26
|
* Lifecycle owner (a): remove every lane home of one thread. Called on thread
|
|
27
27
|
* PURGE (mirrors `purgeThreadWorktree`) so a purged conversation leaves no
|
|
28
|
-
* durable scoped home behind.
|
|
28
|
+
* durable scoped home behind. Like the other two owners it refuses a link
|
|
29
|
+
* above the thread's dir (`ownedProjectRuntimeDir`) and only unlinks one at it.
|
|
29
30
|
*/
|
|
30
31
|
export declare function purgeThreadLanes(projectRoot: string, threadId: string): void;
|
|
31
32
|
/** Whether a lane home of one thread is still on disk: `purgeThreadLanes`
|
package/dist/lanes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lanes.d.ts","sourceRoot":"","sources":["../src/lanes.ts"],"names":[],"mappings":"AAsCA;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,CAUR;AAED,MAAM,WAAW,WAAW;IAC1B,qFAAqF;IACrF,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,WAAW,CAMb;AAuBD,sFAAsF;AACtF,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAaf;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,IAAI,CAIN;AAUD
|
|
1
|
+
{"version":3,"file":"lanes.d.ts","sourceRoot":"","sources":["../src/lanes.ts"],"names":[],"mappings":"AAsCA;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,CAUR;AAED,MAAM,WAAW,WAAW;IAC1B,qFAAqF;IACrF,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,WAAW,CAMb;AAuBD,sFAAsF;AACtF,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAaf;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,IAAI,CAIN;AAUD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAM5E;AAED;gFACgF;AAChF,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE/E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,CAYR;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjG;AAED,uEAAuE;AACvE,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,MAAM,CAER;AAuBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAe1F"}
|
package/dist/lanes.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { existsSync, readFileSync, readdirSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { join, sep } from "node:path";
|
|
3
3
|
import { WorkspaceError } from "@claudexor/core";
|
|
4
|
-
import { ensureDir, projectRuntimeDir } from "@claudexor/util";
|
|
4
|
+
import { ensureDir, ownedProjectRuntimeDir, projectRuntimeDir } from "@claudexor/util";
|
|
5
5
|
import { ensureHarnessHome, harnessHomeEnv } from "./harness-home.js";
|
|
6
6
|
/**
|
|
7
7
|
* DURABLE per-lane read-only homes (INV-034). A "lane" is a
|
|
@@ -114,11 +114,12 @@ function safeReaddir(dir) {
|
|
|
114
114
|
/**
|
|
115
115
|
* Lifecycle owner (a): remove every lane home of one thread. Called on thread
|
|
116
116
|
* PURGE (mirrors `purgeThreadWorktree`) so a purged conversation leaves no
|
|
117
|
-
* durable scoped home behind.
|
|
117
|
+
* durable scoped home behind. Like the other two owners it refuses a link
|
|
118
|
+
* above the thread's dir (`ownedProjectRuntimeDir`) and only unlinks one at it.
|
|
118
119
|
*/
|
|
119
120
|
export function purgeThreadLanes(projectRoot, threadId) {
|
|
120
121
|
assertSafeSegment("threadId", threadId);
|
|
121
|
-
const root =
|
|
122
|
+
const root = ownedProjectRuntimeDir(projectRoot, "lanes");
|
|
122
123
|
const threadDir = join(root, threadId);
|
|
123
124
|
if (!threadDir.startsWith(root + sep))
|
|
124
125
|
return;
|
|
@@ -137,10 +138,10 @@ export function threadLanesExist(projectRoot, threadId) {
|
|
|
137
138
|
*/
|
|
138
139
|
export function purgeProfileLanes(projectRoot, harnessId, profileId) {
|
|
139
140
|
const laneSeg = `${harnessId}-${profileId}`;
|
|
140
|
-
const root =
|
|
141
|
+
const root = ownedProjectRuntimeDir(projectRoot, "lanes");
|
|
141
142
|
let removed = 0;
|
|
142
143
|
for (const threadId of safeReaddir(root)) {
|
|
143
|
-
const laneDir = join(
|
|
144
|
+
const laneDir = join(ownedProjectRuntimeDir(projectRoot, "lanes", threadId), laneSeg);
|
|
144
145
|
if (laneDir.startsWith(root + sep) && existsSync(laneDir)) {
|
|
145
146
|
rmSync(laneDir, { recursive: true, force: true });
|
|
146
147
|
removed += 1;
|
|
@@ -195,7 +196,7 @@ function renameLanes(projectRoot, fromSeg, toSeg) {
|
|
|
195
196
|
*/
|
|
196
197
|
export function sweepOrphanLanes(projectRoot, liveThreadIds) {
|
|
197
198
|
const actions = [];
|
|
198
|
-
const root =
|
|
199
|
+
const root = ownedProjectRuntimeDir(projectRoot, "lanes");
|
|
199
200
|
for (const threadId of safeReaddir(root)) {
|
|
200
201
|
if (liveThreadIds.has(threadId))
|
|
201
202
|
continue;
|
package/dist/lanes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lanes.js","sourceRoot":"","sources":["../src/lanes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnG,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"lanes.js","sourceRoot":"","sources":["../src/lanes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnG,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtE;;;;;;;;;;;;GAYG;AAEH,MAAM,YAAY,GAAG,mBAAmB,CAAC;AAEzC,SAAS,iBAAiB,CAAC,KAAa,EAAE,KAAa;IACrD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjE,MAAM,IAAI,cAAc,CAAC,GAAG,KAAK,KAAK,KAAK,8BAA8B,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,SAAS,kBAAkB,CAAC,SAAwB;IAClD,OAAO,SAAS,IAAI,SAAS,CAAC;AAChC,CAAC;AAED,oFAAoF;AACpF,SAAS,YAAY,CAAC,WAAmB;IACvC,OAAO,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,WAAmB,EACnB,QAAgB,EAChB,SAAiB,EACjB,SAAwB;IAExB,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;IAChE,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,cAAc,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AASD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,WAAmB,EACnB,QAAgB,EAChB,SAAiB,EACjB,SAAwB;IAExB,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACzE,OAAO;QACL,OAAO;QACP,GAAG,EAAE,cAAc,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,iBAAiB,CAAC,WAAmB,EAAE,QAAgB,EAAE,UAAkB;IAClF,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACxC,iBAAiB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,UAAU,KAAK,CAAC,CAAC;IACnE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,cAAc,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,iBAAiB,CAC/B,WAAmB,EACnB,QAAgB,EAChB,UAAkB;IAElB,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,kBAAkB,CAChC,WAAmB,EACnB,QAAgB,EAChB,UAAkB,EAClB,IAAY;IAEZ,MAAM,IAAI,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrF,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5B,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,CAAC;QACH,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB,EAAE,QAAgB;IACpE,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO;IAC9C,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC;AAED;gFACgF;AAChF,MAAM,UAAU,gBAAgB,CAAC,WAAmB,EAAE,QAAgB;IACpE,OAAO,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AAClF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,WAAmB,EACnB,SAAiB,EACjB,SAAiB;IAEjB,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAG,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1D,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QACtF,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1D,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB,EAAE,SAAiB,EAAE,KAAa;IACvF,OAAO,WAAW,CAAC,WAAW,EAAE,GAAG,SAAS,UAAU,EAAE,GAAG,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,oBAAoB,CAClC,WAAmB,EACnB,SAAiB,EACjB,KAAa;IAEb,OAAO,WAAW,CAAC,WAAW,EAAE,GAAG,SAAS,IAAI,KAAK,EAAE,EAAE,GAAG,SAAS,UAAU,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,WAAW,CAAC,WAAmB,EAAE,OAAe,EAAE,KAAa;IACtE,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,YAAY,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1D,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC;YAAE,SAAS;QACzE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC;YAAE,SAAS;QAClD,IAAI,CAAC;YACH,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP;+EACmE;QACrE,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB,EAAE,aAA0B;IAC9E,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,sBAAsB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1D,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,SAAS;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC;YAAE,SAAS;QAChD,IAAI,CAAC;YACH,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,2BAA2B,QAAQ,UAAU,WAAW,EAAE,CAAC,CAAC;QAC3E,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;QACrE,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/manager.d.ts
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
import type { AccessProfile, DirtyPolicy, WorkspaceEnvelope, WorkspaceKind } from "@claudexor/schema";
|
|
1
|
+
import type { AccessProfile, CaptureChangeInventory, DirtyPolicy, GitObjectResult, PatchViewUnavailable, WorkspaceEnvelope, WorkspaceKind } from "@claudexor/schema";
|
|
2
2
|
import { type LaneHomeEnv } from "./lanes.js";
|
|
3
3
|
import { type CapturedWorkspaceFiles } from "./directory-workspace.js";
|
|
4
|
-
/** One candidate capture. `diff` is
|
|
5
|
-
*
|
|
4
|
+
/** One candidate capture. `diff` is the exact patch every consumer (apply,
|
|
5
|
+
* synthesis, review, digests, saved copies) reads (INV-146). */
|
|
6
6
|
export interface CapturedWorkspaceDiff {
|
|
7
7
|
diff: string;
|
|
8
|
-
/** Changed binaries whose bytes hold (or cannot be proven free of)
|
|
9
|
-
* secret-like content; a persisted copy withholds their payload. */
|
|
10
|
-
binarySecretPaths: string[];
|
|
11
8
|
/** The capture could not observe the candidate's changes at all (no legacy
|
|
12
9
|
* baseline, a failed `diff`): an honest capture refusal, never "no changes". */
|
|
13
10
|
captureIncomplete: boolean;
|
|
@@ -15,6 +12,13 @@ export interface CapturedWorkspaceDiff {
|
|
|
15
12
|
/** Untracked nested repositories left out of `diff` (a patch cannot carry
|
|
16
13
|
* another repository); disclosed with the attempt. */
|
|
17
14
|
excludedNestedRepositories?: string[];
|
|
15
|
+
/** The exact candidate as Git objects (#535): canonical whenever present;
|
|
16
|
+
* `diff` is then only its rendered view, "" when `patchViewUnavailable`. */
|
|
17
|
+
result?: GitObjectResult;
|
|
18
|
+
patchViewUnavailable?: PatchViewUnavailable;
|
|
19
|
+
inventory?: CaptureChangeInventory;
|
|
20
|
+
changedPaths?: string[];
|
|
21
|
+
existingPaths?: string[];
|
|
18
22
|
}
|
|
19
23
|
export interface CreateEnvelopeOptions {
|
|
20
24
|
taskId: string;
|
|
@@ -48,13 +52,18 @@ export { processStartTime } from "./envelope-recovery.js";
|
|
|
48
52
|
export declare class WorkspaceManager {
|
|
49
53
|
private readonly repoRoot;
|
|
50
54
|
private readonly runtimeRoot;
|
|
55
|
+
/** The project whose object store keeps this manager's Git objects, when it is
|
|
56
|
+
* not the root Git runs in (a delegated run, an isolated thread). */
|
|
57
|
+
private readonly projectRoot;
|
|
51
58
|
private readonly artifactOwnership;
|
|
52
59
|
/** Current-prep bridge ownership, also persisted beside owner.json for recovery.
|
|
53
60
|
* Only a bridge created here and still byte-identical is excluded from capture. */
|
|
54
61
|
private readonly bridgeCreatedEnvelopes;
|
|
55
62
|
private readonly retainedEnvelopes;
|
|
63
|
+
private readonly keptArtifactDirectories;
|
|
56
64
|
constructor(repoRoot: string, options?: {
|
|
57
65
|
runtimeRoot?: string;
|
|
66
|
+
projectRoot?: string;
|
|
58
67
|
});
|
|
59
68
|
private workspacesDir;
|
|
60
69
|
/**
|
|
@@ -95,7 +104,8 @@ export declare class WorkspaceManager {
|
|
|
95
104
|
* the run — the thread-purge / profile-deletion / retention owners remove it.
|
|
96
105
|
*/
|
|
97
106
|
laneHomeEnv(threadId: string, harnessId: string, profileId: string | null): LaneHomeEnv;
|
|
98
|
-
|
|
107
|
+
/** `owner`: the path (run directory) whose existence keeps the result's objects. */
|
|
108
|
+
captureDiff(env: WorkspaceEnvelope, owner?: string): Promise<CapturedWorkspaceDiff>;
|
|
99
109
|
diff(env: WorkspaceEnvelope): Promise<string>;
|
|
100
110
|
/** Directory work products retain full files, independently of diff previews. */
|
|
101
111
|
captureFiles(env: WorkspaceEnvelope, runRoot: string, options?: {
|
|
@@ -107,6 +117,10 @@ export declare class WorkspaceManager {
|
|
|
107
117
|
/** Keep this envelope on disk past `dispose()`: it holds the only exact copy
|
|
108
118
|
* of candidate bytes (the private exact patch object could not be written). */
|
|
109
119
|
retainEnvelope(env: WorkspaceEnvelope): void;
|
|
120
|
+
/** Keep an in-place envelope's run-owned artifact directory in the live tree
|
|
121
|
+
* past `dispose()`: when the run's changes were not captured, its media may
|
|
122
|
+
* be the only copy (the run's own copies are bounded). */
|
|
123
|
+
keepArtifactDirectory(env: WorkspaceEnvelope): void;
|
|
110
124
|
dispose(env: WorkspaceEnvelope): Promise<void>;
|
|
111
125
|
/**
|
|
112
126
|
* Dispose an ORPHANED envelope by ids alone (crash GC): a daemon
|
package/dist/manager.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,aAAa,EACd,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
|