@telora/daemon 0.20.96 → 0.20.103

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.
Files changed (50) hide show
  1. package/build-info.json +2 -2
  2. package/dist/cli/connect.d.ts.map +1 -1
  3. package/dist/cli/connect.js +12 -12
  4. package/dist/cli/connect.js.map +1 -1
  5. package/dist/crash-recovery.d.ts +12 -2
  6. package/dist/crash-recovery.d.ts.map +1 -1
  7. package/dist/crash-recovery.js +43 -4
  8. package/dist/crash-recovery.js.map +1 -1
  9. package/dist/delivery-advance-block.d.ts.map +1 -1
  10. package/dist/delivery-advance-block.js +21 -4
  11. package/dist/delivery-advance-block.js.map +1 -1
  12. package/dist/gitignore-convergence.d.ts +47 -0
  13. package/dist/gitignore-convergence.d.ts.map +1 -0
  14. package/dist/gitignore-convergence.js +75 -0
  15. package/dist/gitignore-convergence.js.map +1 -0
  16. package/dist/unified-init.d.ts.map +1 -1
  17. package/dist/unified-init.js +11 -19
  18. package/dist/unified-init.js.map +1 -1
  19. package/dist/unified-shell-provisioning.d.ts +22 -0
  20. package/dist/unified-shell-provisioning.d.ts.map +1 -1
  21. package/dist/unified-shell-provisioning.js +55 -0
  22. package/dist/unified-shell-provisioning.js.map +1 -1
  23. package/dist/unified-shell.d.ts.map +1 -1
  24. package/dist/unified-shell.js +9 -1
  25. package/dist/unified-shell.js.map +1 -1
  26. package/dist/worktree/identity.d.ts +63 -0
  27. package/dist/worktree/identity.d.ts.map +1 -0
  28. package/dist/worktree/identity.js +79 -0
  29. package/dist/worktree/identity.js.map +1 -0
  30. package/dist/worktree/index.d.ts +3 -0
  31. package/dist/worktree/index.d.ts.map +1 -1
  32. package/dist/worktree/index.js +3 -0
  33. package/dist/worktree/index.js.map +1 -1
  34. package/dist/worktree/reap.d.ts +60 -0
  35. package/dist/worktree/reap.d.ts.map +1 -0
  36. package/dist/worktree/reap.js +175 -0
  37. package/dist/worktree/reap.js.map +1 -0
  38. package/dist/worktree/safety.d.ts +15 -4
  39. package/dist/worktree/safety.d.ts.map +1 -1
  40. package/dist/worktree/safety.js +72 -39
  41. package/dist/worktree/safety.js.map +1 -1
  42. package/dist/worktree/scratch-guard.d.ts +126 -0
  43. package/dist/worktree/scratch-guard.d.ts.map +1 -0
  44. package/dist/worktree/scratch-guard.js +196 -0
  45. package/dist/worktree/scratch-guard.js.map +1 -0
  46. package/dist/worktree.d.ts +7 -39
  47. package/dist/worktree.d.ts.map +1 -1
  48. package/dist/worktree.js +8 -103
  49. package/dist/worktree.js.map +1 -1
  50. package/package.json +3 -3
