teamshare-bridge 0.26.21 → 0.26.23
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/bridge/daemon.js +32 -0
- package/dist/bridge/daemon.js.map +1 -1
- package/dist/bridge/local-server.d.ts +29 -0
- package/dist/bridge/local-server.js +202 -12
- package/dist/bridge/local-server.js.map +1 -1
- package/dist/cli/commands/blog.js +31 -16
- package/dist/cli/commands/blog.js.map +1 -1
- package/dist/cli/commands/build.js +2 -2
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/chat.js +2 -3
- package/dist/cli/commands/chat.js.map +1 -1
- package/dist/cli/commands/cleanup.js +98 -27
- package/dist/cli/commands/cleanup.js.map +1 -1
- package/dist/cli/commands/plan.d.ts +4 -0
- package/dist/cli/commands/plan.js +33 -10
- package/dist/cli/commands/plan.js.map +1 -1
- package/dist/cli/commands/planner.js +15 -5
- package/dist/cli/commands/planner.js.map +1 -1
- package/dist/cli/commands/research.js +26 -20
- package/dist/cli/commands/research.js.map +1 -1
- package/dist/cli/commands/run.js +2 -5
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/worker.js +2 -3
- package/dist/cli/commands/worker.js.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/lib/cache-cleaner.js +226 -205
- package/dist/lib/cache-cleaner.js.map +1 -1
- package/dist/lib/git/git-auto.js +46 -4
- package/dist/lib/git/git-auto.js.map +1 -1
- package/dist/lib/git/git-core.d.ts +11 -0
- package/dist/lib/git/git-core.js +14 -0
- package/dist/lib/git/git-core.js.map +1 -1
- package/dist/lib/git/git-finalize.d.ts +4 -0
- package/dist/lib/git/git-finalize.js +46 -10
- package/dist/lib/git/git-finalize.js.map +1 -1
- package/dist/lib/git/git-runner.js +2 -5
- package/dist/lib/git/git-runner.js.map +1 -1
- package/dist/lib/git/index.d.ts +2 -1
- package/dist/lib/git/index.js +5 -4
- package/dist/lib/git/index.js.map +1 -1
- package/dist/lib/git/pr-token.d.ts +29 -0
- package/dist/lib/git/pr-token.js +102 -0
- package/dist/lib/git/pr-token.js.map +1 -0
- package/dist/lib/harness/activity.d.ts +95 -0
- package/dist/lib/harness/activity.js +110 -0
- package/dist/lib/harness/activity.js.map +1 -0
- package/dist/lib/harness/opencode-control.d.ts +22 -0
- package/dist/lib/harness/opencode-control.js +47 -2
- package/dist/lib/harness/opencode-control.js.map +1 -1
- package/dist/lib/harness/run-scope.d.ts +23 -4
- package/dist/lib/harness/run-scope.js +237 -48
- package/dist/lib/harness/run-scope.js.map +1 -1
- package/dist/lib/harness/spawn.js +237 -12
- package/dist/lib/harness/spawn.js.map +1 -1
- package/dist/lib/llm/usage-reader.js +2 -1
- package/dist/lib/llm/usage-reader.js.map +1 -1
- package/dist/lib/orchestrator/worktree.d.ts +7 -1
- package/dist/lib/orchestrator/worktree.js +18 -1
- package/dist/lib/orchestrator/worktree.js.map +1 -1
- package/dist/lib/workspace/bus.d.ts +9 -0
- package/dist/lib/workspace/bus.js +25 -0
- package/dist/lib/workspace/bus.js.map +1 -1
- package/dist/lib/workspace/mirror.js +51 -5
- package/dist/lib/workspace/mirror.js.map +1 -1
- package/dist/lib/workspace/state-root.d.ts +44 -0
- package/dist/lib/workspace/state-root.js +266 -0
- package/dist/lib/workspace/state-root.js.map +1 -0
- package/dist/lib/workspace/workspace-audit.d.ts +20 -0
- package/dist/lib/workspace/workspace-audit.js +339 -0
- package/dist/lib/workspace/workspace-audit.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.auditWorkspaceState = auditWorkspaceState;
|
|
4
|
+
exports.applyWorkspaceStateCleanup = applyWorkspaceStateCleanup;
|
|
5
|
+
/**
|
|
6
|
+
* Workspace-state audit (2026-10-27): report (and optionally remove) every
|
|
7
|
+
* bridge-owned entry left INSIDE linked folders.
|
|
8
|
+
*
|
|
9
|
+
* The invariant is that the bridge creates zero entries in a linked folder
|
|
10
|
+
* except the agent's own edits. These findings are all pre-migration
|
|
11
|
+
* leftovers or crash survivors:
|
|
12
|
+
* - legacy-scratch-file: `<folder>/teamshare/...` (research/blog/plan mirrors)
|
|
13
|
+
* - leftover-scope: `<folder>/.teamshare-runs/<runId>/` (transient scope)
|
|
14
|
+
* - legacy-worktree: `<folder>/../.teamshare-worktrees/*` (pre-migration mirrors)
|
|
15
|
+
* - exclude-block: auto-added `.git/info/exclude` lines
|
|
16
|
+
*
|
|
17
|
+
* Removal policy (`--apply`): scopes go through the live-guarded sweep
|
|
18
|
+
* (a scope claimed by a live/resumable run is kept); scratch files are
|
|
19
|
+
* deleted only under the three bridge-owned subdirs
|
|
20
|
+
* (`research/`, `blog/`, `plans/`); exclude cleanup strips only lines the
|
|
21
|
+
* bridge wrote; sibling worktrees are NEVER removed here (the 6h sweep owns
|
|
22
|
+
* them with rescue-first) and are reported as kept.
|
|
23
|
+
*/
|
|
24
|
+
const node_fs_1 = require("node:fs");
|
|
25
|
+
const node_path_1 = require("node:path");
|
|
26
|
+
const node_os_1 = require("node:os");
|
|
27
|
+
const config_1 = require("../config");
|
|
28
|
+
const MAX_FILES_PER_TREE = 2000;
|
|
29
|
+
/** Scope dirs still claimed by a live/resumable harness run. */
|
|
30
|
+
function liveScopeDirs() {
|
|
31
|
+
const live = new Set();
|
|
32
|
+
try {
|
|
33
|
+
const sessionsDir = (0, node_path_1.join)((0, node_os_1.homedir)(), '.teamshare', 'sessions');
|
|
34
|
+
if (!(0, node_fs_1.existsSync)(sessionsDir))
|
|
35
|
+
return live;
|
|
36
|
+
for (const name of (0, node_fs_1.readdirSync)(sessionsDir)) {
|
|
37
|
+
if (!name.startsWith('harness-') || !name.endsWith('.json'))
|
|
38
|
+
continue;
|
|
39
|
+
try {
|
|
40
|
+
const rec = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(sessionsDir, name), 'utf8'));
|
|
41
|
+
if (rec?.scopeDir)
|
|
42
|
+
live.add(rec.scopeDir.replace(/\\/g, '/').toLowerCase());
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
/* corrupt record - ignore */
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
/* best-effort */
|
|
51
|
+
}
|
|
52
|
+
return live;
|
|
53
|
+
}
|
|
54
|
+
function walkFiles(root, out) {
|
|
55
|
+
const stack = [root];
|
|
56
|
+
while (stack.length && out.length < MAX_FILES_PER_TREE) {
|
|
57
|
+
const dir = stack.pop();
|
|
58
|
+
let entries;
|
|
59
|
+
try {
|
|
60
|
+
entries = (0, node_fs_1.readdirSync)(dir);
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
for (const name of entries) {
|
|
66
|
+
if (out.length >= MAX_FILES_PER_TREE)
|
|
67
|
+
break;
|
|
68
|
+
const p = (0, node_path_1.join)(dir, name);
|
|
69
|
+
try {
|
|
70
|
+
const st = (0, node_fs_1.statSync)(p);
|
|
71
|
+
if (st.isDirectory())
|
|
72
|
+
stack.push(p);
|
|
73
|
+
else if (st.isFile())
|
|
74
|
+
out.push(p);
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
/* best-effort per entry */
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/** Lines the bridge ever auto-added to an exclude file (exact trimmed match). */
|
|
83
|
+
const BRIDGE_EXCLUDE_LINES = new Set([
|
|
84
|
+
'teamshare/',
|
|
85
|
+
'.teamshare-runs/',
|
|
86
|
+
'# TeamShare local scratch (research/tool outputs) - added automatically',
|
|
87
|
+
'# TeamShare run scopes (per-run opencode projects) - added automatically',
|
|
88
|
+
'# teamshare isolation (auto) - do not edit',
|
|
89
|
+
'# >>> TeamShare run scope (auto, transient) - do not edit',
|
|
90
|
+
'# <<< TeamShare run scope (auto, transient)',
|
|
91
|
+
]);
|
|
92
|
+
function excludeFileFor(folder) {
|
|
93
|
+
try {
|
|
94
|
+
const { execFileSync } = require('node:child_process');
|
|
95
|
+
const { envWithoutShims } = require('./shims');
|
|
96
|
+
const out = execFileSync('git', ['rev-parse', '--git-path', 'info/exclude'], {
|
|
97
|
+
cwd: folder,
|
|
98
|
+
encoding: 'utf-8',
|
|
99
|
+
timeout: 5_000,
|
|
100
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
101
|
+
env: envWithoutShims(),
|
|
102
|
+
})
|
|
103
|
+
.toString()
|
|
104
|
+
.trim();
|
|
105
|
+
if (!out)
|
|
106
|
+
return null;
|
|
107
|
+
const path = require('node:path');
|
|
108
|
+
return path.isAbsolute(out) ? out : (0, node_path_1.resolve)(folder, out);
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function auditWorkspaceState() {
|
|
115
|
+
const findings = [];
|
|
116
|
+
let truncated = false;
|
|
117
|
+
let folders = 0;
|
|
118
|
+
let links = {};
|
|
119
|
+
try {
|
|
120
|
+
links = ((0, config_1.loadConfig)().projects ?? {});
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
return { folders: 0, findings, truncated };
|
|
124
|
+
}
|
|
125
|
+
const live = liveScopeDirs();
|
|
126
|
+
for (const link of Object.values(links)) {
|
|
127
|
+
const folder = link?.path;
|
|
128
|
+
if (!folder || !(0, node_fs_1.existsSync)(folder))
|
|
129
|
+
continue;
|
|
130
|
+
folders++;
|
|
131
|
+
// 1. Legacy in-folder scratch.
|
|
132
|
+
const scratchRoot = (0, node_path_1.join)(folder, 'teamshare');
|
|
133
|
+
if ((0, node_fs_1.existsSync)(scratchRoot)) {
|
|
134
|
+
const files = [];
|
|
135
|
+
try {
|
|
136
|
+
walkFiles(scratchRoot, files);
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
/* best-effort */
|
|
140
|
+
}
|
|
141
|
+
for (const f of files) {
|
|
142
|
+
const rel = f.slice(scratchRoot.length + 1).replace(/\\/g, '/');
|
|
143
|
+
const top = rel.split('/')[0];
|
|
144
|
+
findings.push({
|
|
145
|
+
kind: 'legacy-scratch-file',
|
|
146
|
+
path: f,
|
|
147
|
+
detail: 'legacy in-folder scratch (bridge mirror)',
|
|
148
|
+
removable: top === 'research' || top === 'blog' || top === 'plans',
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
if (files.length >= MAX_FILES_PER_TREE)
|
|
152
|
+
truncated = true;
|
|
153
|
+
}
|
|
154
|
+
// 2. Leftover run scopes.
|
|
155
|
+
const scopeBase = (0, node_path_1.join)(folder, '.teamshare-runs');
|
|
156
|
+
if ((0, node_fs_1.existsSync)(scopeBase)) {
|
|
157
|
+
let names = [];
|
|
158
|
+
try {
|
|
159
|
+
names = (0, node_fs_1.readdirSync)(scopeBase);
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
names = [];
|
|
163
|
+
}
|
|
164
|
+
for (const name of names) {
|
|
165
|
+
const dir = (0, node_path_1.join)(scopeBase, name);
|
|
166
|
+
try {
|
|
167
|
+
if (!(0, node_fs_1.lstatSync)(dir).isDirectory() && !(0, node_fs_1.lstatSync)(dir).isSymbolicLink())
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
catch {
|
|
171
|
+
continue;
|
|
172
|
+
}
|
|
173
|
+
const isLive = live.has(dir.replace(/\\/g, '/').toLowerCase());
|
|
174
|
+
findings.push({
|
|
175
|
+
kind: 'leftover-scope',
|
|
176
|
+
path: dir,
|
|
177
|
+
detail: isLive ? 'claimed by a live/resumable run - kept' : undefined,
|
|
178
|
+
removable: !isLive,
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
// 3. Legacy sibling worktrees (report-only).
|
|
183
|
+
let legacy = '';
|
|
184
|
+
try {
|
|
185
|
+
const { legacyWorktreeRootFor } = require('./state-root');
|
|
186
|
+
legacy = legacyWorktreeRootFor(folder);
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
legacy = (0, node_path_1.join)((0, node_path_1.resolve)(folder, '..'), '.teamshare-worktrees');
|
|
190
|
+
}
|
|
191
|
+
if ((0, node_fs_1.existsSync)(legacy)) {
|
|
192
|
+
let names = [];
|
|
193
|
+
try {
|
|
194
|
+
names = (0, node_fs_1.readdirSync)(legacy);
|
|
195
|
+
}
|
|
196
|
+
catch {
|
|
197
|
+
names = [];
|
|
198
|
+
}
|
|
199
|
+
for (const name of names) {
|
|
200
|
+
findings.push({
|
|
201
|
+
kind: 'legacy-worktree',
|
|
202
|
+
path: (0, node_path_1.join)(legacy, name),
|
|
203
|
+
detail: 'pre-migration mirror - owned by the 6h sweep (rescue-first), never removed here',
|
|
204
|
+
removable: false,
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
// 4. Auto-added exclude lines.
|
|
209
|
+
try {
|
|
210
|
+
const file = excludeFileFor(folder);
|
|
211
|
+
if (file && (0, node_fs_1.existsSync)(file)) {
|
|
212
|
+
const lines = (0, node_fs_1.readFileSync)(file, 'utf8').split('\n');
|
|
213
|
+
const hits = lines.filter((l) => BRIDGE_EXCLUDE_LINES.has(l.trim()));
|
|
214
|
+
if (hits.length) {
|
|
215
|
+
findings.push({
|
|
216
|
+
kind: 'exclude-block',
|
|
217
|
+
path: file,
|
|
218
|
+
detail: `${hits.length} auto-added line(s): ${hits
|
|
219
|
+
.map((h) => h.trim())
|
|
220
|
+
.slice(0, 4)
|
|
221
|
+
.join(' | ')}${hits.length > 4 ? ' …' : ''}`,
|
|
222
|
+
removable: true,
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
catch {
|
|
228
|
+
/* best-effort */
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
return { folders, findings, truncated };
|
|
232
|
+
}
|
|
233
|
+
function removeEmptyDirsUp(root, start) {
|
|
234
|
+
let dir = start;
|
|
235
|
+
while (dir.startsWith(root) && dir !== root) {
|
|
236
|
+
try {
|
|
237
|
+
if ((0, node_fs_1.existsSync)(dir) && (0, node_fs_1.readdirSync)(dir).length === 0)
|
|
238
|
+
(0, node_fs_1.rmdirSync)(dir);
|
|
239
|
+
else
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
242
|
+
catch {
|
|
243
|
+
break;
|
|
244
|
+
}
|
|
245
|
+
const path = require('node:path');
|
|
246
|
+
const parent = path.dirname(dir);
|
|
247
|
+
if (parent === dir)
|
|
248
|
+
break;
|
|
249
|
+
dir = parent;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
function applyWorkspaceStateCleanup(report) {
|
|
253
|
+
const res = {
|
|
254
|
+
removed: 0,
|
|
255
|
+
kept: 0,
|
|
256
|
+
keptReason: '',
|
|
257
|
+
errors: [],
|
|
258
|
+
};
|
|
259
|
+
const keptNotes = [];
|
|
260
|
+
for (const f of report.findings) {
|
|
261
|
+
try {
|
|
262
|
+
if (f.kind === 'leftover-scope') {
|
|
263
|
+
// Counted in bulk below: scopes go through the live-guarded sweep.
|
|
264
|
+
continue;
|
|
265
|
+
}
|
|
266
|
+
if (f.kind === 'legacy-worktree') {
|
|
267
|
+
res.kept++;
|
|
268
|
+
keptNotes.push('sibling worktrees (6h sweep owns them)');
|
|
269
|
+
continue;
|
|
270
|
+
}
|
|
271
|
+
if (f.kind === 'legacy-scratch-file') {
|
|
272
|
+
if (!f.removable) {
|
|
273
|
+
res.kept++;
|
|
274
|
+
keptNotes.push('unknown files under teamshare/');
|
|
275
|
+
continue;
|
|
276
|
+
}
|
|
277
|
+
(0, node_fs_1.rmSync)(f.path, { force: true });
|
|
278
|
+
if (!(0, node_fs_1.existsSync)(f.path)) {
|
|
279
|
+
res.removed++;
|
|
280
|
+
// Prune newly-empty parents up to (and including, when empty) the
|
|
281
|
+
// `teamshare/` root. Located by the LAST `/teamshare/` segment so a
|
|
282
|
+
// project folder that itself contains "teamshare" still resolves.
|
|
283
|
+
const norm = f.path.replace(/\\/g, '/');
|
|
284
|
+
const idx = norm.toLowerCase().lastIndexOf('/teamshare/');
|
|
285
|
+
if (idx !== -1) {
|
|
286
|
+
const path = require('node:path');
|
|
287
|
+
const root = f.path.slice(0, idx + '/teamshare'.length);
|
|
288
|
+
removeEmptyDirsUp(root, path.dirname(f.path));
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
res.errors.push(`could not remove ${f.path}`);
|
|
293
|
+
}
|
|
294
|
+
continue;
|
|
295
|
+
}
|
|
296
|
+
if (f.kind === 'exclude-block') {
|
|
297
|
+
const lines = (0, node_fs_1.readFileSync)(f.path, 'utf8').split('\n');
|
|
298
|
+
const keptLines = lines.filter((l) => !BRIDGE_EXCLUDE_LINES.has(l.trim()));
|
|
299
|
+
// Drop a leftover blank line the append introduced, never other content.
|
|
300
|
+
const cleaned = keptLines.join('\n').replace(/\n{3,}/g, '\n\n');
|
|
301
|
+
(0, node_fs_1.writeFileSync)(f.path, cleaned, 'utf8');
|
|
302
|
+
res.removed++;
|
|
303
|
+
continue;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
catch (err) {
|
|
307
|
+
res.errors.push(`${f.path}: ${err instanceof Error ? err.message : String(err)}`);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
// Scopes go through the live-guarded sweep in bulk (one pass per folder set
|
|
311
|
+
// is cheaper and the guard is authoritative there).
|
|
312
|
+
try {
|
|
313
|
+
const scopeFindings = report.findings.filter((f) => f.kind === 'leftover-scope' && f.removable);
|
|
314
|
+
if (scopeFindings.length) {
|
|
315
|
+
const { sweepStaleScopes } = require('../harness/run-scope');
|
|
316
|
+
const links = ((0, config_1.loadConfig)().projects ?? {});
|
|
317
|
+
const folders = Object.values(links)
|
|
318
|
+
.map((l) => l?.path)
|
|
319
|
+
.filter((p) => typeof p === 'string' && p.length > 0);
|
|
320
|
+
const swept = sweepStaleScopes(folders);
|
|
321
|
+
res.removed += swept.length;
|
|
322
|
+
res.kept += Math.max(0, scopeFindings.length - swept.length);
|
|
323
|
+
if (scopeFindings.length - swept.length > 0)
|
|
324
|
+
keptNotes.push('scopes still claimed or locked');
|
|
325
|
+
}
|
|
326
|
+
else if (report.findings.some((f) => f.kind === 'leftover-scope')) {
|
|
327
|
+
res.kept += report.findings.filter((f) => f.kind === 'leftover-scope').length;
|
|
328
|
+
keptNotes.push('live/resumable scopes');
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
catch (err) {
|
|
332
|
+
res.errors.push(`scope sweep: ${err instanceof Error ? err.message : String(err)}`);
|
|
333
|
+
}
|
|
334
|
+
res.keptReason = keptNotes.length
|
|
335
|
+
? [...new Set(keptNotes)].join('; ')
|
|
336
|
+
: 'none';
|
|
337
|
+
return res;
|
|
338
|
+
}
|
|
339
|
+
//# sourceMappingURL=workspace-audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-audit.js","sourceRoot":"","sources":["../../../src/lib/workspace/workspace-audit.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED