teamshare-bridge 0.11.0 → 0.11.2

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 (68) hide show
  1. package/dist/bridge/daemon.js +89 -0
  2. package/dist/bridge/daemon.js.map +1 -1
  3. package/dist/bridge/local-server.d.ts +5 -0
  4. package/dist/bridge/local-server.js +195 -0
  5. package/dist/bridge/local-server.js.map +1 -1
  6. package/dist/bridge/spawn.d.ts +10 -0
  7. package/dist/bridge/spawn.js +78 -15
  8. package/dist/bridge/spawn.js.map +1 -1
  9. package/dist/cli/commands/build.js +7 -2
  10. package/dist/cli/commands/build.js.map +1 -1
  11. package/dist/cli/commands/chat.js +5 -0
  12. package/dist/cli/commands/chat.js.map +1 -1
  13. package/dist/cli/commands/cleanup.js +28 -1
  14. package/dist/cli/commands/cleanup.js.map +1 -1
  15. package/dist/cli/commands/doc.js +4 -0
  16. package/dist/cli/commands/doc.js.map +1 -1
  17. package/dist/cli/commands/link.js +30 -2
  18. package/dist/cli/commands/link.js.map +1 -1
  19. package/dist/cli/commands/run.js +13 -4
  20. package/dist/cli/commands/run.js.map +1 -1
  21. package/dist/cli/commands/worker.js +18 -1
  22. package/dist/cli/commands/worker.js.map +1 -1
  23. package/dist/lib/api.js +18 -0
  24. package/dist/lib/api.js.map +1 -1
  25. package/dist/lib/brief.js +5 -0
  26. package/dist/lib/brief.js.map +1 -1
  27. package/dist/lib/cache-cleaner.d.ts +51 -0
  28. package/dist/lib/cache-cleaner.js +403 -0
  29. package/dist/lib/cache-cleaner.js.map +1 -0
  30. package/dist/lib/chat-reply.js +1 -0
  31. package/dist/lib/chat-reply.js.map +1 -1
  32. package/dist/lib/config.d.ts +38 -1
  33. package/dist/lib/config.js +23 -2
  34. package/dist/lib/config.js.map +1 -1
  35. package/dist/lib/git-pipeline.d.ts +18 -3
  36. package/dist/lib/git-pipeline.js +82 -4
  37. package/dist/lib/git-pipeline.js.map +1 -1
  38. package/dist/lib/orchestrator/client.js +10 -4
  39. package/dist/lib/orchestrator/client.js.map +1 -1
  40. package/dist/lib/orchestrator/runner.d.ts +6 -1
  41. package/dist/lib/orchestrator/runner.js +86 -14
  42. package/dist/lib/orchestrator/runner.js.map +1 -1
  43. package/dist/lib/orchestrator/worktree.d.ts +24 -0
  44. package/dist/lib/orchestrator/worktree.js +99 -0
  45. package/dist/lib/orchestrator/worktree.js.map +1 -1
  46. package/dist/lib/rate-gate.d.ts +42 -0
  47. package/dist/lib/rate-gate.js +128 -0
  48. package/dist/lib/rate-gate.js.map +1 -0
  49. package/dist/lib/workspace/bus.d.ts +30 -0
  50. package/dist/lib/workspace/bus.js +101 -0
  51. package/dist/lib/workspace/bus.js.map +1 -0
  52. package/dist/lib/workspace/classify.d.ts +32 -0
  53. package/dist/lib/workspace/classify.js +197 -0
  54. package/dist/lib/workspace/classify.js.map +1 -0
  55. package/dist/lib/workspace/presence.d.ts +26 -0
  56. package/dist/lib/workspace/presence.js +130 -0
  57. package/dist/lib/workspace/presence.js.map +1 -0
  58. package/dist/lib/workspace/repo-lock.d.ts +90 -0
  59. package/dist/lib/workspace/repo-lock.js +296 -0
  60. package/dist/lib/workspace/repo-lock.js.map +1 -0
  61. package/dist/lib/workspace/shim-runner.d.ts +1 -0
  62. package/dist/lib/workspace/shim-runner.js +233 -0
  63. package/dist/lib/workspace/shim-runner.js.map +1 -0
  64. package/dist/lib/workspace/shims.d.ts +9 -0
  65. package/dist/lib/workspace/shims.js +88 -0
  66. package/dist/lib/workspace/shims.js.map +1 -0
  67. package/package.json +1 -1
  68. package/tools/workspace-arbitration-check.mjs +390 -0
