spidersan 0.4.5 → 0.6.0

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 (189) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/README.md +60 -5
  3. package/dist/bin/spidersan.d.ts.map +1 -1
  4. package/dist/bin/spidersan.js +12 -1
  5. package/dist/bin/spidersan.js.map +1 -1
  6. package/dist/commands/abandon.d.ts.map +1 -1
  7. package/dist/commands/abandon.js +4 -2
  8. package/dist/commands/abandon.js.map +1 -1
  9. package/dist/commands/auto.js +6 -6
  10. package/dist/commands/auto.js.map +1 -1
  11. package/dist/commands/cleanup.d.ts.map +1 -1
  12. package/dist/commands/cleanup.js +3 -8
  13. package/dist/commands/cleanup.js.map +1 -1
  14. package/dist/commands/config.js +1 -1
  15. package/dist/commands/config.js.map +1 -1
  16. package/dist/commands/conflicts.d.ts.map +1 -1
  17. package/dist/commands/conflicts.js +209 -56
  18. package/dist/commands/conflicts.js.map +1 -1
  19. package/dist/commands/cross-conflicts.d.ts +17 -0
  20. package/dist/commands/cross-conflicts.d.ts.map +1 -0
  21. package/dist/commands/cross-conflicts.js +308 -0
  22. package/dist/commands/cross-conflicts.js.map +1 -0
  23. package/dist/commands/daily.d.ts +7 -0
  24. package/dist/commands/daily.d.ts.map +1 -0
  25. package/dist/commands/daily.js +171 -0
  26. package/dist/commands/daily.js.map +1 -0
  27. package/dist/commands/dashboard.d.ts +22 -0
  28. package/dist/commands/dashboard.d.ts.map +1 -0
  29. package/dist/commands/dashboard.js +401 -0
  30. package/dist/commands/dashboard.js.map +1 -0
  31. package/dist/commands/depends.js +2 -2
  32. package/dist/commands/depends.js.map +1 -1
  33. package/dist/commands/doctor.d.ts +22 -0
  34. package/dist/commands/doctor.d.ts.map +1 -1
  35. package/dist/commands/doctor.js +320 -61
  36. package/dist/commands/doctor.js.map +1 -1
  37. package/dist/commands/github-sync.d.ts +9 -0
  38. package/dist/commands/github-sync.d.ts.map +1 -0
  39. package/dist/commands/github-sync.js +180 -0
  40. package/dist/commands/github-sync.js.map +1 -0
  41. package/dist/commands/index.d.ts +10 -0
  42. package/dist/commands/index.d.ts.map +1 -1
  43. package/dist/commands/index.js +16 -0
  44. package/dist/commands/index.js.map +1 -1
  45. package/dist/commands/log.d.ts +3 -4
  46. package/dist/commands/log.d.ts.map +1 -1
  47. package/dist/commands/log.js +102 -87
  48. package/dist/commands/log.js.map +1 -1
  49. package/dist/commands/merge-order.js +8 -1
  50. package/dist/commands/merge-order.js.map +1 -1
  51. package/dist/commands/merged.d.ts.map +1 -1
  52. package/dist/commands/merged.js +4 -2
  53. package/dist/commands/merged.js.map +1 -1
  54. package/dist/commands/pulse.d.ts +6 -2
  55. package/dist/commands/pulse.d.ts.map +1 -1
  56. package/dist/commands/pulse.js +144 -202
  57. package/dist/commands/pulse.js.map +1 -1
  58. package/dist/commands/queen.d.ts +25 -0
  59. package/dist/commands/queen.d.ts.map +1 -0
  60. package/dist/commands/queen.js +322 -0
  61. package/dist/commands/queen.js.map +1 -0
  62. package/dist/commands/ready-check.d.ts.map +1 -1
  63. package/dist/commands/ready-check.js +42 -27
  64. package/dist/commands/ready-check.js.map +1 -1
  65. package/dist/commands/rebase-helper.d.ts.map +1 -1
  66. package/dist/commands/rebase-helper.js +13 -5
  67. package/dist/commands/rebase-helper.js.map +1 -1
  68. package/dist/commands/register.d.ts +1 -0
  69. package/dist/commands/register.d.ts.map +1 -1
  70. package/dist/commands/register.js +46 -19
  71. package/dist/commands/register.js.map +1 -1
  72. package/dist/commands/registry-sync.d.ts +9 -0
  73. package/dist/commands/registry-sync.d.ts.map +1 -0
  74. package/dist/commands/registry-sync.js +163 -0
  75. package/dist/commands/registry-sync.js.map +1 -0
  76. package/dist/commands/rescue.d.ts.map +1 -1
  77. package/dist/commands/rescue.js +42 -6
  78. package/dist/commands/rescue.js.map +1 -1
  79. package/dist/commands/stale.d.ts +9 -1
  80. package/dist/commands/stale.d.ts.map +1 -1
  81. package/dist/commands/stale.js +38 -45
  82. package/dist/commands/stale.js.map +1 -1
  83. package/dist/commands/sync-advisor.d.ts +14 -0
  84. package/dist/commands/sync-advisor.d.ts.map +1 -0
  85. package/dist/commands/sync-advisor.js +110 -0
  86. package/dist/commands/sync-advisor.js.map +1 -0
  87. package/dist/commands/sync.d.ts.map +1 -1
  88. package/dist/commands/sync.js +16 -5
  89. package/dist/commands/sync.js.map +1 -1
  90. package/dist/commands/torrent.d.ts.map +1 -1
  91. package/dist/commands/torrent.js +16 -14
  92. package/dist/commands/torrent.js.map +1 -1
  93. package/dist/commands/watch.d.ts.map +1 -1
  94. package/dist/commands/watch.js +197 -6
  95. package/dist/commands/watch.js.map +1 -1
  96. package/dist/lib/activity.d.ts +53 -0
  97. package/dist/lib/activity.d.ts.map +1 -0
  98. package/dist/lib/activity.js +267 -0
  99. package/dist/lib/activity.js.map +1 -0
  100. package/dist/lib/agent-errors.d.ts.map +1 -1
  101. package/dist/lib/agent-errors.js +5 -3
  102. package/dist/lib/agent-errors.js.map +1 -1
  103. package/dist/lib/ast.d.ts.map +1 -1
  104. package/dist/lib/ast.js +66 -19
  105. package/dist/lib/ast.js.map +1 -1
  106. package/dist/lib/colony-subscriber.d.ts +53 -0
  107. package/dist/lib/colony-subscriber.d.ts.map +1 -0
  108. package/dist/lib/colony-subscriber.js +184 -0
  109. package/dist/lib/colony-subscriber.js.map +1 -0
  110. package/dist/lib/config.d.ts.map +1 -1
  111. package/dist/lib/config.js +5 -4
  112. package/dist/lib/config.js.map +1 -1
  113. package/dist/lib/crypto.d.ts.map +1 -1
  114. package/dist/lib/crypto.js +7 -3
  115. package/dist/lib/crypto.js.map +1 -1
  116. package/dist/lib/daily-bridge.d.ts +41 -0
  117. package/dist/lib/daily-bridge.d.ts.map +1 -0
  118. package/dist/lib/daily-bridge.js +186 -0
  119. package/dist/lib/daily-bridge.js.map +1 -0
  120. package/dist/lib/github.d.ts +83 -0
  121. package/dist/lib/github.d.ts.map +1 -0
  122. package/dist/lib/github.js +206 -0
  123. package/dist/lib/github.js.map +1 -0
  124. package/dist/lib/regex-utils.d.ts +6 -0
  125. package/dist/lib/regex-utils.d.ts.map +1 -0
  126. package/dist/lib/regex-utils.js +24 -0
  127. package/dist/lib/regex-utils.js.map +1 -0
  128. package/dist/lib/repo-scanner.d.ts +32 -0
  129. package/dist/lib/repo-scanner.d.ts.map +1 -0
  130. package/dist/lib/repo-scanner.js +160 -0
  131. package/dist/lib/repo-scanner.js.map +1 -0
  132. package/dist/lib/salvage-analyzer.d.ts +29 -0
  133. package/dist/lib/salvage-analyzer.d.ts.map +1 -0
  134. package/dist/lib/salvage-analyzer.js +122 -0
  135. package/dist/lib/salvage-analyzer.js.map +1 -0
  136. package/dist/lib/security.d.ts +11 -0
  137. package/dist/lib/security.d.ts.map +1 -1
  138. package/dist/lib/security.js +20 -0
  139. package/dist/lib/security.js.map +1 -1
  140. package/dist/lib/symbol-extractor.d.ts +41 -0
  141. package/dist/lib/symbol-extractor.d.ts.map +1 -0
  142. package/dist/lib/symbol-extractor.js +78 -0
  143. package/dist/lib/symbol-extractor.js.map +1 -0
  144. package/dist/storage/adapter.d.ts +1 -1
  145. package/dist/storage/adapter.d.ts.map +1 -1
  146. package/dist/storage/index.d.ts +0 -5
  147. package/dist/storage/index.d.ts.map +1 -1
  148. package/dist/storage/index.js +0 -6
  149. package/dist/storage/index.js.map +1 -1
  150. package/dist/storage/local.d.ts +1 -1
  151. package/dist/storage/local.d.ts.map +1 -1
  152. package/dist/storage/local.js +7 -5
  153. package/dist/storage/local.js.map +1 -1
  154. package/dist/storage/supabase.d.ts +21 -1
  155. package/dist/storage/supabase.d.ts.map +1 -1
  156. package/dist/storage/supabase.js +171 -6
  157. package/dist/storage/supabase.js.map +1 -1
  158. package/dist/tui/dashboard.d.ts.map +1 -1
  159. package/dist/tui/dashboard.js +15 -6
  160. package/dist/tui/dashboard.js.map +1 -1
  161. package/dist/types/cloud.d.ts +101 -0
  162. package/dist/types/cloud.d.ts.map +1 -0
  163. package/dist/types/cloud.js +13 -0
  164. package/dist/types/cloud.js.map +1 -0
  165. package/package.json +90 -91
  166. package/dist/commands/sync-all.d.ts +0 -9
  167. package/dist/commands/sync-all.d.ts.map +0 -1
  168. package/dist/commands/sync-all.js +0 -180
  169. package/dist/commands/sync-all.js.map +0 -1
  170. package/dist/storage/git-messages.d.ts +0 -53
  171. package/dist/storage/git-messages.d.ts.map +0 -1
  172. package/dist/storage/git-messages.js +0 -374
  173. package/dist/storage/git-messages.js.map +0 -1
  174. package/dist/storage/local-messages.d.ts +0 -37
  175. package/dist/storage/local-messages.d.ts.map +0 -1
  176. package/dist/storage/local-messages.js +0 -151
  177. package/dist/storage/local-messages.js.map +0 -1
  178. package/dist/storage/message-adapter.d.ts +0 -86
  179. package/dist/storage/message-adapter.d.ts.map +0 -1
  180. package/dist/storage/message-adapter.js +0 -28
  181. package/dist/storage/message-adapter.js.map +0 -1
  182. package/dist/storage/message-factory.d.ts +0 -36
  183. package/dist/storage/message-factory.d.ts.map +0 -1
  184. package/dist/storage/message-factory.js +0 -99
  185. package/dist/storage/message-factory.js.map +0 -1
  186. package/dist/storage/mycmail-adapter.d.ts +0 -38
  187. package/dist/storage/mycmail-adapter.d.ts.map +0 -1
  188. package/dist/storage/mycmail-adapter.js +0 -297
  189. package/dist/storage/mycmail-adapter.js.map +0 -1
