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.
Files changed (72) hide show
  1. package/dist/bridge/daemon.js +32 -0
  2. package/dist/bridge/daemon.js.map +1 -1
  3. package/dist/bridge/local-server.d.ts +29 -0
  4. package/dist/bridge/local-server.js +202 -12
  5. package/dist/bridge/local-server.js.map +1 -1
  6. package/dist/cli/commands/blog.js +31 -16
  7. package/dist/cli/commands/blog.js.map +1 -1
  8. package/dist/cli/commands/build.js +2 -2
  9. package/dist/cli/commands/build.js.map +1 -1
  10. package/dist/cli/commands/chat.js +2 -3
  11. package/dist/cli/commands/chat.js.map +1 -1
  12. package/dist/cli/commands/cleanup.js +98 -27
  13. package/dist/cli/commands/cleanup.js.map +1 -1
  14. package/dist/cli/commands/plan.d.ts +4 -0
  15. package/dist/cli/commands/plan.js +33 -10
  16. package/dist/cli/commands/plan.js.map +1 -1
  17. package/dist/cli/commands/planner.js +15 -5
  18. package/dist/cli/commands/planner.js.map +1 -1
  19. package/dist/cli/commands/research.js +26 -20
  20. package/dist/cli/commands/research.js.map +1 -1
  21. package/dist/cli/commands/run.js +2 -5
  22. package/dist/cli/commands/run.js.map +1 -1
  23. package/dist/cli/commands/worker.js +2 -3
  24. package/dist/cli/commands/worker.js.map +1 -1
  25. package/dist/cli/index.js +2 -0
  26. package/dist/cli/index.js.map +1 -1
  27. package/dist/lib/cache-cleaner.js +226 -205
  28. package/dist/lib/cache-cleaner.js.map +1 -1
  29. package/dist/lib/git/git-auto.js +46 -4
  30. package/dist/lib/git/git-auto.js.map +1 -1
  31. package/dist/lib/git/git-core.d.ts +11 -0
  32. package/dist/lib/git/git-core.js +14 -0
  33. package/dist/lib/git/git-core.js.map +1 -1
  34. package/dist/lib/git/git-finalize.d.ts +4 -0
  35. package/dist/lib/git/git-finalize.js +46 -10
  36. package/dist/lib/git/git-finalize.js.map +1 -1
  37. package/dist/lib/git/git-runner.js +2 -5
  38. package/dist/lib/git/git-runner.js.map +1 -1
  39. package/dist/lib/git/index.d.ts +2 -1
  40. package/dist/lib/git/index.js +5 -4
  41. package/dist/lib/git/index.js.map +1 -1
  42. package/dist/lib/git/pr-token.d.ts +29 -0
  43. package/dist/lib/git/pr-token.js +102 -0
  44. package/dist/lib/git/pr-token.js.map +1 -0
  45. package/dist/lib/harness/activity.d.ts +95 -0
  46. package/dist/lib/harness/activity.js +110 -0
  47. package/dist/lib/harness/activity.js.map +1 -0
  48. package/dist/lib/harness/opencode-control.d.ts +22 -0
  49. package/dist/lib/harness/opencode-control.js +47 -2
  50. package/dist/lib/harness/opencode-control.js.map +1 -1
  51. package/dist/lib/harness/run-scope.d.ts +23 -4
  52. package/dist/lib/harness/run-scope.js +237 -48
  53. package/dist/lib/harness/run-scope.js.map +1 -1
  54. package/dist/lib/harness/spawn.js +237 -12
  55. package/dist/lib/harness/spawn.js.map +1 -1
  56. package/dist/lib/llm/usage-reader.js +2 -1
  57. package/dist/lib/llm/usage-reader.js.map +1 -1
  58. package/dist/lib/orchestrator/worktree.d.ts +7 -1
  59. package/dist/lib/orchestrator/worktree.js +18 -1
  60. package/dist/lib/orchestrator/worktree.js.map +1 -1
  61. package/dist/lib/workspace/bus.d.ts +9 -0
  62. package/dist/lib/workspace/bus.js +25 -0
  63. package/dist/lib/workspace/bus.js.map +1 -1
  64. package/dist/lib/workspace/mirror.js +51 -5
  65. package/dist/lib/workspace/mirror.js.map +1 -1
  66. package/dist/lib/workspace/state-root.d.ts +44 -0
  67. package/dist/lib/workspace/state-root.js +266 -0
  68. package/dist/lib/workspace/state-root.js.map +1 -0
  69. package/dist/lib/workspace/workspace-audit.d.ts +20 -0
  70. package/dist/lib/workspace/workspace-audit.js +339 -0
  71. package/dist/lib/workspace/workspace-audit.js.map +1 -0
  72. 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":";;AA0IA,kDAmHC;AAyBD,gEAqGC;AA3XD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qCASiB;AACjB,yCAA0C;AAC1C,qCAAkC;AAClC,sCAAuC;AAoBvC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC,gEAAgE;AAChE,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAA,gBAAI,EAAC,IAAA,iBAAO,GAAE,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAA,oBAAU,EAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,IAAA,qBAAW,EAAC,WAAW,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,SAAS;YACtE,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,IAAA,sBAAY,EAAC,IAAA,gBAAI,EAAC,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CACd,CAAC;gBAClC,IAAI,GAAG,EAAE,QAAQ;oBACf,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,GAAa;IAC5C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,OAAO,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACvD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAY,CAAC;QAClC,IAAI,OAAiB,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,GAAG,IAAA,qBAAW,EAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,GAAG,CAAC,MAAM,IAAI,kBAAkB;gBAAE,MAAM;YAC5C,MAAM,CAAC,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,IAAA,kBAAQ,EAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,EAAE,CAAC,WAAW,EAAE;oBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBAC/B,IAAI,EAAE,CAAC,MAAM,EAAE;oBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,2BAA2B;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,YAAY;IACZ,kBAAkB;IAClB,yEAAyE;IACzE,0EAA0E;IAC1E,4CAA4C;IAC5C,2DAA2D;IAC3D,6CAA6C;CAC9C,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,MAAc;IACpC,IAAI,CAAC;QACH,MAAM,EAAE,YAAY,EAAE,GACpB,OAAO,CAAC,oBAAoB,CAAwC,CAAC;QACvE,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,SAAS,CAA6B,CAAC;QAC3E,MAAM,GAAG,GAAG,YAAY,CACtB,KAAK,EACL,CAAC,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,EAC3C;YACE,GAAG,EAAE,MAAM;YACX,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,GAAG,EAAE,eAAe,EAAE;SACvB,CACF;aACE,QAAQ,EAAE;aACV,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAA+B,CAAC;QAChE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,mBAAO,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAgB,mBAAmB;IACjC,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,KAAK,GAAsC,EAAE,CAAC;IAClD,IAAI,CAAC;QACH,KAAK,GAAG,CAAC,IAAA,mBAAU,GAAE,CAAC,QAAQ,IAAI,EAAE,CAAsC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC7C,CAAC;IACD,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,IAAI,CAAC,IAAA,oBAAU,EAAC,MAAM,CAAC;YAAE,SAAS;QAC7C,OAAO,EAAE,CAAC;QAEV,+BAA+B;QAC/B,MAAM,WAAW,GAAG,IAAA,gBAAI,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC9C,IAAI,IAAA,oBAAU,EAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAChE,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9B,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,qBAAqB;oBAC3B,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,0CAA0C;oBAClD,SAAS,EAAE,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO;iBACnE,CAAC,CAAC;YACL,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,IAAI,kBAAkB;gBAAE,SAAS,GAAG,IAAI,CAAC;QAC3D,CAAC;QAED,0BAA0B;QAC1B,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAClD,IAAI,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,IAAI,KAAK,GAAa,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,KAAK,GAAG,IAAA,qBAAW,EAAC,SAAS,CAAC,CAAC;YACjC,CAAC;YAAC,MAAM,CAAC;gBACP,KAAK,GAAG,EAAE,CAAC;YACb,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAClC,IAAI,CAAC;oBACH,IAAI,CAAC,IAAA,mBAAS,EAAC,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,IAAA,mBAAS,EAAC,GAAG,CAAC,CAAC,cAAc,EAAE;wBACnE,SAAS;gBACb,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC/D,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,GAAG;oBACT,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,SAAS;oBACrE,SAAS,EAAE,CAAC,MAAM;iBACnB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,EAAE,qBAAqB,EAAE,GAC7B,OAAO,CAAC,cAAc,CAAkC,CAAC;YAC3D,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,IAAA,gBAAI,EAAC,IAAA,mBAAO,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,IAAA,oBAAU,EAAC,MAAM,CAAC,EAAE,CAAC;YACvB,IAAI,KAAK,GAAa,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,KAAK,GAAG,IAAA,qBAAW,EAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,KAAK,GAAG,EAAE,CAAC;YACb,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,IAAA,gBAAI,EAAC,MAAM,EAAE,IAAI,CAAC;oBACxB,MAAM,EACJ,iFAAiF;oBACnF,SAAS,EAAE,KAAK;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,IAAI,IAAI,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACrE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,IAAI;wBACV,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,wBAAwB,IAAI;6BAC/C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;6BACpB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;6BACX,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC9C,SAAS,EAAE,IAAI;qBAChB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAC1C,CAAC;AASD,SAAS,iBAAiB,CAAC,IAAY,EAAE,KAAa;IACpD,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,IAAI,IAAA,oBAAU,EAAC,GAAG,CAAC,IAAI,IAAA,qBAAW,EAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,IAAA,mBAAS,EAAC,GAAG,CAAC,CAAC;;gBAChE,MAAM;QACb,CAAC;QAAC,MAAM,CAAC;YACP,MAAM;QACR,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAA+B,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAgB,0BAA0B,CACxC,MAAsB;IAEtB,MAAM,GAAG,GAA2B;QAClC,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,CAAC;QACP,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,EAAE;KACX,CAAC;IACF,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAChC,mEAAmE;gBACnE,SAAS;YACX,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACjC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACX,SAAS,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;gBACzD,SAAS;YACX,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBACrC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;oBACjB,GAAG,CAAC,IAAI,EAAE,CAAC;oBACX,SAAS,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;oBACjD,SAAS;gBACX,CAAC;gBACD,IAAA,gBAAM,EAAC,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChC,IAAI,CAAC,IAAA,oBAAU,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,GAAG,CAAC,OAAO,EAAE,CAAC;oBACd,kEAAkE;oBAClE,oEAAoE;oBACpE,kEAAkE;oBAClE,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBACxC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;oBAC1D,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;wBACf,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAA+B,CAAC;wBAChE,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;wBACxD,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChD,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAA,sBAAY,EAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAC3C,CAAC;gBACF,yEAAyE;gBACzE,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAChE,IAAA,uBAAa,EAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBACvC,GAAG,CAAC,OAAO,EAAE,CAAC;gBACd,SAAS;YACX,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,oDAAoD;IACpD,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,SAAS,CAClD,CAAC;QACF,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,EAAE,gBAAgB,EAAE,GACxB,OAAO,CAAC,sBAAsB,CAA0C,CAAC;YAC3E,MAAM,KAAK,GAAG,CAAC,IAAA,mBAAU,GAAE,CAAC,QAAQ,IAAI,EAAE,CAGzC,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;iBACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC;iBACnB,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrE,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACxC,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC;YAC5B,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7D,IAAI,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;gBACzC,SAAS,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CACnC,CAAC,MAAM,CAAC;YACT,SAAS,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,MAAM,CAAC,IAAI,CACb,gBAAgB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACnE,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC,MAAM;QAC/B,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,CAAC,CAAC,MAAM,CAAC;IACX,OAAO,GAAG,CAAC;AACb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "teamshare-bridge",
3
- "version": "0.26.21",
3
+ "version": "0.26.23",
4
4
  "description": "Local bridge for TeamShare agents - CLI session runner, auto-wake WebSocket daemon, and teamshare:// protocol handler.",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",