@claudexor/workspace 1.0.1 → 2.1.3
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 +9 -0
- package/dist/anchor-store.d.ts.map +1 -0
- package/dist/anchor-store.js +93 -0
- package/dist/anchor-store.js.map +1 -0
- package/dist/artifact-paths.d.ts +8 -36
- package/dist/artifact-paths.d.ts.map +1 -1
- package/dist/artifact-paths.js +11 -117
- package/dist/artifact-paths.js.map +1 -1
- package/dist/git.d.ts +32 -10
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +186 -165
- package/dist/git.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/manager.d.ts +14 -10
- package/dist/manager.d.ts.map +1 -1
- package/dist/manager.js +59 -31
- package/dist/manager.js.map +1 -1
- package/dist/raw-patch.d.ts +17 -0
- package/dist/raw-patch.d.ts.map +1 -0
- package/dist/raw-patch.js +158 -0
- package/dist/raw-patch.js.map +1 -0
- package/dist/thread-tree.d.ts +9 -2
- package/dist/thread-tree.d.ts.map +1 -1
- package/dist/thread-tree.js +49 -11
- package/dist/thread-tree.js.map +1 -1
- package/package.json +4 -4
- package/dist/self-ignore.d.ts +0 -10
- package/dist/self-ignore.d.ts.map +0 -1
- package/dist/self-ignore.js +0 -24
- package/dist/self-ignore.js.map +0 -1
package/dist/manager.js
CHANGED
|
@@ -4,9 +4,8 @@ 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 { runCaptureRaw, WorkspaceError } from "@claudexor/core";
|
|
7
|
-
import { ensureDir, newId, nowIso } from "@claudexor/util";
|
|
7
|
+
import { ensureDir, newId, nowIso, projectRuntimeDir } from "@claudexor/util";
|
|
8
8
|
import { branchDelete, diffStaged, diffTrees, isGitRepo, revParse, snapshotTree, statusPorcelain, stashCreate, worktreeAdd, worktreePrune, worktreeRemove, } from "./git.js";
|
|
9
|
-
import { ensureSelfIgnore } from "./self-ignore.js";
|
|
10
9
|
/**
|
|
11
10
|
* Manages WorkspaceEnvelopes: an isolated git worktree plus scoped HOME and
|
|
12
11
|
* per-harness config dirs, and dirty-tree handling. Claudexor owns these
|
|
@@ -17,7 +16,9 @@ import { ensureSelfIgnore } from "./self-ignore.js";
|
|
|
17
16
|
* (command names/titles mutate; the kernel start time never does). */
|
|
18
17
|
export function processStartTime(pid) {
|
|
19
18
|
try {
|
|
20
|
-
const out = execFileSync("ps", ["-p", String(pid), "-o", "lstart="], {
|
|
19
|
+
const out = execFileSync("ps", ["-p", String(pid), "-o", "lstart="], {
|
|
20
|
+
encoding: "utf8",
|
|
21
|
+
}).trim();
|
|
21
22
|
return out.length > 0 ? out : null;
|
|
22
23
|
}
|
|
23
24
|
catch {
|
|
@@ -26,11 +27,13 @@ export function processStartTime(pid) {
|
|
|
26
27
|
}
|
|
27
28
|
export class WorkspaceManager {
|
|
28
29
|
repoRoot;
|
|
29
|
-
|
|
30
|
+
runtimeRoot;
|
|
31
|
+
constructor(repoRoot, options = {}) {
|
|
30
32
|
this.repoRoot = repoRoot;
|
|
33
|
+
this.runtimeRoot = options.runtimeRoot ?? projectRuntimeDir(repoRoot);
|
|
31
34
|
}
|
|
32
35
|
workspacesDir() {
|
|
33
|
-
return join(this.
|
|
36
|
+
return join(this.runtimeRoot, "workspaces");
|
|
34
37
|
}
|
|
35
38
|
/**
|
|
36
39
|
* The scoped envelope base for a task/attempt. The sole on-disk root we
|
|
@@ -40,7 +43,10 @@ export class WorkspaceManager {
|
|
|
40
43
|
*/
|
|
41
44
|
envelopeBase(taskId, attemptId) {
|
|
42
45
|
const idPattern = /^[A-Za-z0-9._-]+$/;
|
|
43
|
-
for (const [label, id] of [
|
|
46
|
+
for (const [label, id] of [
|
|
47
|
+
["taskId", taskId],
|
|
48
|
+
["attemptId", attemptId],
|
|
49
|
+
]) {
|
|
44
50
|
if (!idPattern.test(id) || id === "." || id === "..") {
|
|
45
51
|
throw new WorkspaceError(`${label} '${id}' is not a safe path segment`);
|
|
46
52
|
}
|
|
@@ -53,17 +59,13 @@ export class WorkspaceManager {
|
|
|
53
59
|
}
|
|
54
60
|
async create(opts) {
|
|
55
61
|
// Envelope base holds scoped dirs (HOME + per-harness config) and, for git
|
|
56
|
-
// mode, the worktree as a subdir — so harness-written
|
|
57
|
-
//
|
|
58
|
-
// in a diff.
|
|
62
|
+
// mode, the worktree as a subdir — so harness-written caches, plugins,
|
|
63
|
+
// transcripts, and route-scoped API auth state live outside the work tree
|
|
64
|
+
// and never land in a diff. Credentials are never copied into this
|
|
65
|
+
// envelope; adapters may add only capability-declared, vendor-specific
|
|
66
|
+
// child context (Claude/Cursor macOS Keychain bridge, INV-067).
|
|
59
67
|
const base = this.envelopeBase(opts.taskId, opts.attemptId);
|
|
60
68
|
ensureDir(base);
|
|
61
|
-
// Self-ignoring runtime dir: a `.gitignore` with `*` INSIDE .claudexor makes
|
|
62
|
-
// the whole dir invisible to git in PRE-EXISTING repos too (v0.9 widened the
|
|
63
|
-
// seeded credentials from API keys to subscription OAuth copies; a user's
|
|
64
|
-
// `git add -A` in their own repo must never capture them). Content-checked
|
|
65
|
-
// repair lives in the shared ensureSelfIgnore owner.
|
|
66
|
-
ensureSelfIgnore(join(this.repoRoot, ".claudexor"));
|
|
67
69
|
const homeDir = join(base, "home");
|
|
68
70
|
const codexHome = join(homeDir, ".codex");
|
|
69
71
|
const claudeConfig = join(homeDir, ".claude");
|
|
@@ -84,7 +86,11 @@ export class WorkspaceManager {
|
|
|
84
86
|
// daemon-tracked runs. Pid + ps START TIME form a recycling-proof identity
|
|
85
87
|
// (command names/titles mutate — vitest, daemons and tools retitle
|
|
86
88
|
// themselves; the kernel start time never does).
|
|
87
|
-
writeFileSync(join(base, "owner.json"), JSON.stringify({
|
|
89
|
+
writeFileSync(join(base, "owner.json"), JSON.stringify({
|
|
90
|
+
pid: process.pid,
|
|
91
|
+
started: processStartTime(process.pid),
|
|
92
|
+
created_at: nowIso(),
|
|
93
|
+
}) + "\n");
|
|
88
94
|
// In-place mode: mutate the live repoRoot directly (no isolated worktree).
|
|
89
95
|
// Used for thread turns (chat-first: the next turn sees this one's work) and
|
|
90
96
|
// for stateful external environments where runtime state is the deliverable.
|
|
@@ -153,15 +159,14 @@ export class WorkspaceManager {
|
|
|
153
159
|
}
|
|
154
160
|
/**
|
|
155
161
|
* Best-effort baseline copy of the live tree for in-place diff(). Copies each
|
|
156
|
-
* top-level entry individually
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
* empty; reviewers still read the live tree directly.
|
|
162
|
+
* top-level entry individually while skipping only VCS/heavy ephemeral dirs.
|
|
163
|
+
* The baseline is external, so project `.claudexor/` content is ordinary user
|
|
164
|
+
* state and is copied like every other project path. On any failure the
|
|
165
|
+
* baseline is absent and diff() returns empty; reviewers still read the tree.
|
|
161
166
|
*/
|
|
162
167
|
snapshotBaseline(base) {
|
|
163
168
|
const baseline = join(base, "baseline");
|
|
164
|
-
const skip = new Set([".git", "
|
|
169
|
+
const skip = new Set([".git", "node_modules", "__pycache__", ".venv", "venv"]);
|
|
165
170
|
try {
|
|
166
171
|
ensureDir(baseline);
|
|
167
172
|
for (const entry of readdirSync(this.repoRoot)) {
|
|
@@ -192,10 +197,12 @@ export class WorkspaceManager {
|
|
|
192
197
|
* but a harness still writes native state — claude-code plan files, codex
|
|
193
198
|
* session rollouts, transcripts — into `$HOME/.claude`, `$CODEX_HOME`, etc.
|
|
194
199
|
* Without this, those land in the operator's REAL home (a live-caught leak: a
|
|
195
|
-
* read-only `plan` wrote into `~/.claude/plans`). Same env shape as `envFor
|
|
196
|
-
*
|
|
197
|
-
*
|
|
198
|
-
*
|
|
200
|
+
* read-only `plan` wrote into `~/.claude/plans`). Same env shape as `envFor`:
|
|
201
|
+
* non-native state and injected API-key routes stay scoped. This GENERIC
|
|
202
|
+
* home never bridges the OS Keychain; an adapter that declares
|
|
203
|
+
* `scoped_home_keychain_bridge` may create a vendor-only disposable child
|
|
204
|
+
* HOME without copying credentials (INV-067). Caller disposes all scoped
|
|
205
|
+
* state when the run ends.
|
|
199
206
|
*/
|
|
200
207
|
readOnlyHomeEnv() {
|
|
201
208
|
// A throwaway temp base — never under the project / synthetic repo root, so a
|
|
@@ -209,7 +216,12 @@ export class WorkspaceManager {
|
|
|
209
216
|
for (const d of [homeDir, codexHome, claudeConfig, cursorConfig, opencodeConfig])
|
|
210
217
|
ensureDir(d);
|
|
211
218
|
return {
|
|
212
|
-
env: {
|
|
219
|
+
env: {
|
|
220
|
+
HOME: homeDir,
|
|
221
|
+
CODEX_HOME: codexHome,
|
|
222
|
+
CLAUDE_CONFIG_DIR: claudeConfig,
|
|
223
|
+
XDG_CONFIG_HOME: join(homeDir, ".config"),
|
|
224
|
+
},
|
|
213
225
|
dispose: () => {
|
|
214
226
|
try {
|
|
215
227
|
rmSync(base, { recursive: true, force: true });
|
|
@@ -294,14 +306,30 @@ export class WorkspaceManager {
|
|
|
294
306
|
if (!existsSync(baseline))
|
|
295
307
|
return "";
|
|
296
308
|
try {
|
|
297
|
-
const r = await runCaptureRaw("diff", [
|
|
309
|
+
const r = await runCaptureRaw("diff", [
|
|
310
|
+
"-ruN",
|
|
311
|
+
"-x",
|
|
312
|
+
".git",
|
|
313
|
+
"-x",
|
|
314
|
+
"node_modules",
|
|
315
|
+
"-x",
|
|
316
|
+
"__pycache__",
|
|
317
|
+
"-x",
|
|
318
|
+
".venv",
|
|
319
|
+
"-x",
|
|
320
|
+
"venv",
|
|
321
|
+
baseline,
|
|
322
|
+
env.repo_root,
|
|
323
|
+
], { timeoutMs: 120_000 });
|
|
298
324
|
// Relativize the header paths to the git-style a/<rel> b/<rel> shape.
|
|
299
325
|
// Downstream consumers (diffstat, protected-path/risk gating) match
|
|
300
326
|
// REPO-RELATIVE globs like `test/**`; absolute `/…/repo/test/x`
|
|
301
327
|
// headers would silently bypass every one of them.
|
|
302
328
|
const relativized = WorkspaceManager.relativizePlainDiffHeadersFor(r.stdout, baseline, env.repo_root);
|
|
303
329
|
const CAP = 200_000;
|
|
304
|
-
return relativized.length > CAP
|
|
330
|
+
return relativized.length > CAP
|
|
331
|
+
? relativized.slice(0, CAP) + "\n... [diff truncated]\n"
|
|
332
|
+
: relativized;
|
|
305
333
|
}
|
|
306
334
|
catch {
|
|
307
335
|
// best-effort: if `diff` is unavailable the loop still works (reviewers read the live tree)
|
|
@@ -334,9 +362,9 @@ export class WorkspaceManager {
|
|
|
334
362
|
}
|
|
335
363
|
}
|
|
336
364
|
// Remove only the scoped envelope base (worktree + scoped home/env/logs/artifacts/
|
|
337
|
-
// baseline, including any
|
|
365
|
+
// baseline, including any route-scoped API auth material), derived from task/attempt ids.
|
|
338
366
|
// For git mode this equals dirname(worktree_path); for in-place it is a sibling
|
|
339
|
-
// under
|
|
367
|
+
// under the external runtime workspaces root, so deriving from ids prevents
|
|
340
368
|
// dispose() from ever deleting the live tree.
|
|
341
369
|
try {
|
|
342
370
|
rmSync(this.envelopeBase(env.task_id, env.attempt_id), { recursive: true, force: true });
|
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,17 @@
|
|
|
1
|
+
import type { HarnessEvent, RawContextPacket, RawGitPatchEnvelope, RawPatchRefusalCode } from "@claudexor/schema";
|
|
2
|
+
export declare class RawPatchRefusalError extends Error {
|
|
3
|
+
readonly code: RawPatchRefusalCode;
|
|
4
|
+
constructor(code: RawPatchRefusalCode, message: string);
|
|
5
|
+
}
|
|
6
|
+
export declare function captureRawPatchEnvelope(enabled: boolean, previous: RawGitPatchEnvelope | null, event: HarnessEvent): RawGitPatchEnvelope | null;
|
|
7
|
+
/** Validate and materialize a raw patch only inside its isolated candidate tree. */
|
|
8
|
+
export declare function consumeRawPatchEnvelope(input: {
|
|
9
|
+
repoRoot: string;
|
|
10
|
+
worktreePath: string;
|
|
11
|
+
baseCommitSha: string;
|
|
12
|
+
context: RawContextPacket | null;
|
|
13
|
+
envelope: RawGitPatchEnvelope | null;
|
|
14
|
+
}): Promise<{
|
|
15
|
+
materializedTreeSha: string;
|
|
16
|
+
}>;
|
|
17
|
+
//# sourceMappingURL=raw-patch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw-patch.d.ts","sourceRoot":"","sources":["../src/raw-patch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAI3B,qBAAa,oBAAqB,SAAQ,KAAK;aAE3B,IAAI,EAAE,mBAAmB;gBAAzB,IAAI,EAAE,mBAAmB,EACzC,OAAO,EAAE,MAAM;CAKlB;AAuBD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,mBAAmB,GAAG,IAAI,EACpC,KAAK,EAAE,YAAY,GAClB,mBAAmB,GAAG,IAAI,CAQ5B;AAED,oFAAoF;AACpF,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACtC,GAAG,OAAO,CAAC;IAAE,mBAAmB,EAAE,MAAM,CAAA;CAAE,CAAC,CA0H3C"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { isAbsolute, resolve } from "node:path";
|
|
2
|
+
import { parseUnifiedDiff } from "@claudexor/core";
|
|
3
|
+
import { sensitiveResourcePolicy, sha256 } from "@claudexor/util";
|
|
4
|
+
import { applyPatchProtected, git, materializePatchTree, revParse } from "./git.js";
|
|
5
|
+
export class RawPatchRefusalError extends Error {
|
|
6
|
+
code;
|
|
7
|
+
constructor(code, message) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.code = code;
|
|
10
|
+
this.name = "RawPatchRefusalError";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function refuse(code, detail) {
|
|
14
|
+
throw new RawPatchRefusalError(code, `${code}: ${detail}`);
|
|
15
|
+
}
|
|
16
|
+
function validatePath(path) {
|
|
17
|
+
if (!path ||
|
|
18
|
+
isAbsolute(path) ||
|
|
19
|
+
path.includes("\\") ||
|
|
20
|
+
path.split("/").some((part) => part === ".." || part === "" || part === ".")) {
|
|
21
|
+
refuse("raw_patch_path_traversal", `invalid repo-relative path ${JSON.stringify(path)}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function rootAllows(path, root) {
|
|
25
|
+
if (root === ".")
|
|
26
|
+
return true;
|
|
27
|
+
validatePath(root);
|
|
28
|
+
return path === root || path.startsWith(`${root}/`);
|
|
29
|
+
}
|
|
30
|
+
export function captureRawPatchEnvelope(enabled, previous, event) {
|
|
31
|
+
if (event.type !== "patch_produced")
|
|
32
|
+
return previous;
|
|
33
|
+
if (!enabled || !event.patch_envelope || previous)
|
|
34
|
+
refuse("raw_patch_missing_evidence", "expected exactly one enabled patch envelope");
|
|
35
|
+
if (sensitiveResourcePolicy.containsSensitiveContent(event.patch_envelope.patch)) {
|
|
36
|
+
refuse("raw_patch_sensitive_content", "patch content matched sensitive-resource policy");
|
|
37
|
+
}
|
|
38
|
+
return event.patch_envelope;
|
|
39
|
+
}
|
|
40
|
+
/** Validate and materialize a raw patch only inside its isolated candidate tree. */
|
|
41
|
+
export async function consumeRawPatchEnvelope(input) {
|
|
42
|
+
const { repoRoot, worktreePath, baseCommitSha, context, envelope } = input;
|
|
43
|
+
if (!context || !envelope)
|
|
44
|
+
refuse("raw_patch_missing_evidence", "raw producer returned no patch envelope");
|
|
45
|
+
if (resolve(repoRoot) === resolve(worktreePath)) {
|
|
46
|
+
refuse("raw_patch_requires_isolation", "raw patches cannot materialize in the live tree");
|
|
47
|
+
}
|
|
48
|
+
if (envelope.context_packet_hash !== context.packet_hash) {
|
|
49
|
+
refuse("raw_patch_missing_evidence", "response does not bind the supplied context packet");
|
|
50
|
+
}
|
|
51
|
+
const actualBaseTree = await revParse(repoRoot, `${baseCommitSha}^{tree}`);
|
|
52
|
+
if (context.base_commit_sha !== baseCommitSha ||
|
|
53
|
+
context.base_tree_sha !== actualBaseTree ||
|
|
54
|
+
envelope.base_tree_sha !== actualBaseTree) {
|
|
55
|
+
refuse("raw_patch_base_mismatch", "patch and context do not bind the candidate base tree");
|
|
56
|
+
}
|
|
57
|
+
let worktreeBaseTree;
|
|
58
|
+
try {
|
|
59
|
+
worktreeBaseTree = await revParse(worktreePath, "HEAD^{tree}");
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
refuse("raw_patch_requires_isolation", "isolated worktree base could not be verified");
|
|
63
|
+
}
|
|
64
|
+
if (worktreeBaseTree !== actualBaseTree) {
|
|
65
|
+
refuse("raw_patch_base_mismatch", "isolated worktree HEAD does not match the bound base tree");
|
|
66
|
+
}
|
|
67
|
+
const worktreeStatus = await git(worktreePath, [
|
|
68
|
+
"status",
|
|
69
|
+
"--porcelain=v1",
|
|
70
|
+
"-z",
|
|
71
|
+
"--untracked-files=all",
|
|
72
|
+
]);
|
|
73
|
+
if (worktreeStatus.code !== 0) {
|
|
74
|
+
refuse("raw_patch_requires_isolation", "isolated worktree status could not be verified");
|
|
75
|
+
}
|
|
76
|
+
if (worktreeStatus.stdout.length !== 0) {
|
|
77
|
+
refuse("raw_patch_requires_isolation", "isolated worktree must be clean before raw apply");
|
|
78
|
+
}
|
|
79
|
+
if (sha256(envelope.patch) !== envelope.patch_hash) {
|
|
80
|
+
refuse("raw_patch_digest_mismatch", "patch_hash does not match the exact patch bytes");
|
|
81
|
+
}
|
|
82
|
+
const parsed = parseUnifiedDiff(envelope.patch);
|
|
83
|
+
if (parsed.files.length === 0)
|
|
84
|
+
refuse("raw_patch_truncated", "patch has no complete file record");
|
|
85
|
+
if (parsed.files.some((file) => file.binary)) {
|
|
86
|
+
refuse("raw_patch_binary_unsupported", "binary patch payloads are not accepted by raw API");
|
|
87
|
+
}
|
|
88
|
+
const actualPaths = new Set();
|
|
89
|
+
const expectedPresence = new Map();
|
|
90
|
+
for (const file of parsed.files) {
|
|
91
|
+
if (file.oldPath) {
|
|
92
|
+
validatePath(file.oldPath);
|
|
93
|
+
actualPaths.add(file.oldPath);
|
|
94
|
+
expectedPresence.set(file.oldPath, "present");
|
|
95
|
+
}
|
|
96
|
+
if (file.newPath) {
|
|
97
|
+
validatePath(file.newPath);
|
|
98
|
+
actualPaths.add(file.newPath);
|
|
99
|
+
const expected = file.oldPath === file.newPath ? "present" : "absent";
|
|
100
|
+
const prior = expectedPresence.get(file.newPath);
|
|
101
|
+
if (prior && prior !== expected) {
|
|
102
|
+
refuse("raw_patch_missing_evidence", `conflicting base-tree operations for ${file.newPath}`);
|
|
103
|
+
}
|
|
104
|
+
expectedPresence.set(file.newPath, expected);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
const editable = new Map(context.readable_files.map((file) => [file.path, file]));
|
|
108
|
+
const declared = new Map();
|
|
109
|
+
for (const item of envelope.touched_paths) {
|
|
110
|
+
validatePath(item.path);
|
|
111
|
+
if (declared.has(item.path)) {
|
|
112
|
+
refuse("raw_patch_missing_evidence", `duplicate evidence for ${item.path}`);
|
|
113
|
+
}
|
|
114
|
+
declared.set(item.path, item.expected_blob_oid);
|
|
115
|
+
}
|
|
116
|
+
for (const path of actualPaths) {
|
|
117
|
+
if (sensitiveResourcePolicy.classifyPath(path).sensitive) {
|
|
118
|
+
refuse("raw_patch_outside_scope", `${path} is outside the packet's exact editable scope`);
|
|
119
|
+
}
|
|
120
|
+
const presence = expectedPresence.get(path);
|
|
121
|
+
const file = editable.get(path);
|
|
122
|
+
const expected = declared.get(path);
|
|
123
|
+
if (expected === undefined || !presence) {
|
|
124
|
+
refuse("raw_patch_missing_evidence", `missing preimage evidence for ${path}`);
|
|
125
|
+
}
|
|
126
|
+
if (presence === "present") {
|
|
127
|
+
if (!context.editable_paths.includes(path) || !file) {
|
|
128
|
+
refuse("raw_patch_outside_scope", `${path} is outside the packet's exact editable scope`);
|
|
129
|
+
}
|
|
130
|
+
if (file.blob_oid !== expected) {
|
|
131
|
+
refuse("raw_patch_stale_preimage", `preimage oid for ${path} does not match the packet`);
|
|
132
|
+
}
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
if (!context.creatable_roots.some((root) => rootAllows(path, root))) {
|
|
136
|
+
refuse("raw_patch_outside_scope", `${path} is outside the packet's exact create scope`);
|
|
137
|
+
}
|
|
138
|
+
if (file || expected !== null) {
|
|
139
|
+
refuse("raw_patch_stale_preimage", `preimage oid for ${path} does not match the packet`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
if (declared.size !== actualPaths.size ||
|
|
143
|
+
[...declared].some(([path]) => !actualPaths.has(path))) {
|
|
144
|
+
refuse("raw_patch_missing_evidence", "declared touched paths differ from the Git patch");
|
|
145
|
+
}
|
|
146
|
+
let materializedTreeSha;
|
|
147
|
+
try {
|
|
148
|
+
materializedTreeSha = await materializePatchTree(repoRoot, baseCommitSha, envelope.patch);
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
refuse("raw_patch_apply_failed", error instanceof Error ? error.message : String(error));
|
|
152
|
+
}
|
|
153
|
+
const applied = await applyPatchProtected(worktreePath, envelope.patch);
|
|
154
|
+
if (!applied.ok)
|
|
155
|
+
refuse("raw_patch_apply_failed", applied.detail ?? "git apply refused");
|
|
156
|
+
return { materializedTreeSha };
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=raw-patch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw-patch.js","sourceRoot":"","sources":["../src/raw-patch.ts"],"names":[],"mappings":"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"}
|
package/dist/thread-tree.d.ts
CHANGED
|
@@ -13,8 +13,15 @@ export interface ThreadWorktreeResult {
|
|
|
13
13
|
* the cumulative patch to the project. Race candidates still branch off the
|
|
14
14
|
* worktree's current state into throwaway envelopes.
|
|
15
15
|
*
|
|
16
|
-
* The worktree lives
|
|
17
|
-
* project's own git never
|
|
16
|
+
* The worktree lives in Claudexor's external per-project runtime namespace;
|
|
17
|
+
* the project's own git and ignore files are never used as a runtime boundary.
|
|
18
18
|
*/
|
|
19
19
|
export declare function ensureThreadWorktree(projectRoot: string, threadId: string): Promise<ThreadWorktreeResult>;
|
|
20
|
+
/** Advance the persistent thread branch to the project state just delivered,
|
|
21
|
+
* then realign its daemon-owned worktree. The branch ref makes snapshot
|
|
22
|
+
* commits survive aggressive Git GC; the returned SHA is the journal base. */
|
|
23
|
+
export declare function advanceThreadWorktree(projectRoot: string, threadId: string, worktreePath: string, targetSha: string): Promise<string>;
|
|
24
|
+
/** Explicit purge of daemon-owned isolated-thread resources. Lifecycle
|
|
25
|
+
* authority lives in the journal; the generic orphan sweeper never guesses. */
|
|
26
|
+
export declare function purgeThreadWorktree(projectRoot: string, threadId: string): Promise<void>;
|
|
20
27
|
//# sourceMappingURL=thread-tree.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-tree.d.ts","sourceRoot":"","sources":["../src/thread-tree.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"thread-tree.d.ts","sourceRoot":"","sources":["../src/thread-tree.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,CAAC,CA6C/B;AAED;;8EAE8E;AAC9E,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED;+EAC+E;AAC/E,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS9F"}
|
package/dist/thread-tree.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { existsSync, rmSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { WorkspaceError } from "@claudexor/core";
|
|
4
|
-
import { ensureDir } from "@claudexor/util";
|
|
5
|
-
import { branchDelete, isGitRepo, revParse, snapshotTree, worktreeAdd, worktreeAddExisting } from "./git.js";
|
|
6
|
-
import { ensureSelfIgnore } from "./self-ignore.js";
|
|
4
|
+
import { ensureDir, projectRuntimeDir } from "@claudexor/util";
|
|
5
|
+
import { branchDelete, git, isGitRepo, revParse, snapshotTree, worktreeAdd, worktreeAddExisting, worktreeRemove, } from "./git.js";
|
|
7
6
|
/**
|
|
8
7
|
* Lazily create (or reuse) the persistent git worktree backing an ISOLATED
|
|
9
8
|
* thread. Turns run in-place WITHIN this worktree so each sees the previous
|
|
@@ -11,8 +10,8 @@ import { ensureSelfIgnore } from "./self-ignore.js";
|
|
|
11
10
|
* the cumulative patch to the project. Race candidates still branch off the
|
|
12
11
|
* worktree's current state into throwaway envelopes.
|
|
13
12
|
*
|
|
14
|
-
* The worktree lives
|
|
15
|
-
* project's own git never
|
|
13
|
+
* The worktree lives in Claudexor's external per-project runtime namespace;
|
|
14
|
+
* the project's own git and ignore files are never used as a runtime boundary.
|
|
16
15
|
*/
|
|
17
16
|
export async function ensureThreadWorktree(projectRoot, threadId) {
|
|
18
17
|
if (!/^[A-Za-z0-9._-]+$/.test(threadId) || threadId === "." || threadId === "..") {
|
|
@@ -21,19 +20,15 @@ export async function ensureThreadWorktree(projectRoot, threadId) {
|
|
|
21
20
|
if (!(await isGitRepo(projectRoot))) {
|
|
22
21
|
throw new WorkspaceError(`isolated threads require a git project: ${projectRoot}`);
|
|
23
22
|
}
|
|
24
|
-
const
|
|
23
|
+
const threadDir = join(projectRuntimeDir(projectRoot), "threads", threadId);
|
|
24
|
+
const path = join(threadDir, "tree");
|
|
25
25
|
if (existsSync(join(path, ".git"))) {
|
|
26
26
|
// Turns never commit on the branch (in-place envelopes leave changes in the
|
|
27
27
|
// working tree), so HEAD still points at the original base snapshot.
|
|
28
28
|
return { path, baseSha: await revParse(path, "HEAD"), created: false };
|
|
29
29
|
}
|
|
30
30
|
const baseSha = await snapshotTree(projectRoot);
|
|
31
|
-
const threadDir = join(projectRoot, ".claudexor", "threads", threadId);
|
|
32
31
|
ensureDir(threadDir);
|
|
33
|
-
// Self-ignore the project's `.claudexor/` so the user's own `git add -A` never
|
|
34
|
-
// captures the thread worktree (shared content-checked owner with
|
|
35
|
-
// WorkspaceManager: a user-edited/emptied file is repaired, not trusted).
|
|
36
|
-
ensureSelfIgnore(join(projectRoot, ".claudexor"));
|
|
37
32
|
const branch = `claudexor/thread-${threadId}`;
|
|
38
33
|
// Thread branches are PERSISTENT live-thread state. When the branch
|
|
39
34
|
// survives but the worktree directory was lost, RECOVER by recreating the
|
|
@@ -66,4 +61,47 @@ export async function ensureThreadWorktree(projectRoot, threadId) {
|
|
|
66
61
|
}
|
|
67
62
|
return { path, baseSha, created: true };
|
|
68
63
|
}
|
|
64
|
+
/** Advance the persistent thread branch to the project state just delivered,
|
|
65
|
+
* then realign its daemon-owned worktree. The branch ref makes snapshot
|
|
66
|
+
* commits survive aggressive Git GC; the returned SHA is the journal base. */
|
|
67
|
+
export async function advanceThreadWorktree(projectRoot, threadId, worktreePath, targetSha) {
|
|
68
|
+
if (!/^[A-Za-z0-9._-]+$/.test(threadId) || threadId === "." || threadId === "..") {
|
|
69
|
+
throw new WorkspaceError(`threadId '${threadId}' is not a safe path segment`);
|
|
70
|
+
}
|
|
71
|
+
const branch = `refs/heads/claudexor/thread-${threadId}`;
|
|
72
|
+
const oldTip = await revParse(projectRoot, branch);
|
|
73
|
+
// Materialize the target in the daemon-owned index/worktree without moving
|
|
74
|
+
// HEAD. Publishing the persistent branch first would make a failed reset or
|
|
75
|
+
// clean look authoritative even though the worktree still held older work.
|
|
76
|
+
const realign = await git(worktreePath, ["read-tree", "--reset", "-u", targetSha]);
|
|
77
|
+
if (realign.code !== 0) {
|
|
78
|
+
throw new WorkspaceError(`thread worktree realignment failed: ${realign.stderr.trim()}`);
|
|
79
|
+
}
|
|
80
|
+
const clean = await git(worktreePath, ["clean", "-fd"]);
|
|
81
|
+
if (clean.code !== 0) {
|
|
82
|
+
throw new WorkspaceError(`thread worktree cleanup failed: ${clean.stderr.trim()}`);
|
|
83
|
+
}
|
|
84
|
+
const update = await git(projectRoot, ["update-ref", branch, targetSha, oldTip]);
|
|
85
|
+
if (update.code !== 0) {
|
|
86
|
+
throw new WorkspaceError(`thread branch advanced concurrently: ${update.stderr.trim()}`);
|
|
87
|
+
}
|
|
88
|
+
const observed = await revParse(worktreePath, "HEAD");
|
|
89
|
+
if (observed !== targetSha) {
|
|
90
|
+
throw new WorkspaceError("thread branch and worktree did not converge on the delivered SHA");
|
|
91
|
+
}
|
|
92
|
+
return targetSha;
|
|
93
|
+
}
|
|
94
|
+
/** Explicit purge of daemon-owned isolated-thread resources. Lifecycle
|
|
95
|
+
* authority lives in the journal; the generic orphan sweeper never guesses. */
|
|
96
|
+
export async function purgeThreadWorktree(projectRoot, threadId) {
|
|
97
|
+
if (!/^[A-Za-z0-9._-]+$/.test(threadId) || threadId === "." || threadId === "..") {
|
|
98
|
+
throw new WorkspaceError(`threadId '${threadId}' is not a safe path segment`);
|
|
99
|
+
}
|
|
100
|
+
const threadDir = join(projectRuntimeDir(projectRoot), "threads", threadId);
|
|
101
|
+
const path = join(threadDir, "tree");
|
|
102
|
+
if (existsSync(join(path, ".git")))
|
|
103
|
+
await worktreeRemove(projectRoot, path);
|
|
104
|
+
rmSync(threadDir, { recursive: true, force: true });
|
|
105
|
+
await branchDelete(projectRoot, `claudexor/thread-${threadId}`).catch(() => { });
|
|
106
|
+
}
|
|
69
107
|
//# sourceMappingURL=thread-tree.js.map
|
package/dist/thread-tree.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-tree.js","sourceRoot":"","sources":["../src/thread-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"thread-tree.js","sourceRoot":"","sources":["../src/thread-tree.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@claudexor/workspace",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "2.1.3",
|
|
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": "2.1.3",
|
|
20
|
+
"@claudexor/schema": "2.1.3",
|
|
21
|
+
"@claudexor/util": "2.1.3"
|
|
22
22
|
},
|
|
23
23
|
"repository": {
|
|
24
24
|
"type": "git",
|
package/dist/self-ignore.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Ensure `.claudexor/.gitignore` CONTAINS `*` so the runtime dir stays
|
|
3
|
-
* invisible to the project's git (the git-native trick that avoids mutating
|
|
4
|
-
* the user's own .gitignore). Content-checked, not just existence-checked:
|
|
5
|
-
* a user-edited or emptied file would silently re-expose envelopes, thread
|
|
6
|
-
* worktrees, and seeded credentials to `git add -A`. Shared by the envelope
|
|
7
|
-
* manager and the thread-worktree creator (single owner of the invariant).
|
|
8
|
-
*/
|
|
9
|
-
export declare function ensureSelfIgnore(claudexorDir: string): void;
|
|
10
|
-
//# sourceMappingURL=self-ignore.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"self-ignore.d.ts","sourceRoot":"","sources":["../src/self-ignore.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAS3D"}
|