@claudexor/workspace 4.8.2 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/anchor-store.d.ts +20 -9
- package/dist/anchor-store.d.ts.map +1 -1
- package/dist/anchor-store.js +89 -14
- package/dist/anchor-store.js.map +1 -1
- package/dist/capture-failure.d.ts.map +1 -1
- package/dist/capture-failure.js +7 -2
- package/dist/capture-failure.js.map +1 -1
- package/dist/capture-inventory.d.ts +10 -0
- package/dist/capture-inventory.d.ts.map +1 -0
- package/dist/capture-inventory.js +63 -0
- package/dist/capture-inventory.js.map +1 -0
- package/dist/capture-objects.d.ts +32 -0
- package/dist/capture-objects.d.ts.map +1 -0
- package/dist/capture-objects.js +129 -0
- package/dist/capture-objects.js.map +1 -0
- package/dist/cleanup-fault.d.ts +18 -0
- package/dist/cleanup-fault.d.ts.map +1 -0
- package/dist/cleanup-fault.js +45 -0
- package/dist/cleanup-fault.js.map +1 -0
- package/dist/continuation-evidence.d.ts +61 -15
- package/dist/continuation-evidence.d.ts.map +1 -1
- package/dist/continuation-evidence.js +151 -36
- package/dist/continuation-evidence.js.map +1 -1
- package/dist/continuation-facts.d.ts +93 -0
- package/dist/continuation-facts.d.ts.map +1 -0
- package/dist/continuation-facts.js +162 -0
- package/dist/continuation-facts.js.map +1 -0
- package/dist/directory-workspace.d.ts.map +1 -1
- package/dist/directory-workspace.js +1 -3
- package/dist/directory-workspace.js.map +1 -1
- package/dist/files-io.d.ts.map +1 -1
- package/dist/files-io.js +1 -7
- package/dist/files-io.js.map +1 -1
- package/dist/fs-presence.d.ts +12 -0
- package/dist/fs-presence.d.ts.map +1 -0
- package/dist/fs-presence.js +35 -0
- package/dist/fs-presence.js.map +1 -0
- package/dist/git-nested-repositories.d.ts.map +1 -1
- package/dist/git-nested-repositories.js +11 -2
- package/dist/git-nested-repositories.js.map +1 -1
- package/dist/git-observed.d.ts +75 -0
- package/dist/git-observed.d.ts.map +1 -0
- package/dist/git-observed.js +172 -0
- package/dist/git-observed.js.map +1 -0
- package/dist/git-result.d.ts +36 -0
- package/dist/git-result.d.ts.map +1 -0
- package/dist/git-result.js +96 -0
- package/dist/git-result.js.map +1 -0
- package/dist/git-run.d.ts +11 -0
- package/dist/git-run.d.ts.map +1 -1
- package/dist/git-run.js +24 -0
- package/dist/git-run.js.map +1 -1
- package/dist/git-snapshot.d.ts +40 -0
- package/dist/git-snapshot.d.ts.map +1 -0
- package/dist/git-snapshot.js +238 -0
- package/dist/git-snapshot.js.map +1 -0
- package/dist/git-transient-capture.d.ts +63 -16
- package/dist/git-transient-capture.d.ts.map +1 -1
- package/dist/git-transient-capture.js +170 -57
- package/dist/git-transient-capture.js.map +1 -1
- package/dist/git.d.ts +46 -21
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +164 -103
- package/dist/git.js.map +1 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/lanes.d.ts +2 -1
- package/dist/lanes.d.ts.map +1 -1
- package/dist/lanes.js +7 -6
- package/dist/lanes.js.map +1 -1
- package/dist/manager.d.ts +21 -7
- package/dist/manager.d.ts.map +1 -1
- package/dist/manager.js +30 -17
- package/dist/manager.js.map +1 -1
- package/dist/object-compose.d.ts +58 -0
- package/dist/object-compose.d.ts.map +1 -0
- package/dist/object-compose.js +444 -0
- package/dist/object-compose.js.map +1 -0
- package/dist/object-materialize.d.ts +52 -0
- package/dist/object-materialize.d.ts.map +1 -0
- package/dist/object-materialize.js +467 -0
- package/dist/object-materialize.js.map +1 -0
- package/dist/object-occupied.d.ts +27 -0
- package/dist/object-occupied.d.ts.map +1 -0
- package/dist/object-occupied.js +131 -0
- package/dist/object-occupied.js.map +1 -0
- package/dist/object-revert.d.ts +45 -0
- package/dist/object-revert.d.ts.map +1 -0
- package/dist/object-revert.js +265 -0
- package/dist/object-revert.js.map +1 -0
- package/dist/object-saved-files.d.ts +50 -0
- package/dist/object-saved-files.d.ts.map +1 -0
- package/dist/object-saved-files.js +176 -0
- package/dist/object-saved-files.js.map +1 -0
- package/dist/object-sparse.d.ts +22 -0
- package/dist/object-sparse.d.ts.map +1 -0
- package/dist/object-sparse.js +72 -0
- package/dist/object-sparse.js.map +1 -0
- package/dist/object-store-leases.d.ts +41 -0
- package/dist/object-store-leases.d.ts.map +1 -0
- package/dist/object-store-leases.js +277 -0
- package/dist/object-store-leases.js.map +1 -0
- package/dist/object-store-roots.d.ts +25 -0
- package/dist/object-store-roots.d.ts.map +1 -0
- package/dist/object-store-roots.js +114 -0
- package/dist/object-store-roots.js.map +1 -0
- package/dist/object-store.d.ts +110 -0
- package/dist/object-store.d.ts.map +1 -0
- package/dist/object-store.js +404 -0
- package/dist/object-store.js.map +1 -0
- package/dist/object-transfer.d.ts +41 -0
- package/dist/object-transfer.d.ts.map +1 -0
- package/dist/object-transfer.js +267 -0
- package/dist/object-transfer.js.map +1 -0
- package/dist/plain-diff-capture.d.ts +1 -2
- package/dist/plain-diff-capture.d.ts.map +1 -1
- package/dist/plain-diff-capture.js +2 -7
- package/dist/plain-diff-capture.js.map +1 -1
- package/dist/plain-diff.d.ts +0 -4
- package/dist/plain-diff.d.ts.map +1 -1
- package/dist/plain-diff.js +2 -44
- package/dist/plain-diff.js.map +1 -1
- package/dist/raw-patch.d.ts.map +1 -1
- package/dist/raw-patch.js +5 -8
- package/dist/raw-patch.js.map +1 -1
- package/dist/run-expiry.d.ts +3 -0
- package/dist/run-expiry.d.ts.map +1 -0
- package/dist/run-expiry.js +15 -0
- package/dist/run-expiry.js.map +1 -0
- package/dist/thread-tree.d.ts +36 -2
- package/dist/thread-tree.d.ts.map +1 -1
- package/dist/thread-tree.js +87 -11
- package/dist/thread-tree.js.map +1 -1
- package/package.json +5 -5
|
@@ -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":"AAiBA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAG1D,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,CA2D/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,CA8BjB;AAED;uEACuE;AACvE,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEtF;AAED;;;8EAG8E;AAC9E,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;qBAuBqB;AACrB,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,EACE,gBAAuB,EACvB,UAAiB,EACjB,gBAAiC,GAClC,GAAE;IACD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC1C,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,qBAAqB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE,GACL,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4BxB"}
|
package/dist/thread-tree.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { existsSync, rmSync } from "node:fs";
|
|
2
|
-
import { join } from "node:path";
|
|
1
|
+
import { existsSync, lstatSync, rmSync, statSync, unlinkSync } from "node:fs";
|
|
2
|
+
import { dirname, join, resolve } from "node:path";
|
|
3
3
|
import { WorkspaceError } from "@claudexor/core";
|
|
4
|
-
import { ensureDir, projectRuntimeDir } from "@claudexor/util";
|
|
5
|
-
import { branchDelete, ensureGitRepository, git, revParse, snapshotTree, worktreeAdd, worktreeAddExisting,
|
|
4
|
+
import { ensureDir, ownedProjectRuntimeDir, projectRuntimeDir } from "@claudexor/util";
|
|
5
|
+
import { branchDelete, branchDeleteIfPresent, ensureGitRepository, git, gitCommonDir, revParse, snapshotTree, worktreeAdd, worktreeAddExisting, worktreeRemoveRegistered, worktreeRepository, } from "./git.js";
|
|
6
|
+
import { diskProgress, gitObserved } from "./git-observed.js";
|
|
6
7
|
/**
|
|
7
8
|
* Lazily create (or reuse) the persistent git worktree backing an ISOLATED
|
|
8
9
|
* thread. Turns run in-place WITHIN this worktree so each sees the previous
|
|
@@ -86,7 +87,11 @@ export async function advanceThreadWorktree(projectRoot, threadId, worktreePath,
|
|
|
86
87
|
// Materialize the target in the daemon-owned index/worktree without moving
|
|
87
88
|
// HEAD. Publishing the persistent branch first would make a failed reset or
|
|
88
89
|
// clean look authoritative even though the worktree still held older work.
|
|
89
|
-
const realign = await
|
|
90
|
+
const realign = await gitObserved(worktreePath, ["read-tree", "--reset", "-u", targetSha], {
|
|
91
|
+
label: "read-tree --reset -u (thread)",
|
|
92
|
+
progress: diskProgress(worktreePath),
|
|
93
|
+
allowFailure: true,
|
|
94
|
+
});
|
|
90
95
|
if (realign.code !== 0) {
|
|
91
96
|
throw new WorkspaceError(`thread worktree realignment failed: ${realign.stderr.trim()}`);
|
|
92
97
|
}
|
|
@@ -110,16 +115,87 @@ export function threadWorktreeDirExists(projectRoot, threadId) {
|
|
|
110
115
|
return existsSync(join(projectRuntimeDir(projectRoot), "threads", threadId));
|
|
111
116
|
}
|
|
112
117
|
/** Explicit purge of daemon-owned isolated-thread resources. Lifecycle
|
|
113
|
-
* authority lives in the journal; the generic orphan sweeper never guesses.
|
|
114
|
-
|
|
118
|
+
* authority lives in the journal; the generic orphan sweeper never guesses.
|
|
119
|
+
* Git drops the worktree registration and then the branch before the
|
|
120
|
+
* directory goes: a refusal (a locked worktree, a held ref lock) throws with
|
|
121
|
+
* the directory still on disk, so the purge stays pending instead of reporting
|
|
122
|
+
* what Git still records as deleted. What is already gone counts as done, but
|
|
123
|
+
* only where it was looked for: in the repository the worktree's own `.git`
|
|
124
|
+
* file names (`worktreeRepository`), else the one an earlier attempt recorded
|
|
125
|
+
* (`repository`), else the project folder's. Git deletes that file with the
|
|
126
|
+
* worktree and a project folder can be replaced, so the repository asked goes
|
|
127
|
+
* to `recordRepository` before Git's first change in it, wherever it was
|
|
128
|
+
* found: a retry after a refused branch deletion asks the same repository,
|
|
129
|
+
* not whatever is at the project path by then. That holds after Git deleted
|
|
130
|
+
* the registration but not the directory too: the `.git` file left behind
|
|
131
|
+
* names a registration that is gone, and when it was in the recorded
|
|
132
|
+
* repository, still at its path, that one is asked. Where Git has nothing of the
|
|
133
|
+
* thread to change, nothing is recorded. A repository that cannot be
|
|
134
|
+
* reached, or a recorded one replaced at its path, keeps the purge pending. A
|
|
135
|
+
* link above the thread directory is refused (`ownedProjectRuntimeDir`); one
|
|
136
|
+
* at the directory or its tree is unlinked first, so Git sees a missing
|
|
137
|
+
* worktree and neither Git nor rm follows it. `worktreeRecorded`: the thread
|
|
138
|
+
* record names a worktree; a thread that never had one leaves no Git state to
|
|
139
|
+
* look for. Returns the common Git directory the cleanup asked, null when
|
|
140
|
+
* there was none. */
|
|
141
|
+
export async function purgeThreadWorktree(projectRoot, threadId, { worktreeRecorded = true, repository = null, recordRepository = async () => { }, } = {}) {
|
|
115
142
|
if (!/^[A-Za-z0-9._-]+$/.test(threadId) || threadId === "." || threadId === "..") {
|
|
116
143
|
throw new WorkspaceError(`threadId '${threadId}' is not a safe path segment`);
|
|
117
144
|
}
|
|
118
|
-
const threadDir = join(
|
|
145
|
+
const threadDir = join(ownedProjectRuntimeDir(projectRoot, "threads"), threadId);
|
|
119
146
|
const path = join(threadDir, "tree");
|
|
120
|
-
|
|
121
|
-
|
|
147
|
+
for (const entry of [threadDir, path]) {
|
|
148
|
+
const stat = lstatSync(entry, { throwIfNoEntry: false });
|
|
149
|
+
if (stat?.isSymbolicLink())
|
|
150
|
+
unlinkSync(entry);
|
|
151
|
+
if (!stat?.isDirectory())
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
const recorded = () => recordedRepository(repository, threadId);
|
|
155
|
+
const owner = worktreeRepository(path, recorded) ??
|
|
156
|
+
recorded() ??
|
|
157
|
+
(await projectRepository(projectRoot, worktreeRecorded));
|
|
158
|
+
if (owner !== null) {
|
|
159
|
+
const record = { gitDir: owner, identity: directoryIdentity(owner) };
|
|
160
|
+
let kept = record.gitDir === repository?.gitDir && record.identity === repository.identity;
|
|
161
|
+
const keep = async () => {
|
|
162
|
+
if (!kept)
|
|
163
|
+
await recordRepository(record);
|
|
164
|
+
kept = true;
|
|
165
|
+
};
|
|
166
|
+
await worktreeRemoveRegistered(owner, path, keep);
|
|
167
|
+
await branchDeleteIfPresent(owner, `claudexor/thread-${threadId}`, keep);
|
|
168
|
+
}
|
|
122
169
|
rmSync(threadDir, { recursive: true, force: true });
|
|
123
|
-
|
|
170
|
+
return owner;
|
|
171
|
+
}
|
|
172
|
+
function directoryIdentity(dir) {
|
|
173
|
+
const { ino } = statSync(dir, { bigint: true });
|
|
174
|
+
return ino === 0n ? null : String(ino);
|
|
175
|
+
}
|
|
176
|
+
function recordedRepository(repository, threadId) {
|
|
177
|
+
if (repository === null)
|
|
178
|
+
return null;
|
|
179
|
+
const now = statSync(repository.gitDir, { bigint: true, throwIfNoEntry: false });
|
|
180
|
+
if (now &&
|
|
181
|
+
(repository.identity === null || now.ino === 0n || String(now.ino) === repository.identity))
|
|
182
|
+
return repository.gitDir;
|
|
183
|
+
throw new WorkspaceError(`repository ${repository.gitDir}, which this cleanup recorded as holding thread ${threadId}'s worktree registration and branch, is gone or another one is there now; returning it there lets the next attempt finish this cleanup`);
|
|
184
|
+
}
|
|
185
|
+
/** Without the worktree's own record of its repository: the project folder's
|
|
186
|
+
* repository, which may be a larger one around it. None there is no proof for
|
|
187
|
+
* a recorded worktree, since a moved or deleted repository looks the same. */
|
|
188
|
+
async function projectRepository(projectRoot, worktreeRecorded) {
|
|
189
|
+
if (existsSync(projectRoot)) {
|
|
190
|
+
for (let current = resolve(projectRoot);; current = dirname(current)) {
|
|
191
|
+
if (existsSync(join(current, ".git")))
|
|
192
|
+
return gitCommonDir(projectRoot);
|
|
193
|
+
if (dirname(current) === current)
|
|
194
|
+
break;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
if (!worktreeRecorded)
|
|
198
|
+
return null;
|
|
199
|
+
throw new WorkspaceError(`project folder ${projectRoot} is gone or in no Git repository, so the thread's worktree registration and branch cannot be checked; restoring the folder there lets the next attempt finish this cleanup`);
|
|
124
200
|
}
|
|
125
201
|
//# 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;
|
|
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": "
|
|
3
|
+
"version": "5.0.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "WorkspaceEnvelope manager: git worktree + scoped HOME/harness-config isolation + dirty policy.",
|
|
6
6
|
"type": "module",
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"yaml": "^2.9.1",
|
|
20
|
-
"@claudexor/core": "
|
|
21
|
-
"@claudexor/
|
|
22
|
-
"@claudexor/event-log": "
|
|
23
|
-
"@claudexor/
|
|
20
|
+
"@claudexor/core": "5.0.1",
|
|
21
|
+
"@claudexor/schema": "5.0.1",
|
|
22
|
+
"@claudexor/event-log": "5.0.1",
|
|
23
|
+
"@claudexor/util": "5.0.1"
|
|
24
24
|
},
|
|
25
25
|
"repository": {
|
|
26
26
|
"type": "git",
|