crewly 1.20.359 → 1.20.360

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 (99) hide show
  1. package/config/roles/developer/prompt.md +3 -1
  2. package/config/skills/registry.json +125 -1
  3. package/dist/backend/backend/src/constants.d.ts +130 -2
  4. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  5. package/dist/backend/backend/src/constants.js +141 -3
  6. package/dist/backend/backend/src/constants.js.map +1 -1
  7. package/dist/backend/backend/src/index.d.ts +37 -0
  8. package/dist/backend/backend/src/index.d.ts.map +1 -1
  9. package/dist/backend/backend/src/index.js +103 -10
  10. package/dist/backend/backend/src/index.js.map +1 -1
  11. package/dist/backend/backend/src/services/agent/boot-pressure.d.ts +147 -0
  12. package/dist/backend/backend/src/services/agent/boot-pressure.d.ts.map +1 -0
  13. package/dist/backend/backend/src/services/agent/boot-pressure.js +212 -0
  14. package/dist/backend/backend/src/services/agent/boot-pressure.js.map +1 -0
  15. package/dist/backend/backend/src/services/agent/restore-queue.d.ts +50 -1
  16. package/dist/backend/backend/src/services/agent/restore-queue.d.ts.map +1 -1
  17. package/dist/backend/backend/src/services/agent/restore-queue.js +100 -5
  18. package/dist/backend/backend/src/services/agent/restore-queue.js.map +1 -1
  19. package/dist/backend/backend/src/services/memory/agent-memory-refresh.service.d.ts +11 -0
  20. package/dist/backend/backend/src/services/memory/agent-memory-refresh.service.d.ts.map +1 -1
  21. package/dist/backend/backend/src/services/memory/agent-memory-refresh.service.js +23 -2
  22. package/dist/backend/backend/src/services/memory/agent-memory-refresh.service.js.map +1 -1
  23. package/dist/backend/backend/src/services/messaging/deferred-start-retry.d.ts +8 -0
  24. package/dist/backend/backend/src/services/messaging/deferred-start-retry.d.ts.map +1 -1
  25. package/dist/backend/backend/src/services/messaging/deferred-start-retry.js +8 -0
  26. package/dist/backend/backend/src/services/messaging/deferred-start-retry.js.map +1 -1
  27. package/dist/backend/backend/src/services/wiki/wiki-log-entries.d.ts +7 -0
  28. package/dist/backend/backend/src/services/wiki/wiki-log-entries.d.ts.map +1 -1
  29. package/dist/backend/backend/src/services/wiki/wiki-log-entries.js +10 -0
  30. package/dist/backend/backend/src/services/wiki/wiki-log-entries.js.map +1 -1
  31. package/dist/backend/backend/src/services/wiki/wiki-log-rotation.service.d.ts +24 -0
  32. package/dist/backend/backend/src/services/wiki/wiki-log-rotation.service.d.ts.map +1 -1
  33. package/dist/backend/backend/src/services/wiki/wiki-log-rotation.service.js +75 -9
  34. package/dist/backend/backend/src/services/wiki/wiki-log-rotation.service.js.map +1 -1
  35. package/dist/backend/backend/src/services/wiki/wiki-maintenance.service.d.ts +19 -0
  36. package/dist/backend/backend/src/services/wiki/wiki-maintenance.service.d.ts.map +1 -1
  37. package/dist/backend/backend/src/services/wiki/wiki-maintenance.service.js +23 -2
  38. package/dist/backend/backend/src/services/wiki/wiki-maintenance.service.js.map +1 -1
  39. package/dist/backend/backend/src/services/wiki/work-record.service.d.ts +23 -1
  40. package/dist/backend/backend/src/services/wiki/work-record.service.d.ts.map +1 -1
  41. package/dist/backend/backend/src/services/wiki/work-record.service.js +33 -5
  42. package/dist/backend/backend/src/services/wiki/work-record.service.js.map +1 -1
  43. package/dist/backend/backend/src/services/worktree/low-disk-guard.d.ts +92 -8
  44. package/dist/backend/backend/src/services/worktree/low-disk-guard.d.ts.map +1 -1
  45. package/dist/backend/backend/src/services/worktree/low-disk-guard.js +98 -14
  46. package/dist/backend/backend/src/services/worktree/low-disk-guard.js.map +1 -1
  47. package/dist/backend/backend/src/services/worktree/tmp-janitor.d.ts +138 -0
  48. package/dist/backend/backend/src/services/worktree/tmp-janitor.d.ts.map +1 -0
  49. package/dist/backend/backend/src/services/worktree/tmp-janitor.js +199 -0
  50. package/dist/backend/backend/src/services/worktree/tmp-janitor.js.map +1 -0
  51. package/dist/backend/backend/src/services/worktree/transcript-janitor.d.ts +154 -0
  52. package/dist/backend/backend/src/services/worktree/transcript-janitor.d.ts.map +1 -0
  53. package/dist/backend/backend/src/services/worktree/transcript-janitor.js +357 -0
  54. package/dist/backend/backend/src/services/worktree/transcript-janitor.js.map +1 -0
  55. package/dist/backend/backend/src/services/worktree/workitem-worktree.service.d.ts.map +1 -1
  56. package/dist/backend/backend/src/services/worktree/workitem-worktree.service.js +7 -2
  57. package/dist/backend/backend/src/services/worktree/workitem-worktree.service.js.map +1 -1
  58. package/dist/backend/backend/src/services/worktree/worktree-dirty.d.ts +16 -4
  59. package/dist/backend/backend/src/services/worktree/worktree-dirty.d.ts.map +1 -1
  60. package/dist/backend/backend/src/services/worktree/worktree-dirty.js +21 -5
  61. package/dist/backend/backend/src/services/worktree/worktree-dirty.js.map +1 -1
  62. package/dist/backend/backend/src/services/worktree/worktree-git.d.ts +18 -0
  63. package/dist/backend/backend/src/services/worktree/worktree-git.d.ts.map +1 -1
  64. package/dist/backend/backend/src/services/worktree/worktree-git.js +60 -0
  65. package/dist/backend/backend/src/services/worktree/worktree-git.js.map +1 -1
  66. package/dist/backend/backend/src/services/worktree/worktree-janitor.service.d.ts +164 -25
  67. package/dist/backend/backend/src/services/worktree/worktree-janitor.service.d.ts.map +1 -1
  68. package/dist/backend/backend/src/services/worktree/worktree-janitor.service.js +494 -55
  69. package/dist/backend/backend/src/services/worktree/worktree-janitor.service.js.map +1 -1
  70. package/dist/backend/backend/src/services/worktree/worktree-tiers.d.ts +186 -0
  71. package/dist/backend/backend/src/services/worktree/worktree-tiers.d.ts.map +1 -0
  72. package/dist/backend/backend/src/services/worktree/worktree-tiers.js +279 -0
  73. package/dist/backend/backend/src/services/worktree/worktree-tiers.js.map +1 -0
  74. package/dist/backend/build-info.json +2 -2
  75. package/dist/cli/backend/src/constants.d.ts +130 -2
  76. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  77. package/dist/cli/backend/src/constants.js +141 -3
  78. package/dist/cli/backend/src/constants.js.map +1 -1
  79. package/dist/cli/backend/src/services/agent/boot-pressure.d.ts +147 -0
  80. package/dist/cli/backend/src/services/agent/boot-pressure.d.ts.map +1 -0
  81. package/dist/cli/backend/src/services/agent/boot-pressure.js +212 -0
  82. package/dist/cli/backend/src/services/agent/boot-pressure.js.map +1 -0
  83. package/dist/cli/backend/src/services/agent/restore-queue.d.ts +50 -1
  84. package/dist/cli/backend/src/services/agent/restore-queue.d.ts.map +1 -1
  85. package/dist/cli/backend/src/services/agent/restore-queue.js +100 -5
  86. package/dist/cli/backend/src/services/agent/restore-queue.js.map +1 -1
  87. package/dist/cli/backend/src/services/wiki/wiki-log-entries.d.ts +7 -0
  88. package/dist/cli/backend/src/services/wiki/wiki-log-entries.d.ts.map +1 -1
  89. package/dist/cli/backend/src/services/wiki/wiki-log-entries.js +10 -0
  90. package/dist/cli/backend/src/services/wiki/wiki-log-entries.js.map +1 -1
  91. package/dist/cli/backend/src/services/worktree/low-disk-guard.d.ts +92 -8
  92. package/dist/cli/backend/src/services/worktree/low-disk-guard.d.ts.map +1 -1
  93. package/dist/cli/backend/src/services/worktree/low-disk-guard.js +98 -14
  94. package/dist/cli/backend/src/services/worktree/low-disk-guard.js.map +1 -1
  95. package/dist/cli/backend/src/services/worktree/worktree-git.d.ts +18 -0
  96. package/dist/cli/backend/src/services/worktree/worktree-git.d.ts.map +1 -1
  97. package/dist/cli/backend/src/services/worktree/worktree-git.js +60 -0
  98. package/dist/cli/backend/src/services/worktree/worktree-git.js.map +1 -1
  99. package/package.json +1 -1