@@ -0,0 +1,196 @@
1
+ /**
2
+ * Scoped-staging guard for daemon-authored safety / WIP / lockfile commits.
3
+ *
4
+ * "The daemon owns the boundary of every path it creates." A blind `git add -A`
5
+ * in a repo whose `.gitignore` is missing or broken can sweep the entire
6
+ * worktree tree (nested agent checkouts under `.telora/`) into history -- the
7
+ * 15,684-file BELL-CSNv5 incident. Every daemon-authored commit MUST route its
8
+ * staging through this guard so that:
9
+ *
10
+ * 1. Daemon scratch (`.telora/` and, optionally, the configured worktree dir)
11
+ * is NEVER staged, regardless of the repo's ignore state -- enforced by a
12
+ * git `:(exclude)` pathspec, not by trusting `.gitignore`.
13
+ * 2. A commit whose (post-exclusion) staged file count exceeds a sane
14
+ * threshold is REFUSED -- the guard stages nothing and leaves the working
15
+ * tree untouched so the caller can escalate and the real work stays
16
+ * recoverable.
17
+ *
18
+ * This is defense-in-depth BEHIND the boot-time `.gitignore` convergence: even
19
+ * with a correct ignore, the sweep must be structurally impossible here.
20
+ */
21
+ import { loadEnvConfig } from '@telora/daemon-core';
22
+ import { runGitSync } from '../git/index.js';
23
+ import { assertWorktreeIdentity, defaultWorktreeIdentityViolationReporter, } from './identity.js';
24
+ import { createLogger } from '../log.js';
25
+ const log = createLogger({ module: 'worktree' });
26
+ /** Conservative default sweep ceiling for a single automated commit. */
27
+ export const DEFAULT_SAFETY_COMMIT_MAX_FILES = 200;
28
+ /**
29
+ * Daemon scratch path prefixes that must never be staged by an automated
30
+ * commit. `.telora/` is the root of everything the daemon writes into a repo
31
+ * (config, worktrees, session logs); the daemon's worktree dir is nested under
32
+ * it, so this single prefix covers the sweep vector. Extra prefixes (e.g. a
33
+ * worktree dir configured OUTSIDE `.telora`) can be supplied per call.
34
+ */
35
+ export const DEFAULT_SCRATCH_PREFIXES = ['.telora'];
36
+ /**
37
+ * Resolve the max-file sweep threshold via the canonical env-config index
38
+ * (`TELORA_SAFETY_COMMIT_MAX_FILES` in `@telora/daemon-core` `env-config.ts`).
39
+ * An invalid value fails loudly at parse time, per the env-config contract --
40
+ * there is no silent fallback. The daemon-core default must match
41
+ * {@link DEFAULT_SAFETY_COMMIT_MAX_FILES}; the scratch-guard test pins the two
42
+ * together.
43
+ */
44
+ export function resolveSafetyCommitMaxFiles(env) {
45
+ return loadEnvConfig(env).TELORA_SAFETY_COMMIT_MAX_FILES;
46
+ }
47
+ /** True iff `path` is `prefix` itself or lives under `prefix/`. */
48
+ function underPrefix(path, prefixes) {
49
+ return prefixes.some((p) => path === p || path.startsWith(p + '/'));
50
+ }
51
+ /**
52
+ * Enumerate the repo-relative paths a `git add -A` WOULD stage: tracked
53
+ * changes (incl. deletions) plus untracked, non-ignored files. Uses name-only
54
+ * commands rather than parsing `git status --porcelain` (whose fixed-width
55
+ * status prefix is corrupted by output trimming) -- the same technique
56
+ * `dirtyChangesAreGeneratedLockfilesOnly` uses.
57
+ */
58
+ function enumerateWouldStage(worktreePath) {
59
+ const tracked = runGitSync(['diff', '--name-only', 'HEAD'], worktreePath);
60
+ const untracked = runGitSync(['ls-files', '--others', '--exclude-standard'], worktreePath);
61
+ if (!tracked.success || !untracked.success)
62
+ return null;
63
+ return [...tracked.output.split('\n'), ...untracked.output.split('\n')]
64
+ .map((p) => p.trim())
65
+ .filter((p) => p.length > 0);
66
+ }
67
+ /**
68
+ * Stage the worktree's changes for a daemon-authored commit, HARD-excluding
69
+ * daemon scratch and REFUSING a mass sweep.
70
+ *
71
+ * On success stages everything except the scratch prefixes (via a git
72
+ * `:(exclude)` pathspec, so exclusion holds even when scratch is not
73
+ * gitignored). On threshold refusal stages NOTHING and returns the tripping
74
+ * count + a bounded sample so the caller can preserve the tree and escalate.
75
+ *
76
+ * Does not commit -- callers commit after a `staged` result.
77
+ */
78
+ export function stageExcludingDaemonScratch(worktreePath, opts = {}) {
79
+ const scratchPrefixes = opts.scratchPrefixes ?? DEFAULT_SCRATCH_PREFIXES;
80
+ const maxFiles = opts.maxFiles ?? resolveSafetyCommitMaxFiles();
81
+ const wouldStage = enumerateWouldStage(worktreePath);
82
+ if (wouldStage === null) {
83
+ return { kind: 'error', message: 'could not enumerate worktree changes' };
84
+ }
85
+ const denied = wouldStage.filter((p) => underPrefix(p, scratchPrefixes));
86
+ const kept = wouldStage.filter((p) => !underPrefix(p, scratchPrefixes));
87
+ if (kept.length > maxFiles) {
88
+ // Refuse: stage nothing, leave the working tree untouched.
89
+ return {
90
+ kind: 'refused_threshold',
91
+ count: kept.length,
92
+ sample: kept.slice(0, 20),
93
+ denied,
94
+ maxFiles,
95
+ };
96
+ }
97
+ if (kept.length === 0) {
98
+ // Nothing to stage once scratch is excluded (a clean or scratch-only tree).
99
+ return { kind: 'staged', staged: [], denied };
100
+ }
101
+ // Stage everything EXCEPT the scratch prefixes. `.` selects the full tree;
102
+ // each `:(exclude)<prefix>` removes that dir and its contents from the set.
103
+ const excludeSpecs = scratchPrefixes.map((p) => `:(exclude)${p}`);
104
+ const addResult = runGitSync(['add', '-A', '--', '.', ...excludeSpecs], worktreePath);
105
+ if (!addResult.success) {
106
+ return { kind: 'error', message: addResult.error };
107
+ }
108
+ return { kind: 'staged', staged: kept, denied };
109
+ }
110
+ /**
111
+ * True iff the worktree has uncommitted changes OUTSIDE daemon scratch. Daemon
112
+ * scratch (`.telora/`) is disposable, so a worktree dirty only with scratch has
113
+ * no agent work to preserve -- callers use this to decide whether a safety
114
+ * commit is even needed before removal.
115
+ */
116
+ export function worktreeHasNonScratchChanges(worktreePath, scratchPrefixes = DEFAULT_SCRATCH_PREFIXES) {
117
+ // Identity-guarded: a `.git`-less checkout would enumerate the ENCLOSING
118
+ // repo's changes here. Never attribute the parent's dirt to this worktree --
119
+ // that false "dirty" is exactly what drove the safety commit to stage the
120
+ // parent tree. Log loudly and report no non-scratch changes.
121
+ const identity = assertWorktreeIdentity(worktreePath);
122
+ if (!identity.ok) {
123
+ log.error(`worktreeHasNonScratchChanges: ${worktreePath} is not its own worktree ` +
124
+ `(git resolves it to ${identity.resolvedRepo ?? 'no repository'}); refusing ` +
125
+ `to attribute the enclosing repo's changes to it.`);
126
+ return false;
127
+ }
128
+ const wouldStage = enumerateWouldStage(worktreePath);
129
+ if (wouldStage === null)
130
+ return false;
131
+ return wouldStage.some((p) => !underPrefix(p, scratchPrefixes));
132
+ }
133
+ /** Default reporter: loudly name the worktree, count, and a path sample. */
134
+ export const defaultSweepRefusalReporter = (r) => {
135
+ log.error(`REFUSING daemon commit for "${r.context}" at ${r.worktreePath}: ${r.count} files ` +
136
+ `exceeds the ${r.maxFiles}-file sweep threshold. Working tree left untouched. ` +
137
+ `Sample: ${r.sample.join(', ')}`);
138
+ };
139
+ /**
140
+ * Stage (scratch-excluded, sweep-guarded) and commit a daemon-authored commit.
141
+ * The ONE implementation every daemon safety/WIP/lockfile commit routes
142
+ * through, so none can stage `.telora/` scratch or sweep the tree.
143
+ *
144
+ * Returns the commit sha on success, or null when there was nothing to commit
145
+ * (clean or scratch-only tree), the worktree failed the identity check, the
146
+ * sweep was refused, or a git op failed. On a threshold refusal the working
147
+ * tree is left untouched and the reporter is invoked exactly once.
148
+ *
149
+ * Identity is asserted BEFORE any staging: if the directory is not the worktree
150
+ * it names (e.g. a `.git`-less checkout whose git commands resolve at the
151
+ * enclosing repo), nothing is staged or committed and the identity reporter is
152
+ * invoked once -- so a daemon safety/WIP/lockfile commit can never land in the
153
+ * parent repository's tree.
154
+ */
155
+ export function guardedCommit(params) {
156
+ const { worktreePath, message, context } = params;
157
+ const reporter = params.reporter ?? defaultSweepRefusalReporter;
158
+ // Identity gate: refuse before staging if git would act on a different repo.
159
+ const identity = assertWorktreeIdentity(worktreePath);
160
+ if (!identity.ok) {
161
+ const identityReporter = params.identityReporter ?? defaultWorktreeIdentityViolationReporter;
162
+ identityReporter({
163
+ worktreePath,
164
+ resolvedRepo: identity.resolvedRepo,
165
+ operation: `stage/commit for "${context}"`,
166
+ });
167
+ return null;
168
+ }
169
+ const stage = stageExcludingDaemonScratch(worktreePath, params.options);
170
+ if (stage.kind === 'error') {
171
+ log.warn(`guardedCommit: staging failed for "${context}": ${stage.message}`);
172
+ return null;
173
+ }
174
+ if (stage.kind === 'refused_threshold') {
175
+ reporter({
176
+ worktreePath,
177
+ context,
178
+ count: stage.count,
179
+ sample: stage.sample,
180
+ maxFiles: stage.maxFiles,
181
+ });
182
+ return null;
183
+ }
184
+ if (stage.staged.length === 0) {
185
+ // Clean or scratch-only tree -- nothing non-scratch to commit.
186
+ return null;
187
+ }
188
+ const commitResult = runGitSync(['commit', '-m', message], worktreePath);
189
+ if (!commitResult.success) {
190
+ log.warn(`guardedCommit: commit failed for "${context}" (may be empty): ${commitResult.error}`);
191
+ return null;
192
+ }
193
+ const hashResult = runGitSync(['rev-parse', 'HEAD'], worktreePath);
194
+ return hashResult.success ? hashResult.output : null;
195
+ }
196
+ //# sourceMappingURL=scratch-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scratch-guard.js","sourceRoot":"","sources":["../../src/worktree/scratch-guard.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  * (safety guards, merge-before-remove, orphan cleanup) are implemented here.
10
10
  */