@@ -0,0 +1,403 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_CLEANUP_POLICY = exports.TEAMSHARE_DIR = void 0;
4
+ exports.resolveCleanupPolicy = resolveCleanupPolicy;
5
+ exports.runCleanup = runCleanup;
6
+ /**
7
+ * cache-cleaner: policy-driven disk hygiene for everything the bridge
8
+ * stores (~/.teamshare caches + OS-temp artifacts).
9
+ *
10
+ * Contract: every rule is isolated and never throws into the caller; a
11
+ * sweep always returns a report. Protected data is never touched:
12
+ * config.json*, git-tokens.json, daemon.pid, live session locks,
13
+ * bare-repos/ (holds pushed history), linked project folders.
14
+ * Orchestrator worktrees (.teamshare-worktrees/task-*) are REPORT-ONLY -
15
+ * teardown stays backend-owned (remove-worktree) so paused/question_pending
16
+ * orchestrator workspaces are never nuked locally.
17
+ */
18
+ const node_fs_1 = require("node:fs");
19
+ const node_os_1 = require("node:os");
20
+ const node_path_1 = require("node:path");
21
+ const lock_1 = require("./lock");
22
+ exports.TEAMSHARE_DIR = (0, node_path_1.join)((0, node_os_1.homedir)(), '.teamshare');
23
+ const SESSIONS_DIR = (0, node_path_1.join)(exports.TEAMSHARE_DIR, 'sessions');
24
+ const REPOS_DIR = (0, node_path_1.join)(exports.TEAMSHARE_DIR, 'repos');
25
+ const BUILDS_DIR = (0, node_path_1.join)(exports.TEAMSHARE_DIR, 'builds');
26
+ const CHAT_LOCKS_DIR = (0, node_path_1.join)(exports.TEAMSHARE_DIR, 'chat-locks');
27
+ const STOPS_DIR = (0, node_path_1.join)(exports.TEAMSHARE_DIR, 'stops');
28
+ const SIGNALS_DIR = (0, node_path_1.join)(exports.TEAMSHARE_DIR, 'signals');
29
+ const DAEMON_LOG = (0, node_path_1.join)(exports.TEAMSHARE_DIR, 'daemon.log');
30
+ /** OS-temp prefixes owned by the bridge - nothing else is ever deleted. */
31
+ const TEMP_PREFIXES = [
32
+ 'teamshare-task-',
33
+ 'teamshare-build-',
34
+ 'teamshare-worker-',
35
+ 'teamshare-agent-prompt-',
36
+ 'teamshare-harness-',
37
+ 'teamshare-oc-',
38
+ ];
39
+ exports.DEFAULT_CLEANUP_POLICY = {
40
+ enabled: true,
41
+ intervalHours: 6,
42
+ sessionMaxAgeDays: 14,
43
+ sessionMaxSizeMb: 200,
44
+ logMaxSizeMb: 10,
45
+ tempMaxAgeDays: 7,
46
+ reposMaxAgeDays: 30,
47
+ reposMaxSizeMb: 2048,
48
+ };
49
+ function resolveCleanupPolicy(raw) {
50
+ const p = raw ?? {};
51
+ const days = (v, fallback) => typeof v === 'number' && Number.isFinite(v) && v >= 0 ? v : fallback;
52
+ const mb = (v, fallback) => typeof v === 'number' && Number.isFinite(v) && v > 0 ? v : fallback;
53
+ return {
54
+ enabled: p.enabled !== false,
55
+ intervalHours: typeof p.intervalHours === 'number' && p.intervalHours >= 1 ? p.intervalHours : exports.DEFAULT_CLEANUP_POLICY.intervalHours,
56
+ sessionMaxAgeMs: days(p.sessionMaxAgeDays, exports.DEFAULT_CLEANUP_POLICY.sessionMaxAgeDays) * 86_400_000,
57
+ sessionMaxSizeBytes: mb(p.sessionMaxSizeMb, exports.DEFAULT_CLEANUP_POLICY.sessionMaxSizeMb) * 1024 * 1024,
58
+ logMaxSizeBytes: mb(p.logMaxSizeMb, exports.DEFAULT_CLEANUP_POLICY.logMaxSizeMb) * 1024 * 1024,
59
+ tempMaxAgeMs: days(p.tempMaxAgeDays, exports.DEFAULT_CLEANUP_POLICY.tempMaxAgeDays) * 86_400_000,
60
+ reposMaxAgeMs: days(p.reposMaxAgeDays, exports.DEFAULT_CLEANUP_POLICY.reposMaxAgeDays) * 86_400_000,
61
+ reposMaxSizeBytes: mb(p.reposMaxSizeMb, exports.DEFAULT_CLEANUP_POLICY.reposMaxSizeMb) * 1024 * 1024,
62
+ };
63
+ }
64
+ // ── helpers ────────────────────────────────────────────────────────────────
65
+ function dirSizeBytes(dir) {
66
+ let total = 0;
67
+ try {
68
+ for (const entry of (0, node_fs_1.readdirSync)(dir, { withFileTypes: true })) {
69
+ const full = (0, node_path_1.join)(dir, entry.name);
70
+ total += entry.isDirectory() ? dirSizeBytes(full) : safeStat(full).size;
71
+ }
72
+ }
73
+ catch {
74
+ /* vanished mid-walk - fine */
75
+ }
76
+ return total;
77
+ }
78
+ function safeStat(path) {
79
+ try {
80
+ const st = (0, node_fs_1.statSync)(path);
81
+ return { size: st.size, mtimeMs: st.mtimeMs };
82
+ }
83
+ catch {
84
+ return { size: 0, mtimeMs: 0 };
85
+ }
86
+ }
87
+ function removePath(path, dryRun) {
88
+ if (dryRun)
89
+ return safeStat(path).size;
90
+ const before = safeStat(path).size;
91
+ (0, node_fs_1.rmSync)(path, { force: true, recursive: true });
92
+ return before;
93
+ }
94
+ function newReport() {
95
+ return { targets: [], notes: [] };
96
+ }
97
+ function pushTarget(targets, target) {
98
+ const existing = targets.find((t) => t.target === target);
99
+ if (existing)
100
+ return existing;
101
+ const created = { target, filesDeleted: 0, bytesFreed: 0, errors: [] };
102
+ targets.push(created);
103
+ return created;
104
+ }
105
+ function sweepOldFiles(ctx, target, label, dir, filter, maxAgeMs, protect) {
106
+ const report = pushTarget(target, label);
107
+ if (!(0, node_fs_1.existsSync)(dir))
108
+ return;
109
+ let entries;
110
+ try {
111
+ entries = (0, node_fs_1.readdirSync)(dir, { withFileTypes: true });
112
+ }
113
+ catch {
114
+ return;
115
+ }
116
+ for (const entry of entries) {
117
+ if (!filter(entry.name))
118
+ continue;
119
+ if (protect?.(entry.name))
120
+ continue;
121
+ const full = (0, node_path_1.join)(dir, entry.name);
122
+ const { mtimeMs } = safeStat(full);
123
+ if (ctx.now - mtimeMs <= maxAgeMs)
124
+ continue;
125
+ try {
126
+ const bytes = removePath(full, ctx.dryRun);
127
+ report.filesDeleted += 1;
128
+ report.bytesFreed += bytes;
129
+ }
130
+ catch (err) {
131
+ report.errors.push(`${entry.name}: ${err instanceof Error ? err.message : String(err)}`);
132
+ }
133
+ }
134
+ }
135
+ // ── rules ──────────────────────────────────────────────────────────────────
136
+ /** daemon.log rotation: size-capped, one rotated generation. */
137
+ function rotateDaemonLog(ctx, targets) {
138
+ const report = pushTarget(targets, 'daemon.log rotation');
139
+ try {
140
+ if (!(0, node_fs_1.existsSync)(DAEMON_LOG))
141
+ return;
142
+ const { size } = (0, node_fs_1.statSync)(DAEMON_LOG);
143
+ if (size <= ctx.policy.logMaxSizeBytes)
144
+ return;
145
+ const rotated = `${DAEMON_LOG}.1`;
146
+ if ((0, node_fs_1.existsSync)(rotated))
147
+ (0, node_fs_1.rmSync)(rotated, { force: true });
148
+ if (!ctx.dryRun) {
149
+ try {
150
+ (0, node_fs_1.renameSync)(DAEMON_LOG, rotated);
151
+ }
152
+ catch {
153
+ // Windows may hold the log fd open on a detached daemon:
154
+ // copy -> truncate keeps both generations without a rename.
155
+ (0, node_fs_1.copyFileSync)(DAEMON_LOG, rotated);
156
+ (0, node_fs_1.truncateSync)(DAEMON_LOG, 0);
157
+ }
158
+ }
159
+ report.filesDeleted += 1; // one generation consumed
160
+ report.bytesFreed += size;
161
+ }
162
+ catch (err) {
163
+ report.errors.push(err instanceof Error ? err.message : String(err));
164
+ }
165
+ // Legacy leftovers no current writer produces.
166
+ sweepOldFiles(ctx, targets, 'legacy daemon logs', exports.TEAMSHARE_DIR, (name) => name === 'daemon.out.log' || name === 'daemon.err.log', 24 * 3600_000);
167
+ }
168
+ /** OS temp: only teamshare-* prefixes we own. */
169
+ function cleanTemp(ctx, targets) {
170
+ const temp = (0, node_os_1.tmpdir)();
171
+ const report = pushTarget(targets, 'os temp (teamshare-*)');
172
+ let entries;
173
+ try {
174
+ entries = (0, node_fs_1.readdirSync)(temp, { withFileTypes: true });
175
+ }
176
+ catch {
177
+ return;
178
+ }
179
+ for (const entry of entries) {
180
+ if (!TEMP_PREFIXES.some((p) => entry.name.startsWith(p)))
181
+ continue;
182
+ const full = (0, node_path_1.join)(temp, entry.name);
183
+ const { mtimeMs } = safeStat(full);
184
+ if (ctx.now - mtimeMs <= ctx.policy.tempMaxAgeMs)
185
+ continue;
186
+ try {
187
+ const bytes = removePath(full, ctx.dryRun);
188
+ report.filesDeleted += 1;
189
+ report.bytesFreed += bytes;
190
+ }
191
+ catch (err) {
192
+ report.errors.push(`${entry.name}: ${err instanceof Error ? err.message : String(err)}`);
193
+ }
194
+ }
195
+ }
196
+ /** repos/: age + LRU over full orchestrator clones (skipped while builds/orchestrator run). */
197
+ function cleanRepos(ctx, targets) {
198
+ if (ctx.policy.reposMaxAgeMs === 0)
199
+ return; // 0 disables age deletion
200
+ if (ctx.orchestratorBusyAgents.size > 0)
201
+ return; // never mid-run
202
+ if (!(0, node_fs_1.existsSync)(REPOS_DIR))
203
+ return;
204
+ const report = pushTarget(targets, 'repos (orchestrator clones)');
205
+ let entries;
206
+ try {
207
+ entries = (0, node_fs_1.readdirSync)(REPOS_DIR, { withFileTypes: true })
208
+ .filter((e) => e.isDirectory())
209
+ .map((e) => ({ name: e.name, full: (0, node_path_1.join)(REPOS_DIR, e.name), ...safeStat((0, node_path_1.join)(REPOS_DIR, e.name)), size: dirSizeBytes((0, node_path_1.join)(REPOS_DIR, e.name)) }))
210
+ .sort((a, b) => a.mtimeMs - b.mtimeMs);
211
+ }
212
+ catch {
213
+ return;
214
+ }
215
+ let total = entries.reduce((sum, e) => sum + e.size, 0);
216
+ for (const entry of entries) {
217
+ const old = ctx.now - entry.mtimeMs > ctx.policy.reposMaxAgeMs;
218
+ if (!old && total <= ctx.policy.reposMaxSizeBytes)
219
+ break;
220
+ try {
221
+ const bytes = removePath(entry.full, ctx.dryRun);
222
+ total -= bytes;
223
+ report.filesDeleted += 1;
224
+ report.bytesFreed += bytes;
225
+ }
226
+ catch (err) {
227
+ report.errors.push(`${entry.name}: ${err instanceof Error ? err.message : String(err)}`);
228
+ }
229
+ }
230
+ }
231
+ /** builds/: stale state json whose build cannot be live anymore. */
232
+ function cleanStaleBuilds(ctx, targets) {
233
+ sweepOldFiles(ctx, targets, 'builds (stale state)', BUILDS_DIR, () => true, 7 * 86_400_000,
234
+ // Protect agents that currently hold a live build lock.
235
+ (name) => [...ctx.busyAgents].some((agentId) => name.startsWith(`${agentId}.`)));
236
+ }
237
+ /** chat-locks / stops / signals: self-consuming, sweep anything older than 24 h. */
238
+ function sweepMicroDirs(ctx, targets) {
239
+ for (const [label, dir] of [
240
+ ['chat-locks', CHAT_LOCKS_DIR],
241
+ ['stops', STOPS_DIR],
242
+ ['signals', SIGNALS_DIR],
243
+ ]) {
244
+ sweepOldFiles(ctx, targets, label, dir, () => true, 24 * 3600_000);
245
+ }
246
+ }
247
+ /** Report-only: worktree dirs next to each linked project folder. */
248
+ function noteWorktrees(ctx, targets, projectPaths, notes) {
249
+ void targets;
250
+ const seen = new Set();
251
+ for (const projectPath of projectPaths) {
252
+ const wtDir = (0, node_path_1.join)(projectPath, '..', '.teamshare-worktrees');
253
+ if (seen.has(wtDir) || !(0, node_fs_1.existsSync)(wtDir))
254
+ continue;
255
+ seen.add(wtDir);
256
+ let count = 0;
257
+ let bytes = 0;
258
+ try {
259
+ for (const entry of (0, node_fs_1.readdirSync)(wtDir, { withFileTypes: true })) {
260
+ if (!entry.isDirectory())
261
+ continue;
262
+ count += 1;
263
+ bytes += dirSizeBytes((0, node_path_1.join)(wtDir, entry.name));
264
+ }
265
+ }
266
+ catch {
267
+ continue;
268
+ }
269
+ if (count > 0) {
270
+ notes.push(`worktrees (report-only): ${count} task dir(s), ${(bytes / 1024 / 1024).toFixed(1)} MB under ${wtDir} - removal is backend-owned`);
271
+ }
272
+ }
273
+ }
274
+ /**
275
+ * Runs every cleanup rule. Never throws.
276
+ */
277
+ async function runCleanup(policyRaw, opts = {}) {
278
+ const policy = resolveCleanupPolicy(policyRaw);
279
+ const report = { dryRun: opts.dryRun === true, totalFiles: 0, totalBytes: 0, targets: [], notes: [] };
280
+ if (!policy.enabled) {
281
+ report.notes.push('cleanup disabled via config');
282
+ return report;
283
+ }
284
+ // Live-state snapshot drives all protections.
285
+ const busyAgents = new Set();
286
+ const orchestratorBusyAgents = new Set();
287
+ const liveTaskIds = new Set();
288
+ for (const agent of opts.agents ?? []) {
289
+ const lock = (0, lock_1.readLock)(agent.agentId);
290
+ if (!lock)
291
+ continue;
292
+ if (!(0, lock_1.isLockBusy)(agent.agentId))
293
+ continue;
294
+ busyAgents.add(agent.agentId);
295
+ if (lock.kind === 'orchestrator' || lock.kind === 'build')
296
+ orchestratorBusyAgents.add(agent.agentId);
297
+ if (lock.taskId)
298
+ liveTaskIds.add(lock.taskId);
299
+ }
300
+ const ctx = {
301
+ policy,
302
+ now: Date.now(),
303
+ dryRun: report.dryRun,
304
+ busyAgents,
305
+ orchestratorBusyAgents,
306
+ liveTaskIds,
307
+ };
308
+ const { targets, notes } = newReport();
309
+ report.targets = targets;
310
+ report.notes = notes;
311
+ cleanSessionsWithProtection(ctx, targets);
312
+ rotateDaemonLog(ctx, targets);
313
+ cleanTemp(ctx, targets);
314
+ cleanRepos(ctx, targets);
315
+ cleanStaleBuilds(ctx, targets);
316
+ sweepMicroDirs(ctx, targets);
317
+ noteWorktrees(ctx, targets, opts.projectPaths ?? [], notes);
318
+ for (const t of targets) {
319
+ report.totalFiles += t.filesDeleted;
320
+ report.totalBytes += t.bytesFreed;
321
+ }
322
+ if (opts.log && !report.dryRun) {
323
+ const mb = report.totalBytes / 1024 / 1024;
324
+ const sizeLabel = mb >= 0.1 ? `${mb.toFixed(1)} MB` : `${report.totalBytes} B`;
325
+ opts.log(`[cleanup] freed ${sizeLabel} (${report.totalFiles} file(s))`);
326
+ for (const note of report.notes)
327
+ opts.log(`[cleanup] ${note}`);
328
+ }
329
+ return report;
330
+ }
331
+ /**
332
+ * sessions/ rule with continuation protection wired to live locks
333
+ * (task-<taskId>.json is --self resume data for running tasks).
334
+ */
335
+ function cleanSessionsWithProtection(ctx, targets) {
336
+ const report = pushTarget(targets, 'sessions');
337
+ if (!(0, node_fs_1.existsSync)(SESSIONS_DIR))
338
+ return;
339
+ let entries;
340
+ try {
341
+ entries = (0, node_fs_1.readdirSync)(SESSIONS_DIR, { withFileTypes: true });
342
+ }
343
+ catch {
344
+ return;
345
+ }
346
+ for (const entry of entries) {
347
+ const name = entry.name;
348
+ const isSessionArtifact = name.startsWith('spawn-') ||
349
+ name.startsWith('session_') ||
350
+ (name.startsWith('task-') && name.endsWith('.json'));
351
+ if (!isSessionArtifact)
352
+ continue;
353
+ if (name.startsWith('task-')) {
354
+ const taskId = name.slice('task-'.length, -'.json'.length);
355
+ if (liveTaskIdsHas(taskId))
356
+ continue;
357
+ }
358
+ const full = (0, node_path_1.join)(SESSIONS_DIR, name);
359
+ const { mtimeMs } = safeStat(full);
360
+ if (ctx.now - mtimeMs <= ctx.policy.sessionMaxAgeMs)
361
+ continue;
362
+ try {
363
+ const bytes = removePath(full, ctx.dryRun);
364
+ report.filesDeleted += 1;
365
+ report.bytesFreed += bytes;
366
+ }
367
+ catch (err) {
368
+ report.errors.push(`${name}: ${err instanceof Error ? err.message : String(err)}`);
369
+ }
370
+ }
371
+ // LRU trim when the directory still exceeds its cap.
372
+ try {
373
+ const lru = pushTarget(targets, 'sessions (lru)');
374
+ const files = (0, node_fs_1.readdirSync)(SESSIONS_DIR, { withFileTypes: true })
375
+ .filter((e) => e.isFile())
376
+ .map((e) => ({ name: e.name, full: (0, node_path_1.join)(SESSIONS_DIR, e.name), ...safeStat((0, node_path_1.join)(SESSIONS_DIR, e.name)) }))
377
+ .filter((f) => f.size > 0)
378
+ .sort((a, b) => a.mtimeMs - b.mtimeMs);
379
+ let total = files.reduce((sum, f) => sum + f.size, 0);
380
+ for (const file of files) {
381
+ if (total <= ctx.policy.sessionMaxSizeBytes)
382
+ break;
383
+ if (file.name.startsWith('task-')) {
384
+ const taskId = file.name.slice('task-'.length, -'.json'.length);
385
+ if (liveTaskIdsHas(taskId))
386
+ continue;
387
+ }
388
+ if (ctx.now - file.mtimeMs <= 60_000)
389
+ continue; // active right now
390
+ const bytes = removePath(file.full, ctx.dryRun);
391
+ total -= bytes;
392
+ lru.filesDeleted += 1;
393
+ lru.bytesFreed += bytes;
394
+ }
395
+ }
396
+ catch {
397
+ /* best-effort */
398
+ }
399
+ function liveTaskIdsHas(taskId) {
400
+ return ctx.liveTaskIds.has(taskId);
401
+ }
402
+ }
403
+ //# sourceMappingURL=cache-cleaner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-cleaner.js","sourceRoot":"","sources":["../../src/lib/cache-cleaner.ts"],"names":[],"mappings":"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"}
@@ -142,6 +142,7 @@ function mentionPrompt(agentName, target, context, projectId, projectName, agent
142
142
  'Do NOT browse, reference, or claim to work on any local repository or folder on disk.',
143
143
  'Never mention local folder names or repo names (e.g. teamshare-bridge, frontend, teamshare-backend).',
144
144
  'If asked about code work, mention tasks or documents in TeamShare, not local folders.',
145
+ 'If a teamshare tool returns RATE_LIMITED or a message like "Try again in N minutes", do not spam retries - wait briefly, retry once, and mention the limit in your reply if it persists.',
145
146
  ].join('\n');