@@ -8,10 +8,17 @@
8
8
  * TIER 3: Block (exit with error, prevent merge)
9
9
  */
10
10
  import { Command } from 'commander';
11
- import { execSync, execFileSync } from 'child_process';
11
+ import { compilePatterns } from '../lib/regex-utils.js';
12
+ import { execFileSync, spawnSync } from 'child_process';
13
+ import { basename } from 'path';
14
+ import { homedir } from 'os';
12
15
  import { getStorage } from '../storage/index.js';
13
16
  import { ASTParser } from '../lib/ast.js';
14
- import { validateAgentId, validateBranchName } from '../lib/security.js';
17
+ import { validateBranchName } from '../lib/security.js';
18
+ import { isExcludedPath } from './register.js';
19
+ import { loadConfig } from '../lib/config.js';
20
+ import { logActivity } from '../lib/activity.js';
21
+ import { isGhAvailable, getPRDetails } from '../lib/github.js';
15
22
  // Config
16
23
  const HUB_URL = process.env.HUB_URL || 'https://hub.treebird.uk';
17
24
  // Critical files that trigger TIER 3 blocking
@@ -37,9 +44,13 @@ const TIER_2_PATTERNS = [
37
44
  /index\.(ts|js)$/,
38
45
  /config\.(ts|js)$/,
39
46
  ];