@@ -57,16 +57,36 @@
57
57
  * no submodules, it is retried once with `--force`. Then the local branch is
58
58
  * deleted (never a protected name), and `git worktree prune` runs per repo.
59
59
  *
60
- * ## Low disk: kept worktrees
61
- * Under low disk, a worktree kept as `dirty` or `not-merged` and idle for
62
- * 24 h+ still loses its `node_modules` / `.next` directories (reversible:
63
- * reinstall / rebuild); the verdict carries `reclaimed` and the summary
64
- * `reclaimedBytes`.
60
+ * ## Age tiers for kept worktrees (crewly#1354)
61
+ * A worktree kept as `dirty` or `not-merged` is not kept as it is forever.
62
+ * Untouched (shallow tree mtime, git dir, newest commit) for 3 days — 1 day
63
+ * under low disk or once its WorkItem finished — it loses its regenerable dirs
64
+ * (`node_modules`, `.next`, `dist`, `.turbo`, `.cache`; never a dir git
65
+ * tracks anything under); the verdict carries `reclaimed` / `tier`, the lead
66
+ * is told once. Untouched for 14 days it is saved as a patch under
67
+ * `<CREWLY_HOME>/worktree-archive/<repo>/<name>-<date>.patch` (tracked diff +
68
+ * untracked files, size-capped), its branch is kept, the worktree is removed
69
+ * and the lead is told once. See worktree-tiers.ts.
65
70
  *