146
147
  }
147
148
  const REPLAY_CHUNK_CHARS = 24;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-reply.js","sourceRoot":"","sources":["../../src/lib/chat-reply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-reply.js","sourceRoot":"","sources":["../../src/lib/chat-reply.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,28 @@ export interface ProjectGitOptions {
22
22
  /** Remote to push to (default "origin"). */
23
23
  remote?: string;
24
24
  }
25
+ /**
26
+ * Cache-cleanup policy knobs. Every field is optional - the sweeper applies
27
+ * its own defaults (see src/lib/cache-cleaner.ts DEFAULT_CLEANUP_POLICY).
28
+ */
29
+ export interface CleanupPolicy {
30
+ /** Master switch. Default true. */
31
+ enabled?: boolean;
32
+ /** Sweep cadence in hours (daemon). Default 6. */
33
+ intervalHours?: number;
34
+ /** Delete session captures/transcripts older than N days. Default 14. */
35
+ sessionMaxAgeDays?: number;
36
+ /** LRU-trim sessions dir when it exceeds N MB. Default 200. */
37
+ sessionMaxSizeMb?: number;
38
+ /** Rotate daemon.log when it exceeds N MB. Default 10. */
39
+ logMaxSizeMb?: number;
40
+ /** Delete OS-temp teamshare-* files/dirs older than N days. Default 7. */
41
+ tempMaxAgeDays?: number;
42
+ /** Delete orchestrator repo clones unused for N days (0 = never). Default 30. */
43
+ reposMaxAgeDays?: number;
44
+ /** LRU-trim repos/ clones beyond N MB total. Default 2048. */
45
+ reposMaxSizeMb?: number;
46
+ }
25
47
  /** Project -> local folder mapping (the "project guard", IMP-6xx). */
