@claudexor/workspace 3.1.1 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/git-capability.d.ts +24 -0
- package/dist/git-capability.d.ts.map +1 -0
- package/dist/git-capability.js +135 -0
- package/dist/git-capability.js.map +1 -0
- package/dist/git-initialization.d.ts +42 -0
- package/dist/git-initialization.d.ts.map +1 -0
- package/dist/git-initialization.js +79 -0
- package/dist/git-initialization.js.map +1 -0
- package/dist/git.d.ts +25 -54
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +126 -140
- 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 +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/raw-patch.d.ts.map +1 -1
- package/dist/raw-patch.js.map +1 -1
- 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/dist/thread-tree.d.ts +3 -0
- package/dist/thread-tree.d.ts.map +1 -1
- package/dist/thread-tree.js +19 -7
- package/dist/thread-tree.js.map +1 -1
- package/package.json +4 -4
|
@@ -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":"AAcA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,wBAAwB,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAC;CAC7D;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,CAAC,CA0D/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
|
@@ -2,7 +2,7 @@ import { existsSync, rmSync } from "node:fs";
|
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { WorkspaceError } from "@claudexor/core";
|
|
4
4
|
import { ensureDir, projectRuntimeDir } from "@claudexor/util";
|
|
5
|
-
import { branchDelete,
|
|
5
|
+
import { branchDelete, ensureGitRepository, git, revParse, snapshotTree, worktreeAdd, worktreeAddExisting, worktreeRemove, } from "./git.js";
|
|
6
6
|
/**
|
|
7
7
|
* Lazily create (or reuse) the persistent git worktree backing an ISOLATED
|
|
8
8
|
* thread. Turns run in-place WITHIN this worktree so each sees the previous
|
|
@@ -17,15 +17,22 @@ export async function ensureThreadWorktree(projectRoot, threadId) {
|
|
|
17
17
|
if (!/^[A-Za-z0-9._-]+$/.test(threadId) || threadId === "." || threadId === "..") {
|
|
18
18
|
throw new WorkspaceError(`threadId '${threadId}' is not a safe path segment`);
|
|
19
19
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
// Explicitly choosing an isolated thread authorizes this one idempotent
|
|
21
|
+
// project mutation. The same canonical initializer is used by other
|
|
22
|
+
// write-mode Git boundaries; in-place read-only work remains untouched.
|
|
23
|
+
const gitInitialization = await ensureGitRepository(projectRoot);
|
|
24
|
+
const projectGitInitialization = gitInitialization.initialized || gitInitialization.baselineCommitted ? gitInitialization : null;
|
|
23
25
|
const threadDir = join(projectRuntimeDir(projectRoot), "threads", threadId);
|
|
24
26
|
const path = join(threadDir, "tree");
|
|
25
27
|
if (existsSync(join(path, ".git"))) {
|
|
26
28
|
// Turns never commit on the branch (in-place envelopes leave changes in the
|
|
27
29
|
// working tree), so HEAD still points at the original base snapshot.
|
|
28
|
-
return {
|
|
30
|
+
return {
|
|
31
|
+
path,
|
|
32
|
+
baseSha: await revParse(path, "HEAD"),
|
|
33
|
+
created: false,
|
|
34
|
+
projectGitInitialization,
|
|
35
|
+
};
|
|
29
36
|
}
|
|
30
37
|
const baseSha = await snapshotTree(projectRoot);
|
|
31
38
|
ensureDir(threadDir);
|
|
@@ -45,7 +52,12 @@ export async function ensureThreadWorktree(projectRoot, threadId) {
|
|
|
45
52
|
rmSync(threadDir, { recursive: true, force: true });
|
|
46
53
|
throw err; // never delete the surviving branch
|
|
47
54
|
}
|
|
48
|
-
return {
|
|
55
|
+
return {
|
|
56
|
+
path,
|
|
57
|
+
baseSha: await revParse(path, "HEAD"),
|
|
58
|
+
created: true,
|
|
59
|
+
projectGitInitialization,
|
|
60
|
+
};
|
|
49
61
|
}
|
|
50
62
|
try {
|
|
51
63
|
await worktreeAdd(projectRoot, path, branch, baseSha);
|
|
@@ -59,7 +71,7 @@ export async function ensureThreadWorktree(projectRoot, threadId) {
|
|
|
59
71
|
await branchDelete(projectRoot, branch).catch(() => { });
|
|
60
72
|
throw err;
|
|
61
73
|
}
|
|
62
|
-
return { path, baseSha, created: true };
|
|
74
|
+
return { path, baseSha, created: true, projectGitInitialization };
|
|
63
75
|
}
|
|
64
76
|
/** Advance the persistent thread branch to the project state just delivered,
|
|
65
77
|
* then realign its daemon-owned worktree. The branch ref makes snapshot
|
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,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EACL,YAAY,EACZ,GAAG,EACH,
|
|
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,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,GAAG,EACH,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,cAAc,GACf,MAAM,UAAU,CAAC;AAclB;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,WAAmB,EACnB,QAAgB;IAEhB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACjF,MAAM,IAAI,cAAc,CAAC,aAAa,QAAQ,8BAA8B,CAAC,CAAC;IAChF,CAAC;IACD,wEAAwE;IACxE,oEAAoE;IACpE,wEAAwE;IACxE,MAAM,iBAAiB,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACjE,MAAM,wBAAwB,GAC5B,iBAAiB,CAAC,WAAW,IAAI,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;IAClG,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACrC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACnC,4EAA4E;QAC5E,qEAAqE;QACrE,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YACrC,OAAO,EAAE,KAAK;YACd,wBAAwB;SACzB,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;IAChD,SAAS,CAAC,SAAS,CAAC,CAAC;IACrB,MAAM,MAAM,GAAG,oBAAoB,QAAQ,EAAE,CAAC;IAC9C,oEAAoE;IACpE,0EAA0E;IAC1E,uEAAuE;IACvE,uEAAuE;IACvE,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;SACtD,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACtB,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,mBAAmB,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,MAAM,GAAG,CAAC,CAAC,oCAAoC;QACjD,CAAC;QACD,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YACrC,OAAO,EAAE,IAAI;YACb,wBAAwB;SACzB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,0EAA0E;QAC1E,wEAAwE;QACxE,uEAAuE;QACvE,sDAAsD;QACtD,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,MAAM,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACxD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC;AACpE,CAAC;AAED;;8EAE8E;AAC9E,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAmB,EACnB,QAAgB,EAChB,YAAoB,EACpB,SAAiB;IAEjB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACjF,MAAM,IAAI,cAAc,CAAC,aAAa,QAAQ,8BAA8B,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,MAAM,GAAG,+BAA+B,QAAQ,EAAE,CAAC;IACzD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACnD,2EAA2E;IAC3E,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACnF,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,cAAc,CAAC,uCAAuC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACxD,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,cAAc,CAAC,mCAAmC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACjF,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,cAAc,CAAC,wCAAwC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACtD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,cAAc,CAAC,kEAAkE,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;+EAC+E;AAC/E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,WAAmB,EAAE,QAAgB;IAC7E,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACjF,MAAM,IAAI,cAAc,CAAC,aAAa,QAAQ,8BAA8B,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACrC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAAE,MAAM,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,YAAY,CAAC,WAAW,EAAE,oBAAoB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAClF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@claudexor/workspace",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
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/schema": "3.
|
|
21
|
-
"@claudexor/
|
|
19
|
+
"@claudexor/core": "3.2.0",
|
|
20
|
+
"@claudexor/schema": "3.2.0",
|
|
21
|
+
"@claudexor/util": "3.2.0"
|
|
22
22
|
},
|
|
23
23
|
"repository": {
|
|
24
24
|
"type": "git",
|