@cleocode/worktree 2026.10.25 → 2026.10.26-rc.ci.697

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 CHANGED
@@ -100,8 +100,11 @@ export interface AddTransientWorktreeOptions {
100
100
  projectRoot: string;
101
101
  /** Absolute path where the worktree directory will be created. */
102
102
  worktreePath: string;
103
- /** Branch name (created or reused if already present). */
104
- branch: string;
103
+ /**
104
+ * Branch name (created or reused if already present). Omitted, the
105
+ * worktree is detached at `baseRef` and no branch is touched (T14045).
106
+ */
107
+ branch?: string;
105
108
  /** Ref to branch from (e.g. `origin/main`, `origin/<branch>`). */
106
109
  baseRef: string;
107
110
  /**
@@ -147,4 +150,37 @@ export declare function addTransientWorktree(options: AddTransientWorktreeOption
147
150
  * @task T9984
148
151
  */
149
152
  export declare function removeTransientWorktree(projectRoot: string, worktreePath: string): Promise<void>;
153
+ /**
154
+ * Last-resort removal of a worktree directory the NAPI destroy could not
155
+ * remove: unlock it, delete the directory, then prune git's stale admin
156
+ * entry. Core's prune path uses this instead of shelling out to
157
+ * `git worktree` itself (T10858).
158
+ *
159
+ * @param gitRoot - Repository root the worktree belongs to.
160
+ * @param worktreePath - Absolute path to the worktree directory.
161
+ * @throws Error when the directory cannot be deleted.
162
+ *
163
+ * @task T10858
164
+ */
165
+ export declare function forceRemoveWorktreeDir(gitRoot: string, worktreePath: string): void;
166
+ /**
167
+ * Release git's lock on a worktree (`git worktree unlock`). Best-effort.
168
+ *
169
+ * @param gitRoot - Repository root the worktree belongs to.
170
+ * @param worktreePath - Absolute path to the worktree.
171
+ * @returns True when git unlocked it; false when it was not locked or git failed.
172
+ *
173
+ * @task T10867
174
+ */
175
+ export declare function unlockWorktree(gitRoot: string, worktreePath: string): boolean;
176
+ /**
177
+ * Drop git's administrative entries for worktrees whose directories are gone
178
+ * (`git worktree prune`). Best-effort; never touches a worktree on disk.
179
+ *
180
+ * @param gitRoot - Repository root.
181
+ * @returns True when git exited 0.
182
+ *
183
+ * @task T10867
184
+ */
185
+ export declare function pruneWorktreeRegistry(gitRoot: string): boolean;
150
186
  //# 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":"AAAA;;;;;;;;;;;;GAYG;AAOH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,SAAU,CAAC;AAE9C;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAO/E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAWlF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO/F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,SAAS,MAAM,EAAO,GAChC,MAAM,CAYR;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAMtD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,SAAS,GAAG,MAAM,CAMzE;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAI9F;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAEf"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,SAAU,CAAC;AAE9C;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAO/E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAWlF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO/F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,SAAS,MAAM,EAAO,GAChC,MAAM,CAYR;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAMtD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,SAAS,GAAG,MAAM,CAMzE;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ9F;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAIlF;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAE7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE9D"}
package/dist/git.js CHANGED
@@ -12,6 +12,7 @@
12
12
  * @task T9545
13
13
  */
14
14
  import { execFile, execFileSync } from 'node:child_process';
15
+ import { rmSync } from 'node:fs';
15
16
  import { promisify } from 'node:util';
16
17
  const execFileAsync = promisify(execFile);
17
18
  /**
@@ -171,6 +172,10 @@ export function resolveHeadRef(gitRoot, fallback = 'main') {
171
172
  */
172
173
  export async function addTransientWorktree(options) {
173
174
  const { projectRoot, worktreePath, branch, baseRef, resetBranch = true } = options;
175
+ if (branch === undefined) {
176
+ await gitAsync(['worktree', 'add', '--detach', worktreePath, baseRef], projectRoot);
177
+ return;
178
+ }
174
179
  const flag = resetBranch ? '-B' : '-b';
175
180
  await gitAsync(['worktree', 'add', flag, branch, worktreePath, baseRef], projectRoot);
176
181
  }
@@ -188,4 +193,45 @@ export async function addTransientWorktree(options) {
188
193
  export async function removeTransientWorktree(projectRoot, worktreePath) {
189
194
  await gitAsync(['worktree', 'remove', '--force', worktreePath], projectRoot);
190
195
  }
196
+ /**
197
+ * Last-resort removal of a worktree directory the NAPI destroy could not
198
+ * remove: unlock it, delete the directory, then prune git's stale admin
199
+ * entry. Core's prune path uses this instead of shelling out to
200
+ * `git worktree` itself (T10858).
201
+ *
202
+ * @param gitRoot - Repository root the worktree belongs to.
203
+ * @param worktreePath - Absolute path to the worktree directory.
204
+ * @throws Error when the directory cannot be deleted.
205
+ *
206
+ * @task T10858
207
+ */
208
+ export function forceRemoveWorktreeDir(gitRoot, worktreePath) {
209
+ unlockWorktree(gitRoot, worktreePath);
210
+ rmSync(worktreePath, { recursive: true, force: true });
211
+ pruneWorktreeRegistry(gitRoot);
212
+ }
213
+ /**
214
+ * Release git's lock on a worktree (`git worktree unlock`). Best-effort.
215
+ *
216
+ * @param gitRoot - Repository root the worktree belongs to.
217
+ * @param worktreePath - Absolute path to the worktree.
218
+ * @returns True when git unlocked it; false when it was not locked or git failed.
219
+ *
220
+ * @task T10867
221
+ */
222
+ export function unlockWorktree(gitRoot, worktreePath) {
223
+ return gitSilent(['worktree', 'unlock', worktreePath], gitRoot);
224
+ }
225
+ /**
226
+ * Drop git's administrative entries for worktrees whose directories are gone
227
+ * (`git worktree prune`). Best-effort; never touches a worktree on disk.
228
+ *
229
+ * @param gitRoot - Repository root.
230
+ * @returns True when git exited 0.
231
+ *
232
+ * @task T10867
233
+ */
234
+ export function pruneWorktreeRegistry(gitRoot) {
235
+ return gitSilent(['worktree', 'prune'], gitRoot);
236
+ }
191
237
  //# 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":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC;AAE9C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,OAAO,CAAC,IAAc,EAAE,GAAW,EAAE,SAAkB;IACrE,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE;QAC/B,GAAG;QACH,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC/B,OAAO,EAAE,SAAS,IAAI,sBAAsB;KAC7C,CAAC,CAAC,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,SAAS,CAAC,IAAc,EAAE,GAAW,EAAE,SAAkB;IACvE,IAAI,CAAC;QACH,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE;YACxB,GAAG;YACH,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,SAAS,IAAI,sBAAsB;SAC7C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAc,EAAE,GAAW,EAAE,SAAkB;IAC5E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE;QAClD,GAAG;QACH,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,SAAS,IAAI,sBAAsB;KAC7C,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAe,EACf,MAAc,EACd,YAA+B,EAAE;IAEjC,MAAM,IAAI,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IAC5B,IAAI,SAAS,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,0BAA0B,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;QACzF,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7F,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,WAAmB;IAC5C,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,QAAQ,GAAG,MAAM;IAC/D,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AA4BD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAoC;IAC7E,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACnF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,QAAQ,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC;QACpF,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,MAAM,QAAQ,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC;AACxF,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,WAAmB,EACnB,YAAoB;IAEpB,MAAM,QAAQ,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe,EAAE,YAAoB;IAC1E,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACtC,MAAM,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,qBAAqB,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,YAAoB;IAClE,OAAO,SAAS,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,OAAO,SAAS,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC"}
package/dist/index.d.ts CHANGED
@@ -23,12 +23,12 @@
23
23
  export type { CreateWorktreeOptions, CreateWorktreeResult, DestroyWorktreeOptions, DestroyWorktreeResult, ListWorktreesOptions, PruneWorktreesOptions, PruneWorktreesResult, WorktreeDisposalBlockers, WorktreeHook, WorktreeHookResult, WorktreeIncludePattern, WorktreeKeepMarker, WorktreeListEntry, } from '@cleocode/contracts';
24
24
  export type { CopyPathsOptions } from './copy-on-write.js';
25
25
  export { copyPathsWithReflock } from './copy-on-write.js';
26
- export { type AddTransientWorktreeOptions, addTransientWorktree, countUnmergedCommits, DEFAULT_GIT_TIMEOUT_MS, getGitRoot, gitSilent, gitSync, removeTransientWorktree, } from './git.js';
26
+ export { type AddTransientWorktreeOptions, addTransientWorktree, countUnmergedCommits, DEFAULT_GIT_TIMEOUT_MS, forceRemoveWorktreeDir, getGitRoot, gitSilent, gitSync, pruneWorktreeRegistry, removeTransientWorktree, unlockWorktree, } from './git.js';
27
27
  export { destroyWorktree as napiDestroyWorktree, integrateWorktree, provisionWorktree, provisionWorktree as napiProvisionWorktree, pruneWorktrees as napiPruneWorktrees, removeDir as napiRemoveDir, } from './napi-binding.js';
28
28
  export type { PartialWorktreeSignals, RecoveryResult } from './recovery.js';
29
29
  export { detectPartialWorktree, recoverPartialWorktree } from './recovery.js';
30
30
  export type { WorktreeAuditPayload } from './worktree-audit.js';
31
- export { addWorktreeToSentinelIndex, appendWorktreeAuditLog, isCleoProvisionedWorktree, removeWorktreeFromSentinelIndex, resolveWorktreeIndexPath, WORKTREE_INDEX_RELATIVE_PATH, WORKTREE_LIFECYCLE_AUDIT_FILE, } from './worktree-audit.js';
31
+ export { addWorktreeToSentinelIndex, appendWorktreeAuditLog, isCleoProvisionedWorktree, readWorktreeProvisioning, removeWorktreeFromSentinelIndex, resolveWorktreeIndexPath, WORKTREE_INDEX_RELATIVE_PATH, WORKTREE_LIFECYCLE_AUDIT_FILE, } from './worktree-audit.js';
32
32
  export { createWorktree } from './worktree-create.js';
33
33
  export { describeDisposalBlockers, findDisposalBlockers, findUnrecoverableEvidence, findWorktreeDependents, guardWorktreeDisposal, keepMarkerPath, readKeepMarker, } from './worktree-dependents.js';
34
34
  export { destroyWorktree } from './worktree-destroy.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,KAAK,2BAA2B,EAChC,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,OAAO,EACP,uBAAuB,GACxB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,eAAe,IAAI,mBAAmB,EACtC,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,IAAI,qBAAqB,EAC1C,cAAc,IAAI,kBAAkB,EACpC,SAAS,IAAI,aAAa,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC9E,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,+BAA+B,EAC/B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,KAAK,8BAA8B,EACnC,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,kCAAkC,EAClC,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAC7F,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,KAAK,2BAA2B,EAChC,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,OAAO,EACP,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,GACf,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,eAAe,IAAI,mBAAmB,EACtC,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,IAAI,qBAAqB,EAC1C,cAAc,IAAI,kBAAkB,EACpC,SAAS,IAAI,aAAa,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC9E,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,+BAA+B,EAC/B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,KAAK,8BAA8B,EACnC,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,kCAAkC,EAClC,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAC7F,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -21,12 +21,12 @@
21
21
  * @adr ADR-055
22
22
  */
23
23
  export { copyPathsWithReflock } from './copy-on-write.js';
24
- export { addTransientWorktree, countUnmergedCommits, DEFAULT_GIT_TIMEOUT_MS, getGitRoot, gitSilent, gitSync, removeTransientWorktree, } from './git.js';
24
+ export { addTransientWorktree, countUnmergedCommits, DEFAULT_GIT_TIMEOUT_MS, forceRemoveWorktreeDir, getGitRoot, gitSilent, gitSync, pruneWorktreeRegistry, removeTransientWorktree, unlockWorktree, } from './git.js';
25
25
  // NAPI bindings (sync, direct to Rust) — for callers that need raw
26
26
  // worktree lifecycle without the hooks/audit/dirty-detection wrapper.
27
27
  export { destroyWorktree as napiDestroyWorktree, integrateWorktree, provisionWorktree, provisionWorktree as napiProvisionWorktree, pruneWorktrees as napiPruneWorktrees, removeDir as napiRemoveDir, } from './napi-binding.js';
28
28
  export { detectPartialWorktree, recoverPartialWorktree } from './recovery.js';
29
- export { addWorktreeToSentinelIndex, appendWorktreeAuditLog, isCleoProvisionedWorktree, removeWorktreeFromSentinelIndex, resolveWorktreeIndexPath, WORKTREE_INDEX_RELATIVE_PATH, WORKTREE_LIFECYCLE_AUDIT_FILE, } from './worktree-audit.js';
29
+ export { addWorktreeToSentinelIndex, appendWorktreeAuditLog, isCleoProvisionedWorktree, readWorktreeProvisioning, removeWorktreeFromSentinelIndex, resolveWorktreeIndexPath, WORKTREE_INDEX_RELATIVE_PATH, WORKTREE_LIFECYCLE_AUDIT_FILE, } from './worktree-audit.js';
30
30
  export { createWorktree } from './worktree-create.js';
31
31
  export { describeDisposalBlockers, findDisposalBlockers, findUnrecoverableEvidence, findWorktreeDependents, guardWorktreeDisposal, keepMarkerPath, readKeepMarker, } from './worktree-dependents.js';
32
32
  export { destroyWorktree } from './worktree-destroy.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAmBH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAEL,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,OAAO,EACP,uBAAuB,GACxB,MAAM,UAAU,CAAC;AAClB,mEAAmE;AACnE,sEAAsE;AACtE,OAAO,EACL,eAAe,IAAI,mBAAmB,EACtC,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,IAAI,qBAAqB,EAC1C,cAAc,IAAI,kBAAkB,EACpC,SAAS,IAAI,aAAa,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE9E,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,+BAA+B,EAC/B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAEL,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EAGrB,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,kCAAkC,EAClC,wBAAwB,EACxB,qBAAqB,GAGtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAE7F,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAmBH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAEL,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,OAAO,EACP,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,mEAAmE;AACnE,sEAAsE;AACtE,OAAO,EACL,eAAe,IAAI,mBAAmB,EACtC,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,IAAI,qBAAqB,EAC1C,cAAc,IAAI,kBAAkB,EACpC,SAAS,IAAI,aAAa,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE9E,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,+BAA+B,EAC/B,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EACL,aAAa,EACb,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAEL,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EAGrB,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,kCAAkC,EAClC,wBAAwB,EACxB,qBAAqB,GAGtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAE7F,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
@@ -102,6 +102,19 @@ export declare function appendWorktreeAuditLog(projectRoot: string, payload: Wor
102
102
  * @task T14027
103
103
  */
104
104
  export declare function readRecordedWorktreeBase(projectRoot: string, taskId: string, xdgPath: string): string | null;
105
+ /**
106
+ * How CLEO provisioned the task's worktree at `xdgPath`: the action of the
107
+ * newest successful `create` or `adopt` lifecycle row, or `null` when there is
108
+ * none (T10871).
109
+ *
110
+ * @param projectRoot - Absolute path to the CLEO project root.
111
+ * @param taskId - Task whose worktree is looked up.
112
+ * @param xdgPath - The task's worktree path.
113
+ * @returns `'create'`, `'adopt'` or `null`.
114
+ *
115
+ * @task T10871
116
+ */
117
+ export declare function readWorktreeProvisioning(projectRoot: string, taskId: string, xdgPath: string): 'create' | 'adopt' | null;
105
118
  /**
106
119
  * Whether CLEO provisioned the task's worktree at `xdgPath`: the lifecycle
107
120
  * audit log records a `create` (new branch), or an `adopt` (an existing
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-audit.d.ts","sourceRoot":"","sources":["../src/worktree-audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,kFAAkF;AAClF,eAAO,MAAM,6BAA6B,yCAAyC,CAAC;AAEpF;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,yBAAyB,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,MAAM,EAAE,uBAAuB,CAAC;IAChC,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,oBAAoB,EAC7B,oBAAoB,CAAC,EAAE,MAAM,GAC5B,IAAI,CAwBN;AA2CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAEf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAET;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,MAAM,GACzB,IAAI,CAqBN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC1D,iBAAiB,CAAC,EAAE,MAAM,GACzB,IAAI,CAmBN"}
1
+ {"version":3,"file":"worktree-audit.d.ts","sourceRoot":"","sources":["../src/worktree-audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGnE,kFAAkF;AAClF,eAAO,MAAM,6BAA6B,yCAAyC,CAAC;AAEpF;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,yBAAyB,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,MAAM,EAAE,uBAAuB,CAAC;IAChC,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,oBAAoB,EAC7B,oBAAoB,CAAC,EAAE,MAAM,GAC5B,IAAI,CAiCN;AA8CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAEf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,QAAQ,GAAG,OAAO,GAAG,IAAI,CAG3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAET;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,MAAM,GACzB,IAAI,CAqBN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC1D,iBAAiB,CAAC,EAAE,MAAM,GACzB,IAAI,CAmBN"}
@@ -16,7 +16,8 @@
16
16
  * @epic T9800
17
17
  */
18
18
  import { appendFileSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
19
- import { dirname, join, resolve } from 'node:path';
19
+ import { dirname, join } from 'node:path';
20
+ import { canonicalizePath } from '@cleocode/paths';
20
21
  /** Relative path within the project root for the worktree lifecycle audit log. */
21
22
  export const WORKTREE_LIFECYCLE_AUDIT_FILE = '.cleo/audit/worktree-lifecycle.jsonl';
22
23
  /**
@@ -65,13 +66,22 @@ export function appendWorktreeAuditLog(projectRoot, payload, auditLogPathOverrid
65
66
  ? auditLogPathOverride
66
67
  : join(projectRoot, WORKTREE_LIFECYCLE_AUDIT_FILE);
67
68
  mkdirSync(dirname(filePath), { recursive: true });
69
+ const ts = payload.timestamp ?? new Date().toISOString();
70
+ const agentId = payload.agentId ?? process.env['CLEO_AGENT_ID'] ?? 'cleo';
71
+ // T10861: `timestamp`, `actor` and `target` are the contract's
72
+ // WorktreeLifecycleAuditEntry fields, which core's writer emits; they sit
73
+ // beside this writer's legacy `ts`, `agentId` and `xdgPath`, so every row
74
+ // in the shared log satisfies the contract and existing readers still work.
68
75
  const record = {
69
- ts: payload.timestamp ?? new Date().toISOString(),
76
+ ts,
77
+ timestamp: ts,
78
+ actor: agentId,
70
79
  action: payload.action,
80
+ target: payload.xdgPath,
71
81
  xdgPath: payload.xdgPath,
72
82
  ...(payload.taskId !== undefined ? { taskId: payload.taskId } : {}),
73
83
  ...(payload.branch !== undefined ? { branch: payload.branch } : {}),
74
- agentId: payload.agentId ?? process.env['CLEO_AGENT_ID'] ?? 'cleo',
84
+ agentId,
75
85
  ...(payload.reason !== undefined ? { reason: payload.reason } : {}),
76
86
  ...(payload.baseRef !== undefined ? { baseRef: payload.baseRef } : {}),
77
87
  ...(payload.baseSha !== undefined ? { baseSha: payload.baseSha } : {}),
@@ -96,6 +106,7 @@ function findWorktreeAuditRow(projectRoot, taskId, xdgPath, actions) {
96
106
  catch {
97
107
  return null;
98
108
  }
109
+ const wanted = canonicalizePath(xdgPath);
99
110
  for (let i = lines.length - 1; i >= 0; i--) {
100
111
  const line = lines[i];
101
112
  if (!line?.includes(taskId) || !actions.some((a) => line.includes(`"${a}"`)))
@@ -103,11 +114,13 @@ function findWorktreeAuditRow(projectRoot, taskId, xdgPath, actions) {
103
114
  try {
104
115
  const row = JSON.parse(line);
105
116
  // `cleo worktree adopt` (core audit writer) records the path as `target`.
117
+ // Compared by realpath: a row recorded through a symlink (/tmp vs
118
+ // /private/tmp, a symlinked CLEO home) names the same worktree (T14054).
106
119
  const rowPath = row.xdgPath ?? row.target;
107
120
  if (actions.includes(row.action) &&
108
121
  row.taskId === taskId &&
109
122
  rowPath !== undefined &&
110
- resolve(rowPath) === resolve(xdgPath) &&
123
+ canonicalizePath(rowPath) === wanted &&
111
124
  row.success !== false) {
112
125
  return row;
113
126
  }
@@ -134,6 +147,22 @@ function findWorktreeAuditRow(projectRoot, taskId, xdgPath, actions) {
134
147
  export function readRecordedWorktreeBase(projectRoot, taskId, xdgPath) {
135
148
  return findWorktreeAuditRow(projectRoot, taskId, xdgPath, ['create'])?.baseSha ?? null;
136
149
  }
150
+ /**
151
+ * How CLEO provisioned the task's worktree at `xdgPath`: the action of the
152
+ * newest successful `create` or `adopt` lifecycle row, or `null` when there is
153
+ * none (T10871).
154
+ *
155
+ * @param projectRoot - Absolute path to the CLEO project root.
156
+ * @param taskId - Task whose worktree is looked up.
157
+ * @param xdgPath - The task's worktree path.
158
+ * @returns `'create'`, `'adopt'` or `null`.
159
+ *
160
+ * @task T10871
161
+ */
162
+ export function readWorktreeProvisioning(projectRoot, taskId, xdgPath) {
163
+ const action = findWorktreeAuditRow(projectRoot, taskId, xdgPath, ['create', 'adopt'])?.action;
164
+ return action === 'create' || action === 'adopt' ? action : null;
165
+ }
137
166
  /**
138
167
  * Whether CLEO provisioned the task's worktree at `xdgPath`: the lifecycle
139
168
  * audit log records a `create` (new branch), or an `adopt` (an existing
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-audit.js","sourceRoot":"","sources":["../src/worktree-audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree-audit.js","sourceRoot":"","sources":["../src/worktree-audit.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,8 @@ export interface LocatedWorktree {
45
45
  readonly branch: string | null;
46
46
  /** Whether git holds a lock on this entry. */
47
47
  readonly locked: boolean;
48
+ /** Present (true) only for a bare repository entry: no working tree, no branch (T10866). */
49
+ readonly bare?: true;
48
50
  }
49
51
  /**
50
52
  * Parse `git worktree list --porcelain` into structured entries.
@@ -71,6 +73,22 @@ export declare function parseWorktreePorcelain(raw: string): LocatedWorktree[];
71
73
  * @task T12086
72
74
  */
73
75
  export declare function listRegisteredWorktrees(projectRoot: string): LocatedWorktree[];
76
+ /**
77
+ * Read git's worktree registry for the repository containing `cwd`.
78
+ *
79
+ * Unlike {@link listRegisteredWorktrees} this throws when git fails, for
80
+ * callers that must tell "git could not answer" apart from "no worktrees"
81
+ * (core's `cleo worktree list`, T10866). Exported on the light
82
+ * `@cleocode/worktree/worktree-locate.js` subpath so sync callers on the CLI
83
+ * startup path need not load the package barrel.
84
+ *
85
+ * @param cwd - any path inside the repository.
86
+ * @returns registered worktrees, in git's order.
87
+ * @throws Error when `git worktree list --porcelain` fails.
88
+ *
89
+ * @task T10866
90
+ */
91
+ export declare function readWorktreePorcelain(cwd: string): LocatedWorktree[];
74
92
  /**
75
93
  * Find the registered worktree belonging to `taskId`.
76
94
  *
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-locate.d.ts","sourceRoot":"","sources":["../src/worktree-locate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAIH,2CAA2C;AAC3C,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,EAAE,CA+BrE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,EAAE,CAO9E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAU9F"}
1
+ {"version":3,"file":"worktree-locate.d.ts","sourceRoot":"","sources":["../src/worktree-locate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAIH,2CAA2C;AAC3C,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,4FAA4F;IAC5F,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,EAAE,CAmCrE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,EAAE,CAM9E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,EAAE,CAEpE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAU9F"}
@@ -55,13 +55,15 @@ export function parseWorktreePorcelain(raw) {
55
55
  let path = null;
56
56
  let branch = null;
57
57
  let locked = false;
58
+ let bare = false;
58
59
  /** Flush the record under construction, if any. */
59
60
  const flush = () => {
60
61
  if (path !== null)
61
- out.push({ path, branch, locked });
62
+ out.push({ path, branch, locked, ...(bare ? { bare: true } : {}) });
62
63
  path = null;
63
64
  branch = null;
64
65
  locked = false;
66
+ bare = false;
65
67
  };
66
68
  for (const line of raw.split('\n')) {
67
69
  const trimmed = line.trimEnd();
@@ -79,6 +81,9 @@ export function parseWorktreePorcelain(raw) {
79
81
  else if (trimmed === 'locked' || trimmed.startsWith('locked ')) {
80
82
  locked = true;
81
83
  }
84
+ else if (trimmed === 'bare') {
85
+ bare = true;
86
+ }
82
87
  }
83
88
  flush();
84
89
  return out;
@@ -96,13 +101,30 @@ export function parseWorktreePorcelain(raw) {
96
101
  */
97
102
  export function listRegisteredWorktrees(projectRoot) {
98
103
  try {
99
- const gitRoot = getGitRoot(projectRoot);
100
- return parseWorktreePorcelain(gitSync(['worktree', 'list', '--porcelain'], gitRoot));
104
+ return readWorktreePorcelain(getGitRoot(projectRoot));
101
105
  }
102
106
  catch {
103
107
  return [];
104
108
  }
105
109
  }
110
+ /**
111
+ * Read git's worktree registry for the repository containing `cwd`.
112
+ *
113
+ * Unlike {@link listRegisteredWorktrees} this throws when git fails, for
114
+ * callers that must tell "git could not answer" apart from "no worktrees"
115
+ * (core's `cleo worktree list`, T10866). Exported on the light
116
+ * `@cleocode/worktree/worktree-locate.js` subpath so sync callers on the CLI
117
+ * startup path need not load the package barrel.
118
+ *
119
+ * @param cwd - any path inside the repository.
120
+ * @returns registered worktrees, in git's order.
121
+ * @throws Error when `git worktree list --porcelain` fails.
122
+ *
123
+ * @task T10866
124
+ */
125
+ export function readWorktreePorcelain(cwd) {
126
+ return parseWorktreePorcelain(gitSync(['worktree', 'list', '--porcelain'], cwd));
127
+ }
106
128
  /**
107
129
  * Find the registered worktree belonging to `taskId`.
108
130
  *
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-locate.js","sourceRoot":"","sources":["../src/worktree-locate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAY/C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,IAAI,IAAI,GAAkB,IAAI,CAAC;IAC/B,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,mDAAmD;IACnD,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,IAAI,IAAI,KAAK,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,IAAI,GAAG,IAAI,CAAC;QACZ,MAAM,GAAG,IAAI,CAAC;QACd,MAAM,GAAG,KAAK,CAAC;IACjB,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnB,KAAK,EAAE,CAAC;YACR,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,KAAK,EAAE,CAAC;YACR,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;aAAM,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IACD,KAAK,EAAE,CAAC;IACR,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACxC,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACvF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB,EAAE,MAAc;IACpE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAE/B,KAAK,MAAM,KAAK,IAAI,uBAAuB,CAAC,WAAW,CAAC,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"worktree-locate.js","sourceRoot":"","sources":["../src/worktree-locate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,26 @@
1
1
  {
2
2
  "name": "@cleocode/worktree",
3
- "version": "2026.10.25",
3
+ "version": "2026.10.26-rc.ci.697",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Native CLEO worktree backend SDK",
7
7
  "main": "dist/index.js",
8
8
  "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "default": "./dist/index.js"
14
+ },
15
+ "./worktree-locate.js": {
16
+ "types": "./dist/worktree-locate.d.ts",
17
+ "import": "./dist/worktree-locate.js",
18
+ "default": "./dist/worktree-locate.js"
19
+ },
20
+ "./native/*": "./native/*",
21
+ "./dist/*": "./dist/*",
22
+ "./package.json": "./package.json"
23
+ },
9
24
  "files": [
10
25
  "dist/",
11
26
  "native/",
@@ -25,14 +40,14 @@
25
40
  "author": "CLEO Code <hello@cleocode.dev>",
26
41
  "license": "MIT",
27
42
  "dependencies": {
28
- "@cleocode/contracts": "2026.10.25",
29
- "@cleocode/paths": "2026.10.25"
43
+ "@cleocode/contracts": "2026.10.26-rc.ci.697",
44
+ "@cleocode/paths": "2026.10.26-rc.ci.697"
30
45
  },
31
46
  "devDependencies": {
32
47
  "@types/node": "^24.3.0",
33
48
  "typescript": "^6.0.2",
34
49
  "vitest": "^4.1.4",
35
- "@cleocode/core": "2026.10.25"
50
+ "@cleocode/core": "2026.10.26-rc.ci.697"
36
51
  },
37
52
  "repository": {
38
53
  "type": "git",