26
48
  export interface ProjectLink {
27
49
  /** Canonical absolute path the agent may work inside. */
@@ -30,6 +52,12 @@ export interface ProjectLink {
30
52
  guard?: boolean;
31
53
  /** Git pipeline options for agent runs in this folder. */
32
54
  git?: ProjectGitOptions;
55
+ /**
56
+ * Workspace arbitration (IMP-950): when a second live presence shows up
57
+ * in the linked folder, new task/build wakes spawn into an auto-created
58
+ * git worktree instead of sharing the folder. Opt-in per project.
59
+ */
60
+ autoWorktree?: boolean;
33
61
  }
34
62
  export interface BridgeConfig {
35
63
  agents: AgentConfig[];
@@ -59,6 +87,8 @@ export interface BridgeConfig {
59
87
  chatKey?: string;
60
88
  /** Run sessions as detached background processes (no visible terminal). */
61
89
  backgroundSessions?: boolean;
90
+ /** Cache-cleanup policy (optional - defaults apply when absent). */
91
+ cleanup?: CleanupPolicy;
62
92
  }
63
93
  export declare function configPath(): string;
64
94
  export declare function defaultConfig(): BridgeConfig;
@@ -82,9 +112,16 @@ export type PreflightResult = {
82
112
  */
83
113
  export declare function preflightFolder(rawPath: string): PreflightResult;
84
114
  /** Links a project to a local folder (guard on by default). Returns the result. */
85
- export declare function linkProject(projectId: string, path: string, guard?: boolean): PreflightResult & {
115
+ export declare function linkProject(projectId: string, path: string, guard?: boolean, opts?: {
116
+ autoWorktree?: boolean;
117
+ }): PreflightResult & {
86
118
  config?: BridgeConfig;
87
119
  };
120
+ /**
121
+ * Update arbitration options for an existing link without touching the path
122
+ * (used by `teamshare-agent link --project <id> --auto-worktree <bool>`).
123
+ */
124
+ export declare function setProjectAutoWorktree(projectId: string, enabled: boolean): BridgeConfig | null;
88
125
  /** Removes a project link. */
89
126
  export declare function unlinkProject(projectId: string): BridgeConfig;
90
127
  /**
@@ -8,6 +8,7 @@ exports.saveConfig = saveConfig;
8
8
  exports.upsertAgent = upsertAgent;
9
9
  exports.preflightFolder = preflightFolder;
10
10
  exports.linkProject = linkProject;
11
+ exports.setProjectAutoWorktree = setProjectAutoWorktree;
11
12
  exports.unlinkProject = unlinkProject;
12
13
  exports.projectCwd = projectCwd;
13
14
  exports.projectGitOptions = projectGitOptions;
@@ -75,6 +76,9 @@ function loadConfig() {
75
76
  backgroundSessions: typeof raw.backgroundSessions === 'boolean'
76
77
  ? raw.backgroundSessions
77
78
  : undefined,
79
+ cleanup: raw.cleanup && typeof raw.cleanup === 'object'
80
+ ? raw.cleanup
81
+ : undefined,
78
82
  };
79
83
  }
80
84
  }
@@ -187,15 +191,32 @@ function mappedNetworkDrives() {
187
191
  return map;
188
192
  }
189
193
  /** Links a project to a local folder (guard on by default). Returns the result. */
190
- function linkProject(projectId, path, guard = true) {
194
+ function linkProject(projectId, path, guard = true, opts = {}) {
191
195
  const preflight = preflightFolder(path);
192
196
  if (!preflight.ok)
193
197
  return preflight;
194
198
  const config = loadConfig();
195
- config.projects[projectId] = { path: preflight.canonical, guard };
199
+ config.projects[projectId] = {
200
+ path: preflight.canonical,
201
+ guard,
202
+ ...(opts.autoWorktree != null ? { autoWorktree: opts.autoWorktree } : {}),
203
+ };
196
204
  saveConfig(config);
197
205
  return { ...preflight, config };
198
206
  }
207
+ /**
208
+ * Update arbitration options for an existing link without touching the path
209
+ * (used by `teamshare-agent link --project <id> --auto-worktree <bool>`).
210
+ */
211
+ function setProjectAutoWorktree(projectId, enabled) {
212
+ const config = loadConfig();
213
+ const link = config.projects[projectId];
214
+ if (!link)
215
+ return null;
216
+ link.autoWorktree = enabled;
217
+ saveConfig(config);
218
+ return config;
219
+ }
199
220
  /** Removes a project link. */
200
221
  function unlinkProject(projectId) {
201
222
  const config = loadConfig();