11
11
  import type { DaemonConfig } from './types.js';
12
+ import { worktreeHasUncommittedChanges, branchHasUnmergedCommits, safetyCommitWorktree, removeWorktree, commitWipChanges } from './worktree/safety.js';
12
13
  export { getMergeWorktreePath } from './git/index.js';
13
14
  /**
14
15
  * Create or validate the persistent merge worktree.
@@ -104,46 +105,13 @@ export declare function generateCodexConfigInWorktree(worktreePath: string): voi
104
105
  */
105
106
  export declare function createWorktree(config: DaemonConfig, branchName: string): Promise<string>;
106
107
  /**
107
- * Check if a worktree has uncommitted changes (dirty working tree).
108
+ * Canonical worktree safety primitives live in a SINGLE definition site,
109
+ * `./worktree/safety.ts`. Re-export them here so this module's historical
110
+ * import surface (consumed by `git.ts`'s re-export block, and used by the
111
+ * focus-worktree helpers below) is preserved without a second copy that
112
+ * could drift or leave a caller on stale behavior.
108
113
  */
109
- export declare function worktreeHasUncommittedChanges(worktreePath: string): boolean;
110
- /**
111
- * Check if a branch has commits not yet merged into a target branch.
112
- */
113
- export declare function branchHasUnmergedCommits(branchName: string, targetBranch: string, repoPath: string): boolean;
114
- /**
115
- * Commit all uncommitted changes in a worktree as a safety net.
116
- * Returns the commit hash if successful, null otherwise.
117
- */
118
- export declare function safetyCommitWorktree(worktreePath: string, deliveryName: string): string | null;
119
- /**
120
- * Remove a worktree when an agent session ends.
121
- * The branch is preserved for PR creation.
122
- *
123
- * SAFETY: Refuses to remove a worktree that has uncommitted changes or
124
- * unmerged commits. Uncommitted changes are auto-committed as a safety
125
- * net to prevent losing agent work.
126
- *
127
- * @returns true if the worktree was actually removed, false if it was preserved
128
- */
129
- export declare function removeWorktree(repoPath: string, worktreePath: string, options?: {
130
- branchName?: string;
131
- integrationBranch?: string;
132
- deliveryName?: string;
133
- mergeSucceeded?: boolean;
134
- }): boolean;
135
- /**
136
- * Commit any uncommitted changes in a worktree as a WIP commit.
137
- *
138
- * Called by the daemon after an agent process exits but before worktree
139
- * removal. Captures in-flight work that the agent didn't commit before
140
- * being terminated.
141
- *
142
- * Delegates to daemon-core's commitWip for the actual git operations.
143
- *
144
- * @returns The commit hash if a WIP commit was created, null if no changes or failure.
145
- */
146
- export declare function commitWipChanges(worktreePath: string, contextName: string): string | null;
114
+ export { worktreeHasUncommittedChanges, branchHasUnmergedCommits, safetyCommitWorktree, removeWorktree, commitWipChanges, };
147
115
  /**
148
116
  * Canonical focus worktree removal: merge-before-remove + conditional cleanup.
149
117
  *
@@ -1 +1 @@
1
- {"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../src/worktree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../src/worktree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAO/C,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAe9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAqChE;AAID;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,MAAM,EAAE,OAAO,CAAC;IAChB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAK5D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAErD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAET;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAWtE;AAID;;;;;;GAMG;AACH,wBAAgB,kCAAkC,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAyB7E;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,IAAI,MAAM,CAqBtD;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAWxE;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAgEjB;AAED;;;;;;GAMG;AACH,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,oBAAoB,EACpB,cAAc,EACd,gBAAgB,GACjB,CAAC;AAIF;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,6BAA6B,GACpC,OAAO,CAAC,gBAAgB,CAAC,CA8D3B;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAoIjD"}
package/dist/worktree.js CHANGED
@@ -12,7 +12,8 @@ import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync, statSync, wri
12
12
  import { dirname, join, resolve } from 'node:path';
13
13
  import { runGitSync, getMergeWorktreePath } from './git/index.js';
14
14
  import { branchExists } from './git/index.js';
15
- import { pruneWorktrees as pruneWorktreesBase, worktreeExistsForBranch as worktreeExistsForBranchBase, commitWip, removeWorktreeBase, } from '@telora/daemon-core';
15
+ import { pruneWorktrees as pruneWorktreesBase, worktreeExistsForBranch as worktreeExistsForBranchBase, } from '@telora/daemon-core';
16
+ import { worktreeHasUncommittedChanges, branchHasUnmergedCommits, safetyCommitWorktree, removeWorktree, commitWipChanges, } from './worktree/safety.js';
16
17
  import { mergeToIntegration } from './git/index.js';
17
18
  import { getActiveFocuses } from './queries/deliveries.js';
18
19
  import { removeFocusWorktree as removeFocusWorktreeState } from './focus-worktree-state.js';
@@ -244,109 +245,13 @@ export async function createWorktree(config, branchName) {
244
245
  return worktreePath;
245
246
  }
246
247
  /**
247
- * Check if a worktree has uncommitted changes (dirty working tree).
248
+ * Canonical worktree safety primitives live in a SINGLE definition site,
249
+ * `./worktree/safety.ts`. Re-export them here so this module's historical
250
+ * import surface (consumed by `git.ts`'s re-export block, and used by the
251
+ * focus-worktree helpers below) is preserved without a second copy that
252
+ * could drift or leave a caller on stale behavior.
248
253
  */