66
71
  * ## Work completion
67
- * A WorkItem reaching done / verified calls `requestTidy()`: one debounced pass
68
- * (2 min) with a 10 min idle threshold, so a finished worktree is removed as
69
- * soon as its change has landed, not at the next 30-minute tick.
72
+ * A WorkItem reaching a terminal state calls `requestTidy(workItemId)`: one
73
+ * debounced pass (2 min) with a 10 min idle threshold, so a finished worktree
74
+ * is removed as soon as its change has landed, not at the next 30-minute
75
+ * tick; the worktree recorded on the WorkItem (`metadata.worktree`) is noted
76
+ * as finished, which drops its strip tier to 1 day.
77
+ *
78
+ * ## Transcripts, tmp and logs (crewly#1354)
79
+ * Once a day the pass prunes Claude Code transcripts of conversations Crewly
80
+ * launched that are untouched for 14 days (transcript-janitor.ts; the owner's
81
+ * own conversations are never touched). Every 6 hours it removes stale entries
82
+ * of `<CREWLY_HOME>/tmp` and caps `logs/archive` (300 MB) and `logs/sessions`
83
+ * (100 MB) (tmp-janitor.ts).
84
+ *
85
+ * ## Arming
86
+ * Every delete added in crewly#1354 (strip — low disk included — archive,
87
+ * transcripts, tmp, logs) is dry-run only until one day after the first real
88
+ * pass that ran this code: that pass logs what it would do; the next day it
89
+ * does it. State: `retentionArmedAt` in disk-janitor-state.json.
70
90
  *
71
91
  * ## Scratch sweep
72
92
  * After the worktrees, stale Claude Code session dirs
@@ -76,12 +96,13 @@
76
96
  *
77
97
  * ## Low-disk guard
78
98
  * Every 10 minutes the free space of the volume holding CREWLY_HOME is read.
79
- * Below 15 GB a pass runs at once (at most one per 30 minutes) with every
80
- * idle threshold halved (never below 2 h); every pass started while space is
81
- * low uses the halved thresholds. If space is still below 15 GB the owner is
82
- * told, at most once per 24 h, with the free space and the 5 biggest items
83
- * the janitor left and why; below 5 GB the notice is urgent and repeats at
84
- * most every 6 h.
99
+ * Below max(15 GB, 8 % of the disk) a pass runs at once (at most one per 30
100
+ * minutes) with every idle threshold halved (never below 2 h); every pass
101
+ * started while space is low uses the halved thresholds. If space is still
102
+ * low the owner is told, at most once per 24 h, with the free space, what was
103
+ * freed by kind, the 5 biggest items the janitor left and why, and that the
104
+ * owner's own files are never touched; below max(5 GB, 3 %) the notice is
105
+ * urgent and repeats at most every 6 h.
85
106
  *