40
- function getConflictTier(file) {
47
+ // Optimization: Pre-compile static patterns
48
+ const COMPILED_TIER_3 = compilePatterns(TIER_3_PATTERNS);
49
+ const COMPILED_TIER_2 = compilePatterns(TIER_2_PATTERNS);
50
+ function getConflictTier(file, compiledHigh = [], compiledMedium = []) {
41
51
  // Check TIER 3 first (most critical)
42
- for (const pattern of TIER_3_PATTERNS) {
52
+ const tier3 = [...COMPILED_TIER_3, ...compiledHigh];
53
+ for (const pattern of tier3) {
43
54
  if (pattern.test(file)) {
44
55
  return {
45
56
  tier: 3,
@@ -50,7 +61,8 @@ function getConflictTier(file) {
50
61
  }
51
62
  }
52
63
  // Check TIER 2
53
- for (const pattern of TIER_2_PATTERNS) {
64
+ const tier2 = [...COMPILED_TIER_2, ...compiledMedium];
65
+ for (const pattern of tier2) {
54
66
  if (pattern.test(file)) {
55
67
  return {
56
68
  tier: 2,
@@ -70,7 +82,7 @@ function getConflictTier(file) {
70
82
  }
71
83
  function getCurrentBranch() {
72
84
  try {
73
- return execSync('git rev-parse --abbrev-ref HEAD', { encoding: 'utf-8' }).trim();
85
+ return execFileSync('git', ['rev-parse', '--abbrev-ref', 'HEAD'], { encoding: 'utf-8' }).trim();
74
86
  }
75
87
  catch {
76
88
  throw new Error('Not in a git repository');
@@ -122,43 +134,7 @@ async function wakeConflictingAgent(agentId, myBranch, theirBranch, conflictingF
122
134
  catch {
123
135
  console.log(` āš ļø Could not wake ${agentId} via Hub`);
124
136
  }
125
- // 2. Send a detailed mycmail message
126
- try {
127
- const { execFileSync } = await import('child_process');
128
- // Security: Validate inputs before shell execution
129
- const safeAgentId = validateAgentId(agentId);
130
- const safeBranch = validateBranchName(theirBranch);
131
- const safeMyBranch = validateBranchName(myBranch);
132
- const subject = `šŸ•·ļø Conflict Alert: ${safeBranch}`;
133
- const body = [
134
- `Hey ${safeAgentId}!`,
135
- ``,
136
- `Spidersan detected a conflict between our branches:`,
137
- ``,
138
- ` My branch: ${safeMyBranch}`,
139
- ` Your branch: ${safeBranch}`,
140
- ``,
141
- `Conflicting files: ${fileList}${more}`,
142
- ``,
143
- `Action needed:`,
144
- ` 1. Check your changes on these files`,
145
- ` 2. Coordinate with me or rebase`,
146
- ` 3. Run: spidersan conflicts --branch ${safeBranch}`,
147
- ``,
148
- `Let's sync up! šŸ•·ļø`
149
- ].join('\n');
150
- // Security: Use execFileSync with argument array instead of string interpolation
151
- execFileSync('mycmail', ['send', safeAgentId, subject, '-m', body], {
152
- encoding: 'utf-8',
153
- stdio: 'pipe'
154
- });
155
- console.log(` šŸ“§ Message sent to ${agentId}`);
156
- return true;
157
- }
158
- catch {
159
- console.log(` āš ļø Could not send mycmail to ${agentId}`);
160
- return false;
161
- }
137
+ return true;
162
138
  }
163
139
  /**
164
140
  * Wait for a specified time
@@ -219,9 +195,120 @@ async function confirmAction(prompt, autoConfirm = false) {
219
195
  });
220
196
  });
221
197
  }
198
+ // ── Ecosystem scan ────────────────────────────────────────────────────────────
199
+ /**
200
+ * Default ecosystem repos. Configurable via SPIDERSAN_ECOSYSTEM env var.
201
+ * Falls back to ~/Dev/ structure (old) or ~/Dev/projects/ structure (new).
202
+ */
203
+ function getDefaultEcosystemRepos() {
204
+ if (process.env.SPIDERSAN_ECOSYSTEM) {
205
+ return process.env.SPIDERSAN_ECOSYSTEM.split(':').map((r) => r.trim()).filter(Boolean);
206
+ }
207
+ const homeDir = process.env.HOME || homedir();
208
+ return [
209
+ `${homeDir}/Dev/Envoak`,
210
+ `${homeDir}/Dev/treebird-internal`,
211
+ `${homeDir}/Dev/spidersan`,
212
+ `${homeDir}/Dev/Toak`,
213
+ `${homeDir}/Dev/flockview`,
214
+ `${homeDir}/Dev/mappersan`,
215
+ `${homeDir}/Dev/treebird`,
216
+ `${homeDir}/Dev/treementor`,
217
+ // Agent repos
218
+ `${homeDir}/Dev/Artisan`,
219
+ `${homeDir}/Dev/Birdsan`,
220
+ `${homeDir}/Dev/Cosan`,
221
+ `${homeDir}/Dev/Marksan`,
222
+ `${homeDir}/Dev/Sherlocksan`,
223
+ `${homeDir}/Dev/Teachersan`,
224
+ `${homeDir}/Dev/Watsan`,
225
+ `${homeDir}/Dev/Yosef`,
226
+ // Tools & libs
227
+ `${homeDir}/Dev/boidz`,
228
+ `${homeDir}/Dev/beads`,
229
+ `${homeDir}/Dev/birdseye`,
230
+ `${homeDir}/Dev/invoak`,
231
+ `${homeDir}/Dev/myceliumail`,
232
+ `${homeDir}/Dev/nanoclaw`,
233
+ `${homeDir}/Dev/nanoclaw-private`,
234
+ `${homeDir}/Dev/proaksy`,
235
+ `${homeDir}/Dev/sasu`,
236
+ `${homeDir}/Dev/skills`,
237
+ `${homeDir}/Dev/spidersan`,
238
+ `${homeDir}/Dev/treebird-heavy`,
239
+ `${homeDir}/Dev/Recovery-Tree-New`,
240
+ ];
241
+ }
242
+ const DEFAULT_ECOSYSTEM_REPOS = getDefaultEcosystemRepos();
243
+ function runEcosystemScan(repos, asJson) {
244
+ const results = [];
245
+ for (const repo of repos) {
246
+ const name = basename(repo);
247
+ const result = spawnSync('spidersan', ['conflicts', '--json'], { cwd: repo, encoding: 'utf-8', timeout: 15000 });
248
+ if (result.status === null || result.error) {
249
+ results.push({ repo, name, tier3: 0, tier2: 0, tier1: 0, error: 'spawn failed' });
250
+ continue;
251
+ }
252
+ if (result.status !== 0) {
253
+ // Exit 1 can be --strict mode; try to parse stdout anyway
254
+ // If it says "not initialized", mark as skipped
255
+ const combinedOut = (result.stderr ?? '') + (result.stdout ?? '');
256
+ if (combinedOut.includes('not initialized') || combinedOut.includes('not registered')) {
257
+ results.push({ repo, name, tier3: 0, tier2: 0, tier1: 0, skipped: true });
258
+ continue;
259
+ }
260
+ }
261
+ try {
262
+ const data = JSON.parse(result.stdout);
263
+ results.push({
264
+ repo,
265
+ name,
266
+ tier3: data.summary.tier3,
267
+ tier2: data.summary.tier2,
268
+ tier1: data.summary.tier1,
269
+ });
270
+ }
271
+ catch {
272
+ results.push({ repo, name, tier3: 0, tier2: 0, tier1: 0, error: 'parse failed' });
273
+ }
274
+ }
275
+ const totals = results.reduce((acc, r) => ({ tier3: acc.tier3 + r.tier3, tier2: acc.tier2 + r.tier2, tier1: acc.tier1 + r.tier1 }), { tier3: 0, tier2: 0, tier1: 0 });
276
+ const reposWithConflicts = results.filter(r => r.tier3 + r.tier2 + r.tier1 > 0).length;
277
+ if (asJson) {
278
+ console.log(JSON.stringify({
279
+ ecosystem: true,
280
+ repos: results,
281
+ summary: { ...totals, repos_scanned: results.length, repos_with_conflicts: reposWithConflicts },
282
+ }, null, 2));
283
+ return;
284
+ }
285
+ console.log(`
286
+ šŸ•·ļø ECOSYSTEM CONFLICT SCAN
287
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
288
+ `);
289
+ for (const r of results) {
290
+ if (r.skipped) {
291
+ console.log(` ⬜ ${r.name.padEnd(22)} (not initialized)`);
292
+ continue;
293
+ }
294
+ if (r.error) {
295
+ console.log(` ā“ ${r.name.padEnd(22)} (${r.error})`);
296
+ continue;
297
+ }
298
+ const icon = r.tier3 > 0 ? 'šŸ”“' : r.tier2 > 0 ? '🟠' : r.tier1 > 0 ? '🟔' : 'āœ…';
299
+ const counts = r.tier3 + r.tier2 + r.tier1 > 0
300
+ ? ` T3:${r.tier3} T2:${r.tier2} T1:${r.tier1}`
301
+ : ' clean';
302
+ console.log(` ${icon} ${r.name.padEnd(22)}${counts}`);
303
+ }
304
+ console.log(`\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`);
305
+ console.log(`šŸ“Š Total: šŸ”“ ${totals.tier3} BLOCK | 🟠 ${totals.tier2} PAUSE | 🟔 ${totals.tier1} WARN`);
306
+ console.log(` Repos scanned: ${results.length} | With conflicts: ${reposWithConflicts}`);
307
+ }
222
308
  export const conflictsCommand = new Command('conflicts')
223
309
  .description('Detect file conflicts between branches (with tiered blocking)')
224
310
  .option('--branch <name>', 'Check conflicts for specific branch')
311
+ .option('--pr <number>', 'Check conflicts for a GitHub pull request by number')
225
312
  .option('--json', 'Output as JSON')
226
313
  .option('--tier <level>', 'Filter by minimum tier (1, 2, or 3)', '1')
227
314
  .option('--strict', 'Strict mode: exit with error if TIER 2+ conflicts found')
@@ -231,31 +318,83 @@ export const conflictsCommand = new Command('conflicts')
231
318
  .option('--auto', 'Auto mode: skip confirmations (enables Ralph Wiggum loop)')
232
319
  .option('--max-retries <count>', 'Maximum retry attempts in auto mode (default: 5)', '5')
233
320
  .option('--semantic', 'Use semantic (AST) analysis for symbol-level conflict detection')
321
+ .option('--ecosystem', 'Scan all ecosystem repos and aggregate conflict tiers')
322
+ .option('--repos <paths>', 'Comma-separated repo paths for --ecosystem scan')
234
323
  .action(async (options) => {
324
+ // ── Ecosystem shortcut ───────────────────────────────────────────────
325
+ if (options.ecosystem) {
326
+ const repos = options.repos
327
+ ? options.repos.split(',').map((r) => r.trim()).filter(Boolean)
328
+ : DEFAULT_ECOSYSTEM_REPOS;
329
+ runEcosystemScan(repos, !!options.json);
330
+ return;
331
+ }
235
332
  const storage = await getStorage();
333
+ const config = await loadConfig();
236
334
  if (!await storage.isInitialized()) {
237
335
  console.error('āŒ Spidersan not initialized. Run: spidersan init');
238
336
  process.exit(1);
239
337
  }
240
- const targetBranch = options.branch || getCurrentBranch();
241
- const target = await storage.get(targetBranch);
242
338
  const minTier = parseInt(options.tier, 10);
243
- if (!target) {
244
- console.error(`āŒ Branch "${targetBranch}" is not registered.`);
245
- console.error(' Run: spidersan register --files "..."');
246
- process.exit(1);
339
+ // Load custom patterns from config
340
+ const highSeverity = (config.conflicts?.highSeverityPatterns || []).map(p => new RegExp(p));
341
+ const mediumSeverity = (config.conflicts?.mediumSeverityPatterns || []).map(p => new RegExp(p));
342
+ const compiledHigh = compilePatterns(highSeverity);
343
+ const compiledMedium = compilePatterns(mediumSeverity);
344
+ let targetBranch;
345
+ let targetFiles;
346
+ if (options.pr) {
347
+ // --pr mode: fetch PR head branch + changed files from GitHub
348
+ const prNumber = parseInt(options.pr, 10);
349
+ if (isNaN(prNumber) || prNumber <= 0) {
350
+ console.error('āŒ Invalid PR number. Provide a positive integer, e.g. --pr 42');
351
+ process.exit(1);
352
+ }
353
+ if (!isGhAvailable()) {
354
+ console.error('āŒ GitHub CLI (gh) is not available or not authenticated.');
355
+ console.error(' Install: https://cli.github.com → gh auth login');
356
+ process.exit(1);
357
+ }
358
+ let prDetails;
359
+ try {
360
+ prDetails = await getPRDetails(prNumber);
361
+ }
362
+ catch (err) {
363
+ const msg = err instanceof Error ? err.message : String(err);
364
+ console.error(`āŒ Failed to fetch PR #${prNumber}: ${msg}`);
365
+ process.exit(1);
366
+ }
367
+ targetBranch = prDetails.headBranch;
368
+ targetFiles = prDetails.files;
369
+ console.log(`šŸ•·ļø Checking conflicts for PR #${prNumber}: "${prDetails.title}"`);
370
+ console.log(` Branch: ${targetBranch} (${targetFiles.length} file(s) changed)`);
371
+ }
372
+ else {
373
+ // Normal --branch or current branch mode
374
+ targetBranch = options.branch || getCurrentBranch();
375
+ const target = await storage.get(targetBranch);
376
+ if (!target) {
377
+ console.error(`āŒ Branch "${targetBranch}" is not registered.`);
378
+ console.error(' Run: spidersan register --files "..."');
379
+ process.exit(1);
380
+ }
381
+ targetFiles = target.files;
247
382
  }
248
383
  const allBranches = await storage.list();
249
384
  const conflicts = [];
385
+ // Performance Optimization: Convert target files to Set for O(1) lookup
386
+ // Reduces complexity from O(N*M*K) to O(N*M) where N=branches, M=files/branch, K=target_files
387
+ // Filter excluded paths (node_modules/, dist/, etc.) at query time to handle stale registrations
388
+ const targetFilesSet = new Set(targetFiles.filter(f => !isExcludedPath(f)));
250
389
  for (const branch of allBranches) {
251
390
  if (branch.name === targetBranch || branch.status !== 'active')
252
391
  continue;
253
- const overlappingFiles = branch.files.filter(f => target.files.includes(f));
392
+ const overlappingFiles = branch.files.filter(f => !isExcludedPath(f) && targetFilesSet.has(f));
254
393
  if (overlappingFiles.length > 0) {
255
394
  // Get highest tier for this conflict
256
395
  let maxTier = { tier: 1, label: 'WARN', icon: '🟔', action: '' };
257
396
  for (const file of overlappingFiles) {
258
- const fileTier = getConflictTier(file);
397
+ const fileTier = getConflictTier(file, compiledHigh, compiledMedium);
259
398
  if (fileTier.tier > maxTier.tier) {
260
399
  maxTier = fileTier;
261
400
  }
@@ -296,6 +435,19 @@ export const conflictsCommand = new Command('conflicts')
296
435
  }
297
436
  // Sort by tier (highest first)
298
437
  conflicts.sort((a, b) => b.tier - a.tier);
438
+ // Log conflict detection to activity log
439
+ if (conflicts.length > 0) {
440
+ logActivity({
441
+ event: 'conflict_detected',
442
+ branch: targetBranch,
443
+ details: {
444
+ tier3: conflicts.filter(c => c.tier === 3).length,
445
+ tier2: conflicts.filter(c => c.tier === 2).length,
446
+ tier1: conflicts.filter(c => c.tier === 1).length,
447
+ conflicting_branches: conflicts.map(c => c.branch),
448
+ }
449
+ });
450
+ }
299
451
  // Check for blocking conditions
300
452
  const tier3Count = conflicts.filter(c => c.tier === 3).length;
301
453
  const tier2Count = conflicts.filter(c => c.tier === 2).length;
@@ -331,7 +483,7 @@ export const conflictsCommand = new Command('conflicts')
331
483
  for (const conflict of conflicts) {
332
484
  console.log(`${conflict.tierInfo.icon} TIER ${conflict.tier} (${conflict.tierInfo.label}): ${conflict.branch}`);
333
485
  for (const file of conflict.files) {
334
- const fileTier = getConflictTier(file);
486
+ const fileTier = getConflictTier(file, compiledHigh, compiledMedium);
335
487
  console.log(` ${fileTier.icon} ${file}`);
336
488
  }
337
489
  console.log(` → ${conflict.tierInfo.action}`);
@@ -369,15 +521,17 @@ export const conflictsCommand = new Command('conflicts')
369
521
  console.log(`
370
522
  🟠 TIER 2 CONFLICTS FOUND
371
523
  Coordinate with the other agent before proceeding.
372
- Use: mycmail send <agent> "Need to sync on <file>"
373
524
  `);
374
525
  }
375
526
  // Wake conflicting agents if --wake flag is set
376
527
  if (options.wake && conflicts.length > 0) {
377
528
  // Collect agents to wake
378
529
  const agentsToWake = new Map();
530
+ // Performance Optimization: Use the already fetched allBranches
531
+ // to avoid N+1 slow network requests to storage.get()
532
+ const branchMap = new Map(allBranches.map(b => [b.name, b]));
379
533
  for (const conflict of conflicts) {
380
- const conflictBranch = await storage.get(conflict.branch);
534
+ const conflictBranch = branchMap.get(conflict.branch);
381
535
  const agentId = conflictBranch?.agent;
382
536
  if (agentId && !agentsToWake.has(agentId)) {
383
537
  agentsToWake.set(agentId, { branch: conflict.branch, files: conflict.files });
@@ -395,8 +549,7 @@ export const conflictsCommand = new Command('conflicts')
395
549
  }
396
550
  console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
397
551
  console.log('This will:');
398
- console.log(' 1. Send wake signal via Hub');
399
- console.log(' 2. Send mycmail with conflict details\n');
552
+ console.log(' 1. Send wake signal via Hub\n');
400
553
  const confirmed = await confirmAction('Wake these agents?', options.auto);
401
554
  if (confirmed) {
402
555
  console.log('\nšŸ”” WAKING AGENTS...\n');
@@ -1 +1 @@
1
- {"version":3,"file":"conflicts.js","sourceRoot":"","sources":["../../src/commands/conflicts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conflicts.js","sourceRoot":"","sources":["../../src/commands/conflicts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * spidersan cross-conflicts
3
+ *
4
+ * Detect file conflicts ACROSS machines by comparing registries in Supabase.
5
+ * Extends the local `conflicts` command to work globally.
6
+ *
7
+ * Flow:
8
+ * 1. Push local registry to Supabase (ensure freshness)
9
+ * 2. Pull all other machines' registries
10
+ * 3. Compare file lists, apply tier escalation
11
+ * 4. Produce a GlobalConflictReport
12
+ */
13
+ import { Command } from 'commander';
14
+ import type { CrossMachineConflict, MachineRegistryView, SpiderRegistry } from '../types/cloud.js';
15
+ export declare function detectCrossMachineConflicts(localBranches: SpiderRegistry[], remoteMachines: MachineRegistryView[], localMachineId: string, localMachineName: string): CrossMachineConflict[];
16
+ export declare const crossConflictsCommand: Command;
17
+ //# sourceMappingURL=cross-conflicts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-conflicts.d.ts","sourceRoot":"","sources":["../../src/commands/cross-conflicts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,KAAK,EACR,oBAAoB,EAEpB,mBAAmB,EACnB,cAAc,EACjB,MAAM,mBAAmB,CAAC;AAyD3B,wBAAgB,2BAA2B,CACvC,aAAa,EAAE,cAAc,EAAE,EAC/B,cAAc,EAAE,mBAAmB,EAAE,EACrC,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,GACzB,oBAAoB,EAAE,CA0DxB;AA2FD,eAAO,MAAM,qBAAqB,SAmI5B,CAAC"}