249
- export function worktreeHasUncommittedChanges(worktreePath) {
250
- if (!existsSync(worktreePath))
251
- return false;
252
- const result = runGitSync(['status', '--porcelain'], worktreePath);
253
- return result.success && result.output.trim().length > 0;
254
- }
255
- /**
256
- * Check if a branch has commits not yet merged into a target branch.
257
- */
258
- export function branchHasUnmergedCommits(branchName, targetBranch, repoPath) {
259
- const result = runGitSync(['log', '--oneline', `${targetBranch}..${branchName}`, '--'], repoPath);
260
- return result.success && result.output.trim().length > 0;
261
- }
262
- /**
263
- * Commit all uncommitted changes in a worktree as a safety net.
264
- * Returns the commit hash if successful, null otherwise.
265
- */
266
- export function safetyCommitWorktree(worktreePath, deliveryName) {
267
- // Stage everything
268
- const addResult = runGitSync(['add', '-A'], worktreePath);
269
- if (!addResult.success) {
270
- log.error(`Safety commit: failed to stage changes: ${addResult.error}`);
271
- return null;
272
- }
273
- // Commit
274
- const commitResult = runGitSync(['commit', '-m', `wip: uncommitted agent work for "${deliveryName}" (safety commit)`], worktreePath);
275
- if (!commitResult.success) {
276
- log.warn(`Safety commit: commit failed (may be empty): ${commitResult.error}`);
277
- return null;
278
- }
279
- // Return the new commit hash
280
- const hashResult = runGitSync(['rev-parse', 'HEAD'], worktreePath);
281
- return hashResult.success ? hashResult.output : null;
282
- }
283
- /**
284
- * Remove a worktree when an agent session ends.
285
- * The branch is preserved for PR creation.
286
- *
287
- * SAFETY: Refuses to remove a worktree that has uncommitted changes or
288
- * unmerged commits. Uncommitted changes are auto-committed as a safety
289
- * net to prevent losing agent work.
290
- *
291
- * @returns true if the worktree was actually removed, false if it was preserved
292
- */
293
- export function removeWorktree(repoPath, worktreePath, options = {}) {
294
- const { branchName, integrationBranch, deliveryName, mergeSucceeded } = options;
295
- try {
296
- if (!existsSync(worktreePath)) {
297
- log.info(`Worktree already removed: ${worktreePath}`);
298
- runGitSync(['worktree', 'prune'], repoPath);
299
- return true;
300
- }
301
- // Guard 1: Check for uncommitted changes and safety-commit them
302
- if (worktreeHasUncommittedChanges(worktreePath)) {
303
- log.warn(`Worktree has uncommitted changes: ${worktreePath}. ` +
304
- `Creating safety commit to preserve work...`);
305
- const hash = safetyCommitWorktree(worktreePath, deliveryName ?? 'unknown');
306
- if (hash) {
307
- log.info(`Safety commit created: ${hash.slice(0, 8)}`);
308
- }
309
- else {
310
- // Could not commit -- refuse to delete
311
- log.error(`REFUSING to remove worktree ${worktreePath}: ` +
312
- `has uncommitted changes and safety commit failed. ` +
313
- `Manual cleanup required.`);
314
- return false;
315
- }
316
- }
317
- // Guard 2: Check for unmerged commits (if we know the branch and integration)
318
- if (branchName && integrationBranch && !mergeSucceeded) {
319
- if (branchHasUnmergedCommits(branchName, integrationBranch, repoPath)) {
320
- log.error(`REFUSING to remove worktree ${worktreePath}: ` +
321
- `branch ${branchName} has commits not merged to ${integrationBranch}. ` +
322
- `Branch preserved for manual merge/review.`);
323
- return false;
324
- }
325
- }
326
- // Safe to remove -- delegate to daemon-core's base removal
327
- return removeWorktreeBase(repoPath, worktreePath);
328
- }
329
- catch (err) {
330
- log.error('Error removing worktree:', err instanceof Error ? err.message : String(err));
331
- return false;
332
- }
333
- }
334
- // ── WIP commit after agent exit ───────────────────────────────────
335
- /**
336
- * Commit any uncommitted changes in a worktree as a WIP commit.
337
- *
338
- * Called by the daemon after an agent process exits but before worktree
339
- * removal. Captures in-flight work that the agent didn't commit before
340
- * being terminated.
341
- *
342
- * Delegates to daemon-core's commitWip for the actual git operations.
343
- *
344
- * @returns The commit hash if a WIP commit was created, null if no changes or failure.
345
- */
346
- export function commitWipChanges(worktreePath, contextName) {
347
- log.info(`Committing WIP changes in ${worktreePath} for "${contextName}"`);
348
- return commitWip(worktreePath, `Uncommitted work captured by daemon on agent exit (${contextName})`);
349
- }
254
+ export { worktreeHasUncommittedChanges, branchHasUnmergedCommits, safetyCommitWorktree, removeWorktree, commitWipChanges, };
350
255
  // ── Canonical worktree removal ────────────────────────────────────
351
256
  /**
352
257
  * Canonical focus worktree removal: merge-before-remove + conditional cleanup.
@@ -1 +1 @@
1
- {"version":3,"file":"worktree.js","sourceRoot":"","sources":["../src/worktree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree.js","sourceRoot":"","sources":["../src/worktree.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telora/daemon",
3
- "version": "0.20.96",
3
+ "version": "0.20.103",
4
4
  "description": "Agent orchestration daemon for Telora - spawns and manages Claude Code instances",
5
5
  "type": "module",
6
6
  "bin": {
@@ -37,8 +37,8 @@
37
37
  },
38
38
  "//testRunner": "Uses Node.js built-in test runner (node:test) via tsx for TypeScript support. The root package uses Vitest; this is a deliberate choice for the daemon package to avoid framework dependencies. See src/__tests__/ for test files.",
39
39
  "dependencies": {
40
- "@telora/daemon-core": "^0.2.74",
41
- "@telora/mcp-products": "^0.22.111",
40
+ "@telora/daemon-core": "^0.2.75",
41
+ "@telora/mcp-products": "^0.22.112",
42
42
  "commander": "^14.0.3",
43
43
  "yaml": "^2.4.0",
44
44
  "zod": "^4.3.6"