86
107
  * ## Unmerged work
87
108
  * A worktree kept as `not-merged` whose newest commit is older than 24 h is
@@ -106,16 +127,36 @@
106
127
  *
107
128
  * @module services/worktree/worktree-janitor.service
108
129
  */
109
- import { type StatFsFn } from './low-disk-guard.js';
130
+ import { type FreedBreakdown, type StatFsFn } from './low-disk-guard.js';
110
131
  import { type ScratchSweepSummary } from './scratch-janitor.js';
111
132
  import { type DockerReclaimResult } from './docker-reclaim.js';
112
133
  import { type RunawayOutcome } from './runaway-file-watcher.js';
113
134
  import { type TraceDiskResult } from '../trace/trace-store.js';
135
+ import { type WorktreeTier } from './worktree-tiers.js';
136
+ import { type TranscriptSourceSets, type TranscriptSweepSummary } from './transcript-janitor.js';
137
+ import { type DirCapSummary, type TmpSweepSummary } from './tmp-janitor.js';
114
138
  /**
115
139
  * Why a worktree is kept, or why it may go. (`not-agent-worktree` is retired:
116
140
  * location no longer decides eligibility, only the idle threshold.)
117
141
  */
118
- export type WorktreeReason = 'main-worktree' | 'bare' | 'prunable' | 'locked' | 'managed-by-workitem-worktrees' | 'agent-session-inside' | 'process-inside' | 'cwd-probe-failed' | 'recent' | 'dirty' | 'status-failed' | 'not-merged' | 'merged' | 'pr-merged' | 'content-landed';
142
+ export type WorktreeReason = 'main-worktree' | 'bare' | 'prunable' | 'locked' | 'managed-by-workitem-worktrees' | 'agent-session-inside' | 'process-inside' | 'cwd-probe-failed' | 'recent' | 'dirty' | 'status-failed' | 'not-merged' | 'merged' | 'pr-merged' | 'content-landed' | 'archived';
143
+ /** What the age tier did (or would do) to a kept worktree. */
144
+ export interface WorktreeTierOutcome {
145
+ /** The tier reached */
146
+ tier: WorktreeTier;
147
+ /** Untouched for this long (ms) */
148
+ idleMs: number;
149
+ /** `done` (acted), `would` (dry run or not yet armed), `failed` (error below) */
150
+ action: 'done' | 'would' | 'failed';
151
+ /** Strip: dirs removed (or that would be) */
152
+ dirs?: string[];
153
+ /** Bytes freed (or that would be) */
154
+ freedBytes: number;
155
+ /** Archive: the patch file */
156
+ patch?: string;
157
+ /** Error text when the action failed */
158
+ error?: string;
159
+ }
119
160
  /** Verdict for one worktree (the dry-run output). */
