@claudexor/workspace 3.1.0 → 3.1.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/git.d.ts +22 -43
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +122 -100
- package/dist/git.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/manager.d.ts +5 -14
- package/dist/manager.d.ts.map +1 -1
- package/dist/manager.js +52 -97
- package/dist/manager.js.map +1 -1
- package/dist/plain-diff.d.ts +8 -0
- package/dist/plain-diff.d.ts.map +1 -0
- package/dist/plain-diff.js +90 -0
- package/dist/plain-diff.js.map +1 -0
- package/dist/revert.d.ts +27 -0
- package/dist/revert.d.ts.map +1 -0
- package/dist/revert.js +126 -0
- package/dist/revert.js.map +1 -0
- package/package.json +4 -4
package/dist/git.d.ts
CHANGED
|
@@ -55,6 +55,24 @@ export declare function snapshotTree(repo: string): Promise<string>;
|
|
|
55
55
|
* `--binary`: binary changes carry an APPLYABLE payload instead of
|
|
56
56
|
* degrading to a "Binary files differ" stub that silently loses the work. */
|
|
57
57
|
export declare function diffTrees(repo: string, baseSha: string, endSha: string): Promise<string>;
|
|
58
|
+
/**
|
|
59
|
+
* Capture the current worktree against an exact base without writing its blobs
|
|
60
|
+
* into the user's Git object database. In-place harness output is untrusted
|
|
61
|
+
* until the secret fence has inspected the resulting patch; `snapshotTree`
|
|
62
|
+
* would otherwise leave a dangling raw-secret blob even when artifact
|
|
63
|
+
* persistence later refused the patch.
|
|
64
|
+
*
|
|
65
|
+
* Git still owns filename, mode, symlink, binary, ignored-file, and untracked
|
|
66
|
+
* semantics. A scratch index plus an isolated temporary object directory holds
|
|
67
|
+
* the candidate tree only for the duration of `git diff`; the real object
|
|
68
|
+
* directory is read-only through Git's alternates mechanism.
|
|
69
|
+
*/
|
|
70
|
+
export interface TransientDiffCapture {
|
|
71
|
+
patch: string;
|
|
72
|
+
binarySecretLike: boolean;
|
|
73
|
+
}
|
|
74
|
+
export declare function captureWorkingTreeTransient(repo: string, baseSha: string, pathExcludes?: string[]): Promise<TransientDiffCapture>;
|
|
75
|
+
export declare function diffWorkingTreeTransient(repo: string, baseSha: string, pathExcludes?: string[]): Promise<string>;
|
|
58
76
|
/**
|
|
59
77
|
* Materialize a patch against an exact base in a scratch index and return the
|
|
60
78
|
* resulting tree id. The live index and worktree are never consulted or
|
|
@@ -62,34 +80,11 @@ export declare function diffTrees(repo: string, baseSha: string, endSha: string)
|
|
|
62
80
|
* concurrently staged user path can never be swept into a Claudexor commit.
|
|
63
81
|
*/
|
|
64
82
|
export declare function materializePatchTree(repo: string, baseSha: string, diff: string): Promise<string>;
|
|
65
|
-
/** Why a revert was refused, decided by the PRODUCER (which branch failed), not
|
|
66
|
-
* by regexing the human `reason` downstream (QA-051/W3):
|
|
67
|
-
* - `postimage_diverged`: the reverse `--check` failed because the turn-owned
|
|
68
|
-
* postimage no longer matches (files changed after the turn);
|
|
69
|
-
* - `reverse_apply_failed`: the reverse apply itself failed after a clean
|
|
70
|
-
* preflight. */
|
|
71
|
-
export type RevertRefusalReason = "postimage_diverged" | "reverse_apply_failed";
|
|
72
|
-
export interface RevertResult {
|
|
73
|
-
reverted: boolean;
|
|
74
|
-
/** Turn-added files removed to restore the pre-turn state (`.claudexor` preserved). */
|
|
75
|
-
removed: string[];
|
|
76
|
-
reason?: string;
|
|
77
|
-
/** Typed refusal class set at the point of failure; absent on success. */
|
|
78
|
-
reasonCode?: RevertRefusalReason;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Server-owned in-place revert: restore the live working tree to a recorded
|
|
82
|
-
* pre-turn snapshot, but ONLY when the tree still matches the recorded post-turn
|
|
83
|
-
* snapshot (i.e. the user hasn't edited since) — otherwise it fails loudly and
|
|
84
|
-
* touches nothing. Reverts tracked modifications/deletions AND removes files the
|
|
85
|
-
* turn added; `.claudexor` (run artifacts) is always preserved.
|
|
86
|
-
*/
|
|
87
|
-
export declare function revertWorkingTreeTo(repo: string, preTurnSha: string, expectedPostSha: string): Promise<RevertResult>;
|
|
88
|
-
/** Reverse an immutable turn patch. This is the GC-independent production
|
|
89
|
-
* path used by external revert anchors; the SHA-based wrapper remains useful
|
|
90
|
-
* while capturing and testing snapshots. */
|
|
91
|
-
export declare function revertWorkingTreePatch(repo: string, patch: string): Promise<RevertResult>;
|
|
92
83
|
export declare function worktreeAdd(repo: string, path: string, branch: string, baseSha: string): Promise<void>;
|
|
84
|
+
/** Disposable candidate checkout with private refs/index/objects. The source
|
|
85
|
+
* repository is only an object alternate, so harness `git add`/`commit` cannot
|
|
86
|
+
* write candidate blobs or refs into the user's repository. */
|
|
87
|
+
export declare function isolatedCloneAdd(repo: string, path: string, branch: string, baseSha: string): Promise<void>;
|
|
93
88
|
/** Recreate a worktree for an EXISTING branch (recovery: dir lost, branch survived). */
|
|
94
89
|
export declare function worktreeAddExisting(repo: string, path: string, branch: string): Promise<void>;
|
|
95
90
|
export declare function worktreeRemove(repo: string, path: string): Promise<void>;
|
|
@@ -128,20 +123,4 @@ export declare function reversePatchAndIndexProtected(repo: string, diff: string
|
|
|
128
123
|
export declare function worktreePrune(repo: string): Promise<void>;
|
|
129
124
|
/** Delete a local branch (best-effort GC of per-attempt claudexor/* branches). */
|
|
130
125
|
export declare function branchDelete(repo: string, branch: string): Promise<void>;
|
|
131
|
-
/**
|
|
132
|
-
* Stage everything (so untracked files appear) and return the diff vs the
|
|
133
|
-
* recorded BASE sha — NOT the worktree HEAD. A harness that commits inside the
|
|
134
|
-
* worktree (Claude Code does this routinely) advances HEAD; diffing vs HEAD
|
|
135
|
-
* would then hide the committed work and report an empty no-op diff, silently
|
|
136
|
-
* losing the candidate's real output. Diffing the staged tree vs base_sha
|
|
137
|
-
* captures all net change since the run started regardless of intermediate
|
|
138
|
-
* commits. Git op failures throw loudly instead of masquerading as "no changes".
|
|
139
|
-
*/
|
|
140
|
-
export declare function diffStaged(worktreePath: string, baseSha?: string,
|
|
141
|
-
/** Additional EXACT-path pathspec excludes (e.g. the generated CLAUDE.md
|
|
142
|
-
* bridge, excluded by the caller only when it was created THIS run and its
|
|
143
|
-
* bytes still equal CLAUDE_BRIDGE_CONTENT). Each must already be a git
|
|
144
|
-
* pathspec magic term like `:(exclude,top)<path>`. Applied to BOTH the scratch
|
|
145
|
-
* `add -A` and the diff, so an excluded path is neither staged nor reported. */
|
|
146
|
-
extraExcludes?: readonly string[]): Promise<string>;
|
|
147
126
|
//# sourceMappingURL=git.d.ts.map
|
package/dist/git.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
|
package/dist/git.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { mkdtempSync, rmSync } from "node:fs";
|
|
1
|
+
import { mkdirSync, mkdtempSync, rmSync } from "node:fs";
|
|
2
2
|
import { tmpdir } from "node:os";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { CLAUDEXOR_ARTIFACT_DIR, parseUnifiedDiff, runCaptureRaw, WorkspaceError, } from "@claudexor/core";
|
|
5
|
+
import { containsSecretLikeToken } from "@claudexor/util";
|
|
5
6
|
/** BYTE-FAITHFUL git capture: raw buffers, never readline — CR
|
|
6
7
|
* bytes in CRLF diff content survive, and no trailing newline is fabricated
|
|
7
8
|
* (trim-based consumers like revParse are unaffected: git ends its own
|
|
@@ -177,6 +178,109 @@ export async function diffTrees(repo, baseSha, endSha) {
|
|
|
177
178
|
assertNoBinaryStubs(r.stdout, `git diff ${baseSha} ${endSha}`);
|
|
178
179
|
return r.stdout;
|
|
179
180
|
}
|
|
181
|
+
export async function captureWorkingTreeTransient(repo, baseSha, pathExcludes = []) {
|
|
182
|
+
const scratchDir = mkdtempSync(join(tmpdir(), "claudexor-transient-diff-"));
|
|
183
|
+
const objectDir = join(scratchDir, "objects");
|
|
184
|
+
const indexPath = join(scratchDir, "index");
|
|
185
|
+
mkdirSync(objectDir, { recursive: true, mode: 0o700 });
|
|
186
|
+
let primaryError;
|
|
187
|
+
try {
|
|
188
|
+
const actualObjects = await git(repo, [
|
|
189
|
+
"rev-parse",
|
|
190
|
+
"--path-format=absolute",
|
|
191
|
+
"--git-path",
|
|
192
|
+
"objects",
|
|
193
|
+
]);
|
|
194
|
+
if (actualObjects.code !== 0 || !actualObjects.stdout.trim()) {
|
|
195
|
+
throw new WorkspaceError(`transient diff could not resolve Git objects: ${actualObjects.stderr.trim()}`);
|
|
196
|
+
}
|
|
197
|
+
const env = {
|
|
198
|
+
GIT_INDEX_FILE: indexPath,
|
|
199
|
+
GIT_OBJECT_DIRECTORY: objectDir,
|
|
200
|
+
// Git parses this as a path-list. C-style quoting keeps a legal `:` in a
|
|
201
|
+
// macOS path from becoming a separator (and escapes quotes/backslashes).
|
|
202
|
+
GIT_ALTERNATE_OBJECT_DIRECTORIES: JSON.stringify(actualObjects.stdout.trim()),
|
|
203
|
+
GIT_OPTIONAL_LOCKS: "0",
|
|
204
|
+
};
|
|
205
|
+
const read = await gitEnv(repo, ["read-tree", baseSha], env);
|
|
206
|
+
if (read.code !== 0) {
|
|
207
|
+
throw new WorkspaceError(`transient diff read-tree failed: ${read.stderr.trim()}`);
|
|
208
|
+
}
|
|
209
|
+
const excludes = [`:(exclude,top)${CLAUDEXOR_ARTIFACT_DIR}`, ...pathExcludes];
|
|
210
|
+
const add = await gitEnv(repo, ["add", "-A", "--", ".", ...excludes], env);
|
|
211
|
+
if (add.code !== 0) {
|
|
212
|
+
throw new WorkspaceError(`transient diff add failed: ${add.stderr.trim()}`);
|
|
213
|
+
}
|
|
214
|
+
const writeTree = await gitEnv(repo, ["write-tree"], env);
|
|
215
|
+
if (writeTree.code !== 0 || !writeTree.stdout.trim()) {
|
|
216
|
+
throw new WorkspaceError(`transient diff write-tree failed: ${writeTree.stderr.trim()}`);
|
|
217
|
+
}
|
|
218
|
+
const diff = await gitEnv(repo, ["diff", "--binary", baseSha, writeTree.stdout.trim()], env);
|
|
219
|
+
if (diff.code !== 0) {
|
|
220
|
+
throw new WorkspaceError(`transient diff failed: ${diff.stderr.trim()}`);
|
|
221
|
+
}
|
|
222
|
+
assertNoBinaryStubs(diff.stdout, `transient git diff ${baseSha}`);
|
|
223
|
+
let binarySecretLike = false;
|
|
224
|
+
for (const file of parseUnifiedDiff(diff.stdout).files.filter((entry) => entry.binary)) {
|
|
225
|
+
const blobs = [
|
|
226
|
+
...(!file.added && file.oldPath ? [{ tree: baseSha, path: file.oldPath }] : []),
|
|
227
|
+
...(!file.deleted && file.newPath
|
|
228
|
+
? [{ tree: writeTree.stdout.trim(), path: file.newPath }]
|
|
229
|
+
: []),
|
|
230
|
+
];
|
|
231
|
+
for (const blob of blobs) {
|
|
232
|
+
const content = await gitEnv(repo, ["show", `${blob.tree}:${blob.path}`], env);
|
|
233
|
+
if (content.code !== 0 || containsSecretLikeToken(content.stdout)) {
|
|
234
|
+
binarySecretLike = true;
|
|
235
|
+
break;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
if (binarySecretLike)
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
return { patch: diff.stdout, binarySecretLike };
|
|
242
|
+
}
|
|
243
|
+
catch (error) {
|
|
244
|
+
primaryError = error;
|
|
245
|
+
throw error;
|
|
246
|
+
}
|
|
247
|
+
finally {
|
|
248
|
+
// Unlike ordinary best-effort scratch cleanup, this directory may contain
|
|
249
|
+
// a candidate token blob. A cleanup failure is therefore terminal and must
|
|
250
|
+
// never be hidden behind the original capture result.
|
|
251
|
+
try {
|
|
252
|
+
rmSync(scratchDir, { recursive: true, force: true });
|
|
253
|
+
}
|
|
254
|
+
catch (cleanupError) {
|
|
255
|
+
// A cleanup failure is terminal on its own, but must not erase the typed
|
|
256
|
+
// capture error that explains the primary failure.
|
|
257
|
+
if (primaryError === undefined) {
|
|
258
|
+
const terminal = new WorkspaceError("transient diff scratch cleanup failed", {
|
|
259
|
+
cause: cleanupError,
|
|
260
|
+
});
|
|
261
|
+
Object.defineProperty(terminal, "cleanupError", {
|
|
262
|
+
value: cleanupError,
|
|
263
|
+
enumerable: false,
|
|
264
|
+
});
|
|
265
|
+
throw terminal;
|
|
266
|
+
}
|
|
267
|
+
if (primaryError instanceof Error) {
|
|
268
|
+
try {
|
|
269
|
+
Object.defineProperty(primaryError, "cleanupError", {
|
|
270
|
+
value: cleanupError,
|
|
271
|
+
enumerable: false,
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
catch {
|
|
275
|
+
// Even a frozen/non-extensible typed error remains the primary cause.
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
export async function diffWorkingTreeTransient(repo, baseSha, pathExcludes = []) {
|
|
282
|
+
return (await captureWorkingTreeTransient(repo, baseSha, pathExcludes)).patch;
|
|
283
|
+
}
|
|
180
284
|
/**
|
|
181
285
|
* Materialize a patch against an exact base in a scratch index and return the
|
|
182
286
|
* resulting tree id. The live index and worktree are never consulted or
|
|
@@ -223,60 +327,28 @@ function assertNoBinaryStubs(diff, label) {
|
|
|
223
327
|
throw new WorkspaceError(`${label} produced undeliverable binary stub(s) for: ${names}; the work product cannot be applied`);
|
|
224
328
|
}
|
|
225
329
|
}
|
|
226
|
-
/**
|
|
227
|
-
* Server-owned in-place revert: restore the live working tree to a recorded
|
|
228
|
-
* pre-turn snapshot, but ONLY when the tree still matches the recorded post-turn
|
|
229
|
-
* snapshot (i.e. the user hasn't edited since) — otherwise it fails loudly and
|
|
230
|
-
* touches nothing. Reverts tracked modifications/deletions AND removes files the
|
|
231
|
-
* turn added; `.claudexor` (run artifacts) is always preserved.
|
|
232
|
-
*/
|
|
233
|
-
export async function revertWorkingTreeTo(repo, preTurnSha, expectedPostSha) {
|
|
234
|
-
// Git itself produces the exact binary/mode/symlink-aware forward patch.
|
|
235
|
-
// Reverse-applying it touches only turn-owned hunks. A later edit that
|
|
236
|
-
// overlaps those hunks makes --check fail; unrelated user edits, staged state,
|
|
237
|
-
// and untracked files remain outside the mutation surface.
|
|
238
|
-
const patch = await diffTrees(repo, preTurnSha, expectedPostSha);
|
|
239
|
-
return revertWorkingTreePatch(repo, patch);
|
|
240
|
-
}
|
|
241
|
-
/** Reverse an immutable turn patch. This is the GC-independent production
|
|
242
|
-
* path used by external revert anchors; the SHA-based wrapper remains useful
|
|
243
|
-
* while capturing and testing snapshots. */
|
|
244
|
-
export async function revertWorkingTreePatch(repo, patch) {
|
|
245
|
-
if (!patch.trim())
|
|
246
|
-
return { reverted: true, removed: [] };
|
|
247
|
-
const removed = parseUnifiedDiff(patch)
|
|
248
|
-
.files.filter((file) => file.added && file.newPath)
|
|
249
|
-
.map((file) => file.newPath);
|
|
250
|
-
const check = await git(repo, ["apply", "--check", "--reverse", "--whitespace=nowarn", "-"], patch);
|
|
251
|
-
if (check.code !== 0) {
|
|
252
|
-
return {
|
|
253
|
-
reverted: false,
|
|
254
|
-
removed: [],
|
|
255
|
-
reason: `turn-owned postimage no longer matches; refusing to overwrite later user edits: ${check.stderr.trim()}`,
|
|
256
|
-
reasonCode: "postimage_diverged",
|
|
257
|
-
};
|
|
258
|
-
}
|
|
259
|
-
const before = await statusPorcelain(repo);
|
|
260
|
-
const apply = await git(repo, ["apply", "--reverse", "--whitespace=nowarn", "-"], patch);
|
|
261
|
-
if (apply.code !== 0) {
|
|
262
|
-
const after = await statusPorcelain(repo);
|
|
263
|
-
return {
|
|
264
|
-
reverted: false,
|
|
265
|
-
removed: [],
|
|
266
|
-
reason: `reverse apply failed after preflight: ${apply.stderr.trim()}; ` +
|
|
267
|
-
(after === before
|
|
268
|
-
? "tree remains at the observed pre-revert state"
|
|
269
|
-
: "target changed during revert; no destructive rollback was attempted"),
|
|
270
|
-
reasonCode: "reverse_apply_failed",
|
|
271
|
-
};
|
|
272
|
-
}
|
|
273
|
-
return { reverted: true, removed };
|
|
274
|
-
}
|
|
275
330
|
export async function worktreeAdd(repo, path, branch, baseSha) {
|
|
276
331
|
const r = await git(repo, ["worktree", "add", "-b", branch, path, baseSha]);
|
|
277
332
|
if (r.code !== 0)
|
|
278
333
|
throw new WorkspaceError(`git worktree add failed: ${r.stderr.trim()}`);
|
|
279
334
|
}
|
|
335
|
+
/** Disposable candidate checkout with private refs/index/objects. The source
|
|
336
|
+
* repository is only an object alternate, so harness `git add`/`commit` cannot
|
|
337
|
+
* write candidate blobs or refs into the user's repository. */
|
|
338
|
+
export async function isolatedCloneAdd(repo, path, branch, baseSha) {
|
|
339
|
+
const cloned = await runCaptureRaw("git", ["clone", "--shared", "--no-checkout", "--", repo, path], { timeoutMs: 120_000 });
|
|
340
|
+
if (cloned.code !== 0) {
|
|
341
|
+
throw new WorkspaceError(`isolated clone failed: ${cloned.stderr.trim()}`);
|
|
342
|
+
}
|
|
343
|
+
const checkout = await git(path, ["checkout", "-b", branch, baseSha]);
|
|
344
|
+
if (checkout.code !== 0) {
|
|
345
|
+
throw new WorkspaceError(`isolated clone checkout failed: ${checkout.stderr.trim()}`);
|
|
346
|
+
}
|
|
347
|
+
const detachedRemote = await git(path, ["remote", "remove", "origin"]);
|
|
348
|
+
if (detachedRemote.code !== 0) {
|
|
349
|
+
throw new WorkspaceError(`isolated clone remote removal failed: ${detachedRemote.stderr.trim()}`);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
280
352
|
/** Recreate a worktree for an EXISTING branch (recovery: dir lost, branch survived). */
|
|
281
353
|
export async function worktreeAddExisting(repo, path, branch) {
|
|
282
354
|
// A stale registration for the lost directory would fail the add; prune first.
|
|
@@ -362,54 +434,4 @@ export async function worktreePrune(repo) {
|
|
|
362
434
|
export async function branchDelete(repo, branch) {
|
|
363
435
|
await git(repo, ["branch", "-D", branch]);
|
|
364
436
|
}
|
|
365
|
-
/**
|
|
366
|
-
* Stage everything (so untracked files appear) and return the diff vs the
|
|
367
|
-
* recorded BASE sha — NOT the worktree HEAD. A harness that commits inside the
|
|
368
|
-
* worktree (Claude Code does this routinely) advances HEAD; diffing vs HEAD
|
|
369
|
-
* would then hide the committed work and report an empty no-op diff, silently
|
|
370
|
-
* losing the candidate's real output. Diffing the staged tree vs base_sha
|
|
371
|
-
* captures all net change since the run started regardless of intermediate
|
|
372
|
-
* commits. Git op failures throw loudly instead of masquerading as "no changes".
|
|
373
|
-
*/
|
|
374
|
-
export async function diffStaged(worktreePath, baseSha,
|
|
375
|
-
/** Additional EXACT-path pathspec excludes (e.g. the generated CLAUDE.md
|
|
376
|
-
* bridge, excluded by the caller only when it was created THIS run and its
|
|
377
|
-
* bytes still equal CLAUDE_BRIDGE_CONTENT). Each must already be a git
|
|
378
|
-
* pathspec magic term like `:(exclude,top)<path>`. Applied to BOTH the scratch
|
|
379
|
-
* `add -A` and the diff, so an excluded path is neither staged nor reported. */
|
|
380
|
-
extraExcludes = []) {
|
|
381
|
-
const target = baseSha && baseSha.length > 0 ? baseSha : "HEAD";
|
|
382
|
-
const scratchDir = mkdtempSync(join(tmpdir(), "claudexor-diff-index-"));
|
|
383
|
-
const indexPath = join(scratchDir, "index");
|
|
384
|
-
const env = { GIT_INDEX_FILE: indexPath, GIT_OPTIONAL_LOCKS: "0" };
|
|
385
|
-
try {
|
|
386
|
-
const read = await gitEnv(worktreePath, ["read-tree", target], env);
|
|
387
|
-
if (read.code !== 0) {
|
|
388
|
-
throw new WorkspaceError(`git read-tree ${target} failed during diff capture: ${read.stderr.trim()}`);
|
|
389
|
-
}
|
|
390
|
-
// F4: EXCLUDE the claudexor-owned artifact dir from the candidate
|
|
391
|
-
// patch. Media a harness saves for the user (browser-MCP screenshots,
|
|
392
|
-
// declared artifacts) lives here and must never enter the candidate diff —
|
|
393
|
-
// a screenshot-only run then reads as `noChanges` and is never
|
|
394
|
-
// review-blocked. Exclusion is by EXACT owned path only (no file-type
|
|
395
|
-
// guess), so a real code change elsewhere can never be silently dropped.
|
|
396
|
-
// `extraExcludes` adds further EXACT owned paths (the generated CLAUDE.md
|
|
397
|
-
// bridge) under the same doctrine.
|
|
398
|
-
const excludeArtifacts = `:(exclude,top)${CLAUDEXOR_ARTIFACT_DIR}`;
|
|
399
|
-
const excludes = [excludeArtifacts, ...extraExcludes];
|
|
400
|
-
const add = await gitEnv(worktreePath, ["add", "-A", "--", ".", ...excludes], env);
|
|
401
|
-
if (add.code !== 0) {
|
|
402
|
-
throw new WorkspaceError(`scratch git add -A failed during diff capture: ${add.stderr.trim()}`);
|
|
403
|
-
}
|
|
404
|
-
const diff = await gitEnv(worktreePath, ["diff", "--binary", "--cached", target, "--", ".", ...excludes], env);
|
|
405
|
-
if (diff.code !== 0) {
|
|
406
|
-
throw new WorkspaceError(`git diff --cached ${target} failed during diff capture: ${diff.stderr.trim()}`);
|
|
407
|
-
}
|
|
408
|
-
assertNoBinaryStubs(diff.stdout, `git diff --cached ${target}`);
|
|
409
|
-
return diff.stdout;
|
|
410
|
-
}
|
|
411
|
-
finally {
|
|
412
|
-
rmSync(scratchDir, { recursive: true, force: true });
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
437
|
//# 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
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,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,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,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
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,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,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,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
package/dist/manager.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export interface CreateEnvelopeOptions {
|
|
|
16
16
|
inPlace?: boolean;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
* Manages WorkspaceEnvelopes: an isolated
|
|
19
|
+
* Manages WorkspaceEnvelopes: an isolated Git checkout plus scoped HOME and
|
|
20
20
|
* per-harness config dirs, and dirty-tree handling. Claudexor owns these
|
|
21
21
|
* envelopes (it does not rely on a harness's native --worktree).
|
|
22
22
|
*/
|
|
@@ -88,19 +88,10 @@ export declare class WorkspaceManager {
|
|
|
88
88
|
* the run — the thread-purge / profile-deletion / retention owners remove it.
|
|
89
89
|
*/
|
|
90
90
|
laneHomeEnv(threadId: string, harnessId: string, profileId: string | null): LaneHomeEnv;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
* for git diffs. STATEFUL, mirroring the shared plain-diff parser's
|
|
96
|
-
* structural rules: only the GNU `diff …` command echo, the `--- `/`+++ `
|
|
97
|
-
* pair of a real file-header triple (`--- ` + `+++ ` + `@@` on consecutive
|
|
98
|
-
* lines), and structural `Binary files … differ` lines are rewritten.
|
|
99
|
-
* Hunk CONTENT is never touched — a removed/added content line that merely
|
|
100
|
-
* starts with `-- `/`++ ` (rendering as `--- `/`+++ ` in the diff) keeps
|
|
101
|
-
* its bytes, per the diff-fidelity contract (INV-041).
|
|
102
|
-
*/
|
|
103
|
-
private static relativizePlainDiffHeadersFor;
|
|
91
|
+
captureDiff(env: WorkspaceEnvelope): Promise<{
|
|
92
|
+
diff: string;
|
|
93
|
+
binarySecretLike: boolean;
|
|
94
|
+
}>;
|
|
104
95
|
diff(env: WorkspaceEnvelope): Promise<string>;
|
|
105
96
|
/** The created-this-run bridge fact for diff(): in-memory set first, else
|
|
106
97
|
* the persisted envelope-id-bound marker (survives manager recreation). */
|
package/dist/manager.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAUvF,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAsBjE,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH;;sEAEsE;AACtE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS3D;AAED,qBAAa,gBAAgB;IAkBzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAjB3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAqB;gBAGzC,QAAQ,EAAE,MAAM,EACjC,OAAO,GAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO;IAKxC,OAAO,CAAC,aAAa;IAIrB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAiBd,MAAM,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuIrE;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAcxB,6FAA6F;IAC7F,MAAM,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAYtD;;;;;;;;;;;;OAYG;IACH,eAAe,IAAI;QAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE;IA2BvE;;;;;;;OAOG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,WAAW;IAIjF,WAAW,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC;QACjD,IAAI,EAAE,MAAM,CAAC;QACb,gBAAgB,EAAE,OAAO,CAAC;KAC3B,CAAC;IAuFI,IAAI,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAInD;gFAC4E;IAC5E,OAAO,CAAC,iBAAiB;IAKnB,OAAO,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoEpD;;;;;;OAMG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAyBtE"}
|
package/dist/manager.js
CHANGED
|
@@ -4,12 +4,13 @@ import { tmpdir } from "node:os";
|
|
|
4
4
|
import { join, sep } from "node:path";
|
|
5
5
|
import { WorkspaceEnvelope as WorkspaceEnvelopeSchema } from "@claudexor/schema";
|
|
6
6
|
import { CLAUDEXOR_ARTIFACT_DIR, runCaptureRaw, WorkspaceError } from "@claudexor/core";
|
|
7
|
-
import { ensureDir, newId, nowIso, projectRuntimeDir } from "@claudexor/util";
|
|
7
|
+
import { containsSecretLikeToken, ensureDir, newId, nowIso, projectRuntimeDir, } from "@claudexor/util";
|
|
8
8
|
import { ensureLaneHomeEnv } from "./lanes.js";
|
|
9
|
+
import { plainDiffBinarySecretLike, relativizePlainDiffHeaders } from "./plain-diff.js";
|
|
9
10
|
import { CLAUDE_BRIDGE_BASENAME, bridgeCreatedMarkerMatches, ensureClaudeBridge, isGeneratedClaudeBridge, writeBridgeCreatedMarker, } from "./claude-bridge.js";
|
|
10
|
-
import { branchDelete,
|
|
11
|
+
import { branchDelete, captureWorkingTreeTransient, isolatedCloneAdd, isGitRepo, revParse, snapshotTree, statusPorcelain, stashCreate, worktreePrune, worktreeRemove, } from "./git.js";
|
|
11
12
|
/**
|
|
12
|
-
* Manages WorkspaceEnvelopes: an isolated
|
|
13
|
+
* Manages WorkspaceEnvelopes: an isolated Git checkout plus scoped HOME and
|
|
13
14
|
* per-harness config dirs, and dirty-tree handling. Claudexor owns these
|
|
14
15
|
* envelopes (it does not rely on a harness's native --worktree).
|
|
15
16
|
*/
|
|
@@ -106,7 +107,7 @@ export class WorkspaceManager {
|
|
|
106
107
|
started: processStartTime(process.pid),
|
|
107
108
|
created_at: nowIso(),
|
|
108
109
|
}) + "\n");
|
|
109
|
-
// In-place mode: mutate the live repoRoot directly (no isolated
|
|
110
|
+
// In-place mode: mutate the live repoRoot directly (no isolated checkout).
|
|
110
111
|
// Used for thread turns (chat-first: the next turn sees this one's work) and
|
|
111
112
|
// for stateful external environments where runtime state is the deliverable.
|
|
112
113
|
// For a git project we record a per-turn snapshot sha so diff() captures only
|
|
@@ -155,15 +156,13 @@ export class WorkspaceManager {
|
|
|
155
156
|
}
|
|
156
157
|
const path = join(base, "tree");
|
|
157
158
|
const branch = `claudexor/${opts.taskId}/${opts.attemptId}`;
|
|
158
|
-
await
|
|
159
|
-
|
|
160
|
-
//
|
|
159
|
+
await isolatedCloneAdd(this.repoRoot, path, branch, baseSha);
|
|
160
|
+
writeFileSync(join(base, "private-clone-v1"), "private Git authority\n");
|
|
161
|
+
// AGENTS.md bridge (INV-113): the checkout omits the untracked project-root bridge,
|
|
161
162
|
// envelope — a Claude Code candidate here would otherwise lack CLAUDE.md.
|
|
162
|
-
// Write an envelope-local bridge
|
|
163
|
-
//
|
|
164
|
-
//
|
|
165
|
-
// precondition), and no run event — this envelope is disposable and
|
|
166
|
-
// Claudexor-owned. `diff()` excludes the generated bridge so it never enters
|
|
163
|
+
// Write an envelope-local bridge so the candidate reads the same AGENTS.md.
|
|
164
|
+
// Self-fenced (acts only with a committed AGENTS.md and no CLAUDE.md),
|
|
165
|
+
// best-effort, and no run event. `diff()` excludes the generated bridge so it never enters
|
|
167
166
|
// the candidate patch.
|
|
168
167
|
// ONLY when THIS prep actually created the bridge (recorded below) does diff()
|
|
169
168
|
// exclude it; a CLAUDE.md already present is never excluded (A-3 residual).
|
|
@@ -286,79 +285,22 @@ export class WorkspaceManager {
|
|
|
286
285
|
laneHomeEnv(threadId, harnessId, profileId) {
|
|
287
286
|
return ensureLaneHomeEnv(this.runtimeRoot, threadId, harnessId, profileId);
|
|
288
287
|
}
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
* structural rules: only the GNU `diff …` command echo, the `--- `/`+++ `
|
|
295
|
-
* pair of a real file-header triple (`--- ` + `+++ ` + `@@` on consecutive
|
|
296
|
-
* lines), and structural `Binary files … differ` lines are rewritten.
|
|
297
|
-
* Hunk CONTENT is never touched — a removed/added content line that merely
|
|
298
|
-
* starts with `-- `/`++ ` (rendering as `--- `/`+++ ` in the diff) keeps
|
|
299
|
-
* its bytes, per the diff-fidelity contract (INV-041).
|
|
300
|
-
*/
|
|
301
|
-
static relativizePlainDiffHeadersFor(text, baselineRoot, liveRoot) {
|
|
302
|
-
const base = baselineRoot.endsWith("/") ? baselineRoot : `${baselineRoot}/`;
|
|
303
|
-
const live = liveRoot.endsWith("/") ? liveRoot : `${liveRoot}/`;
|
|
304
|
-
const swap = (s) => s.split(base).join("a/").split(live).join("b/");
|
|
305
|
-
const lines = text.split("\n");
|
|
306
|
-
// Same structural rule as the shared plain-diff parser: INSIDE a hunk the
|
|
307
|
-
// loose triple can be forged by content (a deleted `-- …` line + an added
|
|
308
|
-
// `++ …` line + the next `@@`), so a mid-hunk boundary must also carry a
|
|
309
|
-
// header witness — the GNU tab-separated timestamp (or /dev/null) on both
|
|
310
|
-
// path lines, which +/- content lines never have.
|
|
311
|
-
const headerWitness = (l) => l !== undefined && (l.includes("\t") || l.slice(4).trim() === "/dev/null");
|
|
312
|
-
const isFileHeaderTriple = (idx, midHunk) => {
|
|
313
|
-
const triple = (lines[idx]?.startsWith("--- ") ?? false) &&
|
|
314
|
-
(lines[idx + 1]?.startsWith("+++ ") ?? false) &&
|
|
315
|
-
(lines[idx + 2]?.startsWith("@@") ?? false);
|
|
316
|
-
if (!triple)
|
|
317
|
-
return false;
|
|
318
|
-
return midHunk ? headerWitness(lines[idx]) && headerWitness(lines[idx + 1]) : true;
|
|
319
|
-
};
|
|
320
|
-
let inHunk = false;
|
|
321
|
-
for (let i = 0; i < lines.length; i += 1) {
|
|
322
|
-
const line = lines[i];
|
|
323
|
-
if (line.startsWith("diff ")) {
|
|
324
|
-
// GNU command echo between files: structural, resets hunk state.
|
|
325
|
-
inHunk = false;
|
|
326
|
-
lines[i] = swap(line);
|
|
327
|
-
continue;
|
|
328
|
-
}
|
|
329
|
-
if (isFileHeaderTriple(i, inHunk)) {
|
|
330
|
-
// Real file boundary — same rule as the shared parser (a full triple
|
|
331
|
-
// opens a file even mid-document without a `diff` echo).
|
|
332
|
-
lines[i] = swap(line);
|
|
333
|
-
lines[i + 1] = swap(lines[i + 1]);
|
|
334
|
-
inHunk = false;
|
|
335
|
-
i += 1; // the `+++ ` line is handled; `@@` flips state next.
|
|
336
|
-
continue;
|
|
337
|
-
}
|
|
338
|
-
if (line.startsWith("@@")) {
|
|
339
|
-
inHunk = true;
|
|
340
|
-
continue;
|
|
341
|
-
}
|
|
342
|
-
if (line.startsWith("Binary files ") && line.endsWith(" differ") && !inHunk) {
|
|
343
|
-
lines[i] = swap(line);
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
return lines.join("\n");
|
|
347
|
-
}
|
|
348
|
-
async diff(env) {
|
|
349
|
-
// In-place: there is no isolated worktree. For a git project, diff the
|
|
350
|
-
// per-turn base snapshot against a fresh end snapshot — net change of THIS
|
|
351
|
-
// turn only, untracked included, prior dirty state folded into base.
|
|
288
|
+
async captureDiff(env) {
|
|
289
|
+
// In-place: there is no isolated worktree. Capture the candidate tree in a
|
|
290
|
+
// temporary object database so a secret refusal cannot leave its bytes as
|
|
291
|
+
// dangling objects in the user's repository. The exact per-turn base still
|
|
292
|
+
// folds prior dirty state out of this turn's diff.
|
|
352
293
|
if (env.worktree_path === env.repo_root) {
|
|
353
294
|
if (env.base_sha) {
|
|
354
|
-
const
|
|
355
|
-
return
|
|
295
|
+
const captured = await captureWorkingTreeTransient(env.repo_root, env.base_sha);
|
|
296
|
+
return { diff: captured.patch, binarySecretLike: captured.binarySecretLike };
|
|
356
297
|
}
|
|
357
298
|
// Non-git fallback: diff the best-effort cpSync baseline against the live
|
|
358
|
-
// tree
|
|
299
|
+
// tree. Missing or failed capture is an uncaptured binary risk, never a
|
|
300
|
+
// safe no-change result.
|
|
359
301
|
const baseline = join(this.envelopeBase(env.task_id, env.attempt_id), "baseline");
|
|
360
302
|
if (!existsSync(baseline))
|
|
361
|
-
return "";
|
|
303
|
+
return { diff: "", binarySecretLike: true };
|
|
362
304
|
try {
|
|
363
305
|
const r = await runCaptureRaw("diff", [
|
|
364
306
|
"-ruN",
|
|
@@ -375,19 +317,28 @@ export class WorkspaceManager {
|
|
|
375
317
|
baseline,
|
|
376
318
|
env.repo_root,
|
|
377
319
|
], { timeoutMs: 120_000 });
|
|
320
|
+
if (r.code !== 0 && r.code !== 1) {
|
|
321
|
+
return { diff: "", binarySecretLike: true };
|
|
322
|
+
}
|
|
378
323
|
// Relativize the header paths to the git-style a/<rel> b/<rel> shape.
|
|
379
324
|
// Downstream consumers (diffstat, protected-path/risk gating) match
|
|
380
325
|
// REPO-RELATIVE globs like `test/**`; absolute `/…/repo/test/x`
|
|
381
326
|
// headers would silently bypass every one of them.
|
|
382
|
-
const relativized =
|
|
327
|
+
const relativized = relativizePlainDiffHeaders(r.stdout, baseline, env.repo_root);
|
|
383
328
|
const CAP = 200_000;
|
|
384
|
-
return
|
|
385
|
-
|
|
386
|
-
|
|
329
|
+
return {
|
|
330
|
+
diff: relativized.length > CAP
|
|
331
|
+
? relativized.slice(0, CAP) + "\n... [diff truncated]\n"
|
|
332
|
+
: relativized,
|
|
333
|
+
// Inspect the complete captured text before projecting it into the
|
|
334
|
+
// bounded artifact. A token beyond the 200k display cap must still
|
|
335
|
+
// trip the secret fence.
|
|
336
|
+
binarySecretLike: containsSecretLikeToken(relativized) ||
|
|
337
|
+
plainDiffBinarySecretLike(relativized, env.repo_root),
|
|
338
|
+
};
|
|
387
339
|
}
|
|
388
340
|
catch {
|
|
389
|
-
|
|
390
|
-
return "";
|
|
341
|
+
return { diff: "", binarySecretLike: true };
|
|
391
342
|
}
|
|
392
343
|
}
|
|
393
344
|
// Exclude the envelope-local generated CLAUDE.md bridge (INV-113) from the
|
|
@@ -408,7 +359,11 @@ export class WorkspaceManager {
|
|
|
408
359
|
const bridgeExcludes = this.bridgeCreatedFact(env) && isGeneratedClaudeBridge(env.worktree_path)
|
|
409
360
|
? [`:(exclude,top)${CLAUDE_BRIDGE_BASENAME}`]
|
|
410
361
|
: [];
|
|
411
|
-
|
|
362
|
+
const captured = await captureWorkingTreeTransient(env.worktree_path, env.base_sha ?? "HEAD", bridgeExcludes);
|
|
363
|
+
return { diff: captured.patch, binarySecretLike: captured.binarySecretLike };
|
|
364
|
+
}
|
|
365
|
+
async diff(env) {
|
|
366
|
+
return (await this.captureDiff(env)).diff;
|
|
412
367
|
}
|
|
413
368
|
/** The created-this-run bridge fact for diff(): in-memory set first, else
|
|
414
369
|
* the persisted envelope-id-bound marker (survives manager recreation). */
|
|
@@ -437,22 +392,22 @@ export class WorkspaceManager {
|
|
|
437
392
|
}
|
|
438
393
|
}
|
|
439
394
|
if (!inPlace) {
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
}
|
|
443
|
-
catch {
|
|
444
|
-
/* best-effort */
|
|
445
|
-
}
|
|
446
|
-
// Delete the per-attempt branch so re-attempts with the same ids don't
|
|
447
|
-
// collide on `worktree add -b`, and the user's repo doesn't accumulate
|
|
448
|
-
// permanent claudexor/<task>/<attempt> branches (the v0.8 leak).
|
|
449
|
-
if (env.branch_name && env.branch_name !== "inplace") {
|
|
395
|
+
const privateClone = existsSync(join(this.envelopeBase(env.task_id, env.attempt_id), "private-clone-v1"));
|
|
396
|
+
if (!privateClone) {
|
|
450
397
|
try {
|
|
451
|
-
await
|
|
398
|
+
await worktreeRemove(this.repoRoot, env.worktree_path);
|
|
452
399
|
}
|
|
453
400
|
catch {
|
|
454
401
|
/* best-effort */
|
|
455
402
|
}
|
|
403
|
+
if (env.branch_name && env.branch_name !== "inplace") {
|
|
404
|
+
try {
|
|
405
|
+
await branchDelete(this.repoRoot, env.branch_name);
|
|
406
|
+
}
|
|
407
|
+
catch {
|
|
408
|
+
/* best-effort */
|
|
409
|
+
}
|
|
410
|
+
}
|
|
456
411
|
}
|
|
457
412
|
}
|
|
458
413
|
// Remove only the scoped envelope base (worktree + scoped home/env/logs/artifacts/
|
package/dist/manager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Rewrite only structural GNU/BSD `diff -ruN` headers to git-style paths.
|
|
2
|
+
* Missing-side headers become `/dev/null`, making added/deleted files exactly
|
|
3
|
+
* reversible with `git apply --no-index`; hunk content is never rewritten. */
|
|
4
|
+
export declare function relativizePlainDiffHeaders(text: string, baselineRoot: string, liveRoot: string): string;
|
|
5
|
+
/** `diff -ruN` carries no binary payload, so inspect each live binary
|
|
6
|
+
* postimage directly. Oversized, non-regular, or unreadable bytes fail closed. */
|
|
7
|
+
export declare function plainDiffBinarySecretLike(text: string, liveRoot: string): boolean;
|
|
8
|
+
//# sourceMappingURL=plain-diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plain-diff.d.ts","sourceRoot":"","sources":["../src/plain-diff.ts"],"names":[],"mappings":"AAOA;;8EAE8E;AAC9E,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,MAAM,CA2CR;AAED;kFACkF;AAClF,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CA0BjF"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { closeSync, constants, existsSync, fstatSync, openSync, readFileSync } from "node:fs";
|
|
2
|
+
import { resolve, sep } from "node:path";
|
|
3
|
+
import { parseUnifiedDiff } from "@claudexor/core";
|
|
4
|
+
import { containsSecretLikeToken } from "@claudexor/util";
|
|
5
|
+
const MAX_BINARY_SECRET_SCAN_BYTES = 32 * 1024 * 1024;
|
|
6
|
+
/** Rewrite only structural GNU/BSD `diff -ruN` headers to git-style paths.
|
|
7
|
+
* Missing-side headers become `/dev/null`, making added/deleted files exactly
|
|
8
|
+
* reversible with `git apply --no-index`; hunk content is never rewritten. */
|
|
9
|
+
export function relativizePlainDiffHeaders(text, baselineRoot, liveRoot) {
|
|
10
|
+
const base = baselineRoot.endsWith("/") ? baselineRoot : `${baselineRoot}/`;
|
|
11
|
+
const live = liveRoot.endsWith("/") ? liveRoot : `${liveRoot}/`;
|
|
12
|
+
const swap = (line) => line.split(base).join("a/").split(live).join("b/");
|
|
13
|
+
const lines = text.split("\n");
|
|
14
|
+
const headerWitness = (line) => line !== undefined && (line.includes("\t") || line.slice(4).trim() === "/dev/null");
|
|
15
|
+
const isFileHeaderTriple = (index, midHunk) => {
|
|
16
|
+
const triple = (lines[index]?.startsWith("--- ") ?? false) &&
|
|
17
|
+
(lines[index + 1]?.startsWith("+++ ") ?? false) &&
|
|
18
|
+
(lines[index + 2]?.startsWith("@@") ?? false);
|
|
19
|
+
if (!triple)
|
|
20
|
+
return false;
|
|
21
|
+
return midHunk ? headerWitness(lines[index]) && headerWitness(lines[index + 1]) : true;
|
|
22
|
+
};
|
|
23
|
+
const canonicalHeader = (line) => {
|
|
24
|
+
const path = line.slice(4).split("\t", 1)[0];
|
|
25
|
+
return path !== "/dev/null" && !existsSync(path) ? `${line.slice(0, 4)}/dev/null` : swap(line);
|
|
26
|
+
};
|
|
27
|
+
let inHunk = false;
|
|
28
|
+
for (let index = 0; index < lines.length; index += 1) {
|
|
29
|
+
const line = lines[index];
|
|
30
|
+
if (line.startsWith("diff ")) {
|
|
31
|
+
inHunk = false;
|
|
32
|
+
lines[index] = swap(line);
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
if (isFileHeaderTriple(index, inHunk)) {
|
|
36
|
+
lines[index] = canonicalHeader(line);
|
|
37
|
+
lines[index + 1] = canonicalHeader(lines[index + 1]);
|
|
38
|
+
inHunk = false;
|
|
39
|
+
index += 1;
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (line.startsWith("@@")) {
|
|
43
|
+
inHunk = true;
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (line.startsWith("Binary files ") && line.endsWith(" differ") && !inHunk) {
|
|
47
|
+
lines[index] = swap(line);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return lines.join("\n");
|
|
51
|
+
}
|
|
52
|
+
/** `diff -ruN` carries no binary payload, so inspect each live binary
|
|
53
|
+
* postimage directly. Oversized, non-regular, or unreadable bytes fail closed. */
|
|
54
|
+
export function plainDiffBinarySecretLike(text, liveRoot) {
|
|
55
|
+
const root = resolve(liveRoot);
|
|
56
|
+
for (const file of parseUnifiedDiff(text).files) {
|
|
57
|
+
if (!file.binaryStub || file.deleted || !file.newPath)
|
|
58
|
+
continue;
|
|
59
|
+
const source = resolve(root, file.newPath);
|
|
60
|
+
if (source !== root && !source.startsWith(root + sep))
|
|
61
|
+
return true;
|
|
62
|
+
let fd;
|
|
63
|
+
try {
|
|
64
|
+
fd = openSync(source, constants.O_RDONLY | constants.O_NOFOLLOW);
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
if (error.code === "ENOENT")
|
|
68
|
+
continue;
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
try {
|
|
72
|
+
const stat = fstatSync(fd);
|
|
73
|
+
if (!stat.isFile() || stat.size > MAX_BINARY_SECRET_SCAN_BYTES)
|
|
74
|
+
return true;
|
|
75
|
+
const bytes = readFileSync(fd);
|
|
76
|
+
if (bytes.length > MAX_BINARY_SECRET_SCAN_BYTES)
|
|
77
|
+
return true;
|
|
78
|
+
if (containsSecretLikeToken(bytes.toString("latin1")))
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
finally {
|
|
85
|
+
closeSync(fd);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=plain-diff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plain-diff.js","sourceRoot":"","sources":["../src/plain-diff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC9F,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,4BAA4B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEtD;;8EAE8E;AAC9E,MAAM,UAAU,0BAA0B,CACxC,IAAY,EACZ,YAAoB,EACpB,QAAgB;IAEhB,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC;IAC5E,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC;IAChE,MAAM,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,aAAa,GAAG,CAAC,IAAwB,EAAW,EAAE,CAC1D,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,WAAW,CAAC,CAAC;IACtF,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,OAAgB,EAAW,EAAE;QACtE,MAAM,MAAM,GACV,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;YAC3C,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;YAC/C,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,OAAO,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzF,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,CAAC,IAAY,EAAU,EAAE;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAW,CAAC;QACvD,OAAO,IAAI,KAAK,WAAW,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjG,CAAC,CAAC;IACF,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAW,CAAC;QACpC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,MAAM,GAAG,KAAK,CAAC;YACf,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,IAAI,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;YACrC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAW,CAAC,CAAC;YAC/D,MAAM,GAAG,KAAK,CAAC;YACf,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,IAAI,CAAC;YACd,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5E,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;kFACkF;AAClF,MAAM,UAAU,yBAAyB,CAAC,IAAY,EAAE,QAAgB;IACtE,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,SAAS;QAChE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACnE,IAAI,EAAU,CAAC;QACf,IAAI,CAAC;YACH,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,4BAA4B;gBAAE,OAAO,IAAI,CAAC;YAC5E,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,KAAK,CAAC,MAAM,GAAG,4BAA4B;gBAAE,OAAO,IAAI,CAAC;YAC7D,IAAI,uBAAuB,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/revert.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** Why a revert was refused, decided by the producer rather than by parsing a
|
|
2
|
+
* human message downstream. */
|
|
3
|
+
export type RevertRefusalReason = "postimage_diverged" | "reverse_apply_failed";
|
|
4
|
+
export interface RevertResult {
|
|
5
|
+
reverted: boolean;
|
|
6
|
+
/** Turn-added files removed to restore the pre-turn state (`.claudexor` preserved). */
|
|
7
|
+
removed: string[];
|
|
8
|
+
reason?: string;
|
|
9
|
+
/** Typed refusal class set at the point of failure; absent on success. */
|
|
10
|
+
reasonCode?: RevertRefusalReason;
|
|
11
|
+
/** Scratch cleanup failed after the primary rollback result was known. */
|
|
12
|
+
cleanupError?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface RevertPatchOptions {
|
|
15
|
+
/** Keep any object writes performed internally by `git apply` out of the
|
|
16
|
+
* user's repository. Required when the patch itself failed the secret fence. */
|
|
17
|
+
isolateObjectWrites?: boolean;
|
|
18
|
+
/** Apply a git-style patch in a directory with no repository metadata. */
|
|
19
|
+
noIndex?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/** Restore the live tree to a pre-turn snapshot only while the exact recorded
|
|
22
|
+
* postimage still matches. */
|
|
23
|
+
export declare function revertWorkingTreeTo(repo: string, preTurnSha: string, expectedPostSha: string): Promise<RevertResult>;
|
|
24
|
+
/** Reverse an immutable turn patch. Secret-refused callers isolate the object
|
|
25
|
+
* directory because `git apply` may materialize postimage blobs internally. */
|
|
26
|
+
export declare function revertWorkingTreePatch(repo: string, patch: string, options?: RevertPatchOptions): Promise<RevertResult>;
|
|
27
|
+
//# sourceMappingURL=revert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revert.d.ts","sourceRoot":"","sources":["../src/revert.ts"],"names":[],"mappings":"AAMA;+BAC+B;AAC/B,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,GAAG,sBAAsB,CAAC;AAEhF,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,uFAAuF;IACvF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC;oFACgF;IAChF,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAgBD;8BAC8B;AAC9B,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,YAAY,CAAC,CAGvB;AAED;+EAC+E;AAC/E,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,YAAY,CAAC,CAyGvB"}
|
package/dist/revert.js
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { mkdirSync, mkdtempSync, rmSync } from "node:fs";
|
|
2
|
+
import { tmpdir } from "node:os";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { parseUnifiedDiff, runCaptureRaw, WorkspaceError } from "@claudexor/core";
|
|
5
|
+
import { diffTrees, git, statusPorcelain } from "./git.js";
|
|
6
|
+
async function gitEnv(repo, args, env, input) {
|
|
7
|
+
const result = await runCaptureRaw("git", ["-C", repo, ...args], {
|
|
8
|
+
timeoutMs: 60_000,
|
|
9
|
+
env,
|
|
10
|
+
input,
|
|
11
|
+
});
|
|
12
|
+
return { code: result.code, stdout: result.stdout, stderr: result.stderr };
|
|
13
|
+
}
|
|
14
|
+
/** Restore the live tree to a pre-turn snapshot only while the exact recorded
|
|
15
|
+
* postimage still matches. */
|
|
16
|
+
export async function revertWorkingTreeTo(repo, preTurnSha, expectedPostSha) {
|
|
17
|
+
const patch = await diffTrees(repo, preTurnSha, expectedPostSha);
|
|
18
|
+
return revertWorkingTreePatch(repo, patch);
|
|
19
|
+
}
|
|
20
|
+
/** Reverse an immutable turn patch. Secret-refused callers isolate the object
|
|
21
|
+
* directory because `git apply` may materialize postimage blobs internally. */
|
|
22
|
+
export async function revertWorkingTreePatch(repo, patch, options = {}) {
|
|
23
|
+
if (!patch.trim())
|
|
24
|
+
return { reverted: true, removed: [] };
|
|
25
|
+
const removed = parseUnifiedDiff(patch)
|
|
26
|
+
.files.filter((file) => file.added && file.newPath)
|
|
27
|
+
.map((file) => file.newPath);
|
|
28
|
+
let scratchDir = null;
|
|
29
|
+
let isolatedEnv = null;
|
|
30
|
+
let primaryError;
|
|
31
|
+
let primaryResult;
|
|
32
|
+
try {
|
|
33
|
+
if (options.isolateObjectWrites) {
|
|
34
|
+
scratchDir = mkdtempSync(join(tmpdir(), "claudexor-transient-revert-"));
|
|
35
|
+
const objectDir = join(scratchDir, "objects");
|
|
36
|
+
mkdirSync(objectDir, { recursive: true, mode: 0o700 });
|
|
37
|
+
const actualObjects = await git(repo, [
|
|
38
|
+
"rev-parse",
|
|
39
|
+
"--path-format=absolute",
|
|
40
|
+
"--git-path",
|
|
41
|
+
"objects",
|
|
42
|
+
]);
|
|
43
|
+
if (actualObjects.code !== 0 || !actualObjects.stdout.trim()) {
|
|
44
|
+
throw new WorkspaceError(`transient revert could not resolve Git objects: ${actualObjects.stderr.trim()}`);
|
|
45
|
+
}
|
|
46
|
+
isolatedEnv = {
|
|
47
|
+
GIT_OBJECT_DIRECTORY: objectDir,
|
|
48
|
+
GIT_ALTERNATE_OBJECT_DIRECTORIES: JSON.stringify(actualObjects.stdout.trim()),
|
|
49
|
+
GIT_OPTIONAL_LOCKS: "0",
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const runApply = (args, input) => isolatedEnv ? gitEnv(repo, args, isolatedEnv, input) : git(repo, args, input);
|
|
53
|
+
const mode = options.noIndex ? ["--no-index"] : [];
|
|
54
|
+
const check = await runApply(["apply", ...mode, "--check", "--reverse", "--whitespace=nowarn", "-"], patch);
|
|
55
|
+
if (check.code !== 0) {
|
|
56
|
+
primaryResult = {
|
|
57
|
+
reverted: false,
|
|
58
|
+
removed: [],
|
|
59
|
+
reason: options.noIndex
|
|
60
|
+
? `exact no-index reverse check failed; candidate output could not be proven reversible: ${check.stderr.trim()}`
|
|
61
|
+
: `turn-owned postimage no longer matches; refusing to overwrite later user edits: ${check.stderr.trim()}`,
|
|
62
|
+
reasonCode: options.noIndex ? "reverse_apply_failed" : "postimage_diverged",
|
|
63
|
+
};
|
|
64
|
+
return primaryResult;
|
|
65
|
+
}
|
|
66
|
+
const before = options.noIndex ? null : await statusPorcelain(repo);
|
|
67
|
+
const apply = await runApply(["apply", ...mode, "--reverse", "--whitespace=nowarn", "-"], patch);
|
|
68
|
+
if (apply.code !== 0) {
|
|
69
|
+
const after = options.noIndex ? null : await statusPorcelain(repo);
|
|
70
|
+
primaryResult = {
|
|
71
|
+
reverted: false,
|
|
72
|
+
removed: [],
|
|
73
|
+
reason: `reverse apply failed after preflight: ${apply.stderr.trim()}; ` +
|
|
74
|
+
(before !== null && after === before
|
|
75
|
+
? "tree remains at the observed pre-revert state"
|
|
76
|
+
: "target changed during revert; no destructive rollback was attempted"),
|
|
77
|
+
reasonCode: "reverse_apply_failed",
|
|
78
|
+
};
|
|
79
|
+
return primaryResult;
|
|
80
|
+
}
|
|
81
|
+
primaryResult = { reverted: true, removed };
|
|
82
|
+
return primaryResult;
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
primaryError = error;
|
|
86
|
+
throw error;
|
|
87
|
+
}
|
|
88
|
+
finally {
|
|
89
|
+
if (scratchDir) {
|
|
90
|
+
try {
|
|
91
|
+
rmSync(scratchDir, { recursive: true, force: true });
|
|
92
|
+
}
|
|
93
|
+
catch (cleanupError) {
|
|
94
|
+
const message = cleanupError instanceof Error ? cleanupError.message : String(cleanupError);
|
|
95
|
+
if (primaryResult?.reverted === false) {
|
|
96
|
+
primaryResult.cleanupError = message;
|
|
97
|
+
}
|
|
98
|
+
else if (primaryResult?.reverted === true) {
|
|
99
|
+
const terminal = new WorkspaceError("transient revert scratch cleanup failed", {
|
|
100
|
+
cause: cleanupError,
|
|
101
|
+
});
|
|
102
|
+
Object.defineProperties(terminal, {
|
|
103
|
+
cleanupError: { value: cleanupError, enumerable: false },
|
|
104
|
+
rollbackReverted: { value: true, enumerable: false },
|
|
105
|
+
});
|
|
106
|
+
throw terminal;
|
|
107
|
+
}
|
|
108
|
+
else if (primaryError instanceof Error) {
|
|
109
|
+
try {
|
|
110
|
+
Object.defineProperty(primaryError, "cleanupError", {
|
|
111
|
+
value: cleanupError,
|
|
112
|
+
enumerable: false,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
// A frozen typed error still remains the primary failure.
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
throw cleanupError;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=revert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revert.js","sourceRoot":"","sources":["../src/revert.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@claudexor/workspace",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "WorkspaceEnvelope manager: git worktree + scoped HOME/harness-config isolation + dirty policy.",
|
|
6
6
|
"type": "module",
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
"dist"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@claudexor/
|
|
20
|
-
"@claudexor/
|
|
21
|
-
"@claudexor/
|
|
19
|
+
"@claudexor/core": "3.1.2",
|
|
20
|
+
"@claudexor/util": "3.1.2",
|
|
21
|
+
"@claudexor/schema": "3.1.2"
|
|
22
22
|
},
|
|
23
23
|
"repository": {
|
|
24
24
|
"type": "git",
|