120
161
  export interface WorktreeVerdict {
121
162
  /** Main worktree of the repo this worktree belongs to */
@@ -134,11 +175,13 @@ export interface WorktreeVerdict {
134
175
  detail?: string;
135
176
  /** Ms since last touched, when computed */
136
177
  idleMs?: number;
137
- /** Low disk only: regenerable dirs (node_modules, .next) of a kept worktree that were (or, in a dry run, would be) deleted */
178
+ /** Regenerable dirs (node_modules, .next, dist, …) of a kept worktree that were (or, in a dry run, would be) deleted */
138
179
  reclaimed?: {
139
180
  dirs: string[];
140
181
  freedBytes: number;
141
182
  };
183
+ /** Age tier reached by a kept worktree and what was done */
184
+ tier?: WorktreeTierOutcome;
142
185
  }
143
186
  /** Outcome of acting on one verdict. */
144
187
  export interface WorktreeOutcome extends WorktreeVerdict {
@@ -169,8 +212,27 @@ export interface JanitorRunSummary {
169
212
  wouldRemove: number;
170
213
  /** Worktrees kept */
171
214
  kept: number;
172
- /** Bytes freed by deleting regenerable dirs (node_modules, .next) from kept worktrees under low disk */
215
+ /** Bytes freed by deleting regenerable dirs (node_modules, .next, dist, …) from kept worktrees (strip tier) */
173
216
  reclaimedBytes: number;
217
+ /** Worktrees archived as a patch and removed (archive tier) */
218
+ archived: number;
219
+ /** Bytes those archived worktrees occupied */
220
+ archivedBytes: number;
221
+ /** True when the crewly#1354 deletes were armed for this pass (else they only report) */
222
+ retentionArmed: boolean;
223
+ /** Total bytes of the watched volume, or null when unknown */
224
+ totalBytes: number | null;
225
+ /** Transcript sweep result (null when it was not due) */
226
+ transcripts: TranscriptSweepSummary | null;
227
+ /** CREWLY_HOME/tmp sweep result (null when it was not due) */
228
+ tmp: TmpSweepSummary | null;
229
+ /** Log caps result (null when not due) */
230
+ logs: {
231
+ archive: DirCapSummary;
232
+ sessions: DirCapSummary;
233
+ } | null;
234
+ /** Bytes freed this pass by kind (real passes; a dry run reports what would be) */
235
+ freed: FreedBreakdown;
174
236
  /** Kept worktrees by reason (removal failures under `remove-failed`) */
175
237
  keptReasons: Record<string, number>;
176
238
  /** Per-worktree results */
@@ -257,6 +319,26 @@ export interface WorktreeJanitorOptions {
257
319
  env?: NodeJS.ProcessEnv;
258
320
  /** Logger (default: component logger `WorktreeJanitor`) */
259
321
  logger?: JanitorLogger;
322
+ /** Tier state file (default `<CREWLY_HOME>/worktree-tiers.json`); null = in memory */
323
+ tierStatePath?: string | null;
324
+ /** Where archive patches go (default `<CREWLY_HOME>/worktree-archive`) */
325
+ archiveRoot?: string;
326
+ /** Claude homes whose transcripts are swept (default `~/.claude` + account dirs); [] = never */
327
+ claudeHomes?: string[];
328
+ /** What identifies Crewly's conversations (default: CREWLY_HOME records + live sessions + teams) */
329
+ transcriptSources?: () => Promise<TranscriptSourceSets>;
330
+ /** `<CREWLY_HOME>/tmp` (default); null = never swept */
331
+ tmpRoot?: string | null;
332
+ /** `<CREWLY_HOME>/logs` (default); null = never capped */
333
+ logsDir?: string | null;
334
+ /** Names of live sessions, whose logs are never deleted (default: session backend + persistence) */
335
+ liveSessionNames?: () => Promise<string[]>;
336
+ /** Tests: run the transcript / tmp sweeps on every pass regardless of their interval */
337
+ forceSweeps?: boolean;
338
+ /** Tests: force the arming state (default: from disk-janitor-state.json) */
339
+ armed?: boolean;
340
+ /** WorkItem lookup for the task-end hook (default: task pool) */
341
+ findWorkItemWorktree?: (workItemId: string) => Promise<string | null>;
260
342
  }
261
343
  /**
262
344
  * Periodic cleaner of finished agent worktrees. See the module JSDoc for the
@@ -290,6 +372,7 @@ export declare class WorktreeJanitorService {
290
372
  private runawayWatcher;
291
373
  private runawayInFlight;
292
374
  private memoryUnmergedState;
375
+ private memoryTierState;
293
376
  /**
294
377
  * @param options - Injectable dependencies; defaults use the live backend
295
378
  */
@@ -349,6 +432,9 @@ export declare class WorktreeJanitorService {
349
432
  diskStatus(): Promise<{
350
433
  path: string;
351
434
  freeBytes: number | null;
435
+ totalBytes: number | null;
436
+ lowBytes: number;
437
+ criticalBytes: number;
352
438
  level: 'ok' | 'low' | 'critical' | 'unknown';
353
439
  }>;
354
440
  /**
@@ -381,7 +467,17 @@ export declare class WorktreeJanitorService {
381
467
  * Only worktrees that pass every safety rule are removed (landed, clean, nobody
382
468
  * inside) — unmerged work stays for the next pass. No-op when disabled. Never throws.
383
469
  */
384
- requestTidy(): void;
470
+ requestTidy(workItemId?: string): void;
471
+ /**
472
+ * Task-end hook: remember that the WorkItem working in `worktreePath`
473
+ * finished, so its strip tier needs 1 day untouched instead of 3. Never
474
+ * throws.
475
+ *
476
+ * @param worktreePath - The worktree (any path form; canonicalised)
477
+ */
478
+ noteFinishedWorktree(worktreePath: string): Promise<void>;
479
+ /** Resolve a WorkItem's worktree (`metadata.worktree.path`) and note it as finished. */
480
+ private noteFinishedWorkItem;
385
481
  /**
386
482
  * One real pass. Concurrent calls share the pass in flight. Never throws.
387
483
  * Honours the kill switch.
@@ -397,6 +493,9 @@ export declare class WorktreeJanitorService {
397
493
  private statePath;
398
494
  private readNoticeState;
399
495
  private writeNoticeState;
496
+ private tierStatePath;
497
+ private readTierState;
498
+ private writeTierState;
400
499
  private doCheckDisk;
401
500
  /**
402
501
  * Docker images and build cache that can be pulled or rebuilt again
@@ -407,6 +506,27 @@ export declare class WorktreeJanitorService {
407
506
  private keptItems;
408
507
  private git;
409
508
  private pass;
509
+ /** One log line each for the transcript, tmp and log sweeps of a real pass. */
510
+ private logRetention;
511
+ /**
512
+ * Age tiers for a kept worktree (crewly#1354): strip its regenerable dirs
513
+ * after 3 days untouched (1 day under low disk / after a finished WorkItem),
514
+ * archive it as a patch and remove it after 14 days. Managed per-WorkItem
515
+ * worktrees are only stripped (keeping their shared symlinks), never
516
+ * archived — their own service owns them. Never throws.
517
+ *
518
+ * @returns The (possibly updated) tier state
519
+ */
520
+ private applyTier;
521
+ /** Whether git tracks anything under `dir` of the worktree (null = could not tell). */
522
+ private isTracked;
523
+ /** Tell the owning team's lead (else the orchestrator) one message. Never throws. */
524
+ private tellLead;
525
+ /**
526
+ * Transcript, tmp and log retention (crewly#1354), each on its own
527
+ * cadence; all dry-run until armed. Never throws.
528
+ */
529
+ private sweepRetention;
410
530
  /**
411
531
  * Tell the owning team's lead (else the orchestrator) about kept worktrees
412
532
  * with unmerged work, once per worktree per interval. Never throws.
@@ -422,12 +542,6 @@ export declare class WorktreeJanitorService {
422
542
  * Apply the removal rules to one worktree (read-only apart from fetch).
423
543
  */
424
544
  private evaluate;
425
- /**
426
- * Low disk: delete the regenerable dirs (node_modules, .next) of a kept
427
- * worktree that has been idle for a day. Reversible; never touches
428
- * tracked or source files. Never throws.
429
- */
430
- private reclaimKept;
431
545
  /** `origin/<default>` after one quiet fetch per repo per pass; null when there is no origin. */
432
546
  private defaultRef;
433
547
  /** Number of a MERGED PR whose head is `branch` at exactly `head`, or null. */
@@ -442,6 +556,31 @@ export declare class WorktreeJanitorService {
442
556
  * @returns Paths (may include non-git paths; those are skipped)
443
557
  */
444
558
  export declare function defaultListRepoPaths(): Promise<string[]>;
559
+ /**
560
+ * Default WorkItem -> worktree lookup for the task-end hook: the worktree the
561
+ * per-WorkItem worktree feature recorded on the item (`metadata.worktree.path`).
562
+ *
563
+ * @param workItemId - WorkItem id
564
+ * @returns Worktree path, or null when the item has none
565
+ */
566
+ export declare function defaultFindWorkItemWorktree(workItemId: string): Promise<string | null>;
567
+ /**
568
+ * Default transcript sources: Crewly's records under CREWLY_HOME
569
+ * (session-state, last-conversations, handover files), the live session
570
+ * backend (names) and persistence (names + current conversation ids, kept),
571
+ * and every team member's session name.
572
+ *
573
+ * @param now - Current time (ms)
574
+ * @returns Known session names, recorded ids, ids to keep
575
+ */
576
+ export declare function defaultTranscriptSources(now: number): Promise<TranscriptSourceSets>;
577
+ /**
578
+ * Default live-session names (their logs are never deleted by the cap): the
579
+ * session backend's sessions plus every persisted session.
580
+ *
581
+ * @returns Session names
582
+ */
583
+ export declare function defaultLiveSessionNames(): Promise<string[]>;
445
584
  /**
446
585
  * Default busy-cwd probe: the start directory of every live Crewly session,
447
586
  * plus the cwd of every process of this user (which covers the PTY shells,
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-janitor.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/worktree/worktree-janitor.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree-janitor.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/worktree/worktree-janitor.service.ts"],"names":[],"mappings":"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"}