spidersan 0.10.0 → 0.20.1

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 (479) hide show
  1. package/CHANGELOG.md +163 -0
  2. package/README.md +39 -280
  3. package/package.json +88 -90
  4. package/dist/bin/spidersan.d.ts +0 -9
  5. package/dist/bin/spidersan.d.ts.map +0 -1
  6. package/dist/bin/spidersan.js +0 -117
  7. package/dist/bin/spidersan.js.map +0 -1
  8. package/dist/commands/abandon.d.ts +0 -8
  9. package/dist/commands/abandon.d.ts.map +0 -1
  10. package/dist/commands/abandon.js +0 -43
  11. package/dist/commands/abandon.js.map +0 -1
  12. package/dist/commands/activate.d.ts +0 -9
  13. package/dist/commands/activate.d.ts.map +0 -1
  14. package/dist/commands/activate.js +0 -45
  15. package/dist/commands/activate.js.map +0 -1
  16. package/dist/commands/active-windows.d.ts +0 -16
  17. package/dist/commands/active-windows.d.ts.map +0 -1
  18. package/dist/commands/active-windows.js +0 -373
  19. package/dist/commands/active-windows.js.map +0 -1
  20. package/dist/commands/ai.d.ts +0 -15
  21. package/dist/commands/ai.d.ts.map +0 -1
  22. package/dist/commands/ai.js +0 -498
  23. package/dist/commands/ai.js.map +0 -1
  24. package/dist/commands/audit-mark.d.ts +0 -12
  25. package/dist/commands/audit-mark.d.ts.map +0 -1
  26. package/dist/commands/audit-mark.js +0 -204
  27. package/dist/commands/audit-mark.js.map +0 -1
  28. package/dist/commands/auto.d.ts +0 -8
  29. package/dist/commands/auto.d.ts.map +0 -1
  30. package/dist/commands/auto.js +0 -207
  31. package/dist/commands/auto.js.map +0 -1
  32. package/dist/commands/bot.d.ts +0 -16
  33. package/dist/commands/bot.d.ts.map +0 -1
  34. package/dist/commands/bot.js +0 -416
  35. package/dist/commands/bot.js.map +0 -1
  36. package/dist/commands/cleanup.d.ts +0 -8
  37. package/dist/commands/cleanup.d.ts.map +0 -1
  38. package/dist/commands/cleanup.js +0 -36
  39. package/dist/commands/cleanup.js.map +0 -1
  40. package/dist/commands/close.d.ts +0 -9
  41. package/dist/commands/close.d.ts.map +0 -1
  42. package/dist/commands/close.js +0 -129
  43. package/dist/commands/close.js.map +0 -1
  44. package/dist/commands/collab-sync.d.ts +0 -14
  45. package/dist/commands/collab-sync.d.ts.map +0 -1
  46. package/dist/commands/collab-sync.js +0 -264
  47. package/dist/commands/collab-sync.js.map +0 -1
  48. package/dist/commands/collab.d.ts +0 -6
  49. package/dist/commands/collab.d.ts.map +0 -1
  50. package/dist/commands/collab.js +0 -103
  51. package/dist/commands/collab.js.map +0 -1
  52. package/dist/commands/completions.d.ts +0 -8
  53. package/dist/commands/completions.d.ts.map +0 -1
  54. package/dist/commands/completions.js +0 -83
  55. package/dist/commands/completions.js.map +0 -1
  56. package/dist/commands/config.d.ts +0 -15
  57. package/dist/commands/config.d.ts.map +0 -1
  58. package/dist/commands/config.js +0 -337
  59. package/dist/commands/config.js.map +0 -1
  60. package/dist/commands/conflicts.d.ts +0 -12
  61. package/dist/commands/conflicts.d.ts.map +0 -1
  62. package/dist/commands/conflicts.js +0 -570
  63. package/dist/commands/conflicts.js.map +0 -1
  64. package/dist/commands/context.d.ts +0 -8
  65. package/dist/commands/context.d.ts.map +0 -1
  66. package/dist/commands/context.js +0 -104
  67. package/dist/commands/context.js.map +0 -1
  68. package/dist/commands/cross-conflicts.d.ts +0 -17
  69. package/dist/commands/cross-conflicts.d.ts.map +0 -1
  70. package/dist/commands/cross-conflicts.js +0 -274
  71. package/dist/commands/cross-conflicts.js.map +0 -1
  72. package/dist/commands/daily.d.ts +0 -7
  73. package/dist/commands/daily.d.ts.map +0 -1
  74. package/dist/commands/daily.js +0 -171
  75. package/dist/commands/daily.js.map +0 -1
  76. package/dist/commands/dashboard.d.ts +0 -22
  77. package/dist/commands/dashboard.d.ts.map +0 -1
  78. package/dist/commands/dashboard.js +0 -401
  79. package/dist/commands/dashboard.js.map +0 -1
  80. package/dist/commands/demo.d.ts +0 -3
  81. package/dist/commands/demo.d.ts.map +0 -1
  82. package/dist/commands/demo.js +0 -118
  83. package/dist/commands/demo.js.map +0 -1
  84. package/dist/commands/depends.d.ts +0 -8
  85. package/dist/commands/depends.d.ts.map +0 -1
  86. package/dist/commands/depends.js +0 -36
  87. package/dist/commands/depends.js.map +0 -1
  88. package/dist/commands/doctor.d.ts +0 -30
  89. package/dist/commands/doctor.d.ts.map +0 -1
  90. package/dist/commands/doctor.js +0 -540
  91. package/dist/commands/doctor.js.map +0 -1
  92. package/dist/commands/ecosystem-loader.d.ts +0 -14
  93. package/dist/commands/ecosystem-loader.d.ts.map +0 -1
  94. package/dist/commands/ecosystem-loader.js +0 -90
  95. package/dist/commands/ecosystem-loader.js.map +0 -1
  96. package/dist/commands/fleet-status.d.ts +0 -14
  97. package/dist/commands/fleet-status.d.ts.map +0 -1
  98. package/dist/commands/fleet-status.js +0 -127
  99. package/dist/commands/fleet-status.js.map +0 -1
  100. package/dist/commands/git-watch.d.ts +0 -24
  101. package/dist/commands/git-watch.d.ts.map +0 -1
  102. package/dist/commands/git-watch.js +0 -84
  103. package/dist/commands/git-watch.js.map +0 -1
  104. package/dist/commands/github-sync.d.ts +0 -9
  105. package/dist/commands/github-sync.d.ts.map +0 -1
  106. package/dist/commands/github-sync.js +0 -180
  107. package/dist/commands/github-sync.js.map +0 -1
  108. package/dist/commands/inbox.d.ts +0 -3
  109. package/dist/commands/inbox.d.ts.map +0 -1
  110. package/dist/commands/inbox.js +0 -120
  111. package/dist/commands/inbox.js.map +0 -1
  112. package/dist/commands/index.d.ts +0 -36
  113. package/dist/commands/index.d.ts.map +0 -1
  114. package/dist/commands/index.js +0 -44
  115. package/dist/commands/index.js.map +0 -1
  116. package/dist/commands/init.d.ts +0 -8
  117. package/dist/commands/init.d.ts.map +0 -1
  118. package/dist/commands/init.js +0 -23
  119. package/dist/commands/init.js.map +0 -1
  120. package/dist/commands/intent-scan.d.ts +0 -17
  121. package/dist/commands/intent-scan.d.ts.map +0 -1
  122. package/dist/commands/intent-scan.js +0 -336
  123. package/dist/commands/intent-scan.js.map +0 -1
  124. package/dist/commands/key-import.d.ts +0 -3
  125. package/dist/commands/key-import.d.ts.map +0 -1
  126. package/dist/commands/key-import.js +0 -54
  127. package/dist/commands/key-import.js.map +0 -1
  128. package/dist/commands/keygen.d.ts +0 -3
  129. package/dist/commands/keygen.d.ts.map +0 -1
  130. package/dist/commands/keygen.js +0 -53
  131. package/dist/commands/keygen.js.map +0 -1
  132. package/dist/commands/keys.d.ts +0 -3
  133. package/dist/commands/keys.d.ts.map +0 -1
  134. package/dist/commands/keys.js +0 -56
  135. package/dist/commands/keys.js.map +0 -1
  136. package/dist/commands/list.d.ts +0 -3
  137. package/dist/commands/list.d.ts.map +0 -1
  138. package/dist/commands/list.js +0 -45
  139. package/dist/commands/list.js.map +0 -1
  140. package/dist/commands/lock.d.ts +0 -11
  141. package/dist/commands/lock.d.ts.map +0 -1
  142. package/dist/commands/lock.js +0 -257
  143. package/dist/commands/lock.js.map +0 -1
  144. package/dist/commands/log.d.ts +0 -7
  145. package/dist/commands/log.d.ts.map +0 -1
  146. package/dist/commands/log.js +0 -110
  147. package/dist/commands/log.js.map +0 -1
  148. package/dist/commands/mcp-health.d.ts +0 -3
  149. package/dist/commands/mcp-health.d.ts.map +0 -1
  150. package/dist/commands/mcp-health.js +0 -305
  151. package/dist/commands/mcp-health.js.map +0 -1
  152. package/dist/commands/mcp-restart.d.ts +0 -3
  153. package/dist/commands/mcp-restart.d.ts.map +0 -1
  154. package/dist/commands/mcp-restart.js +0 -176
  155. package/dist/commands/mcp-restart.js.map +0 -1
  156. package/dist/commands/merge-order.d.ts +0 -9
  157. package/dist/commands/merge-order.d.ts.map +0 -1
  158. package/dist/commands/merge-order.js +0 -96
  159. package/dist/commands/merge-order.js.map +0 -1
  160. package/dist/commands/merged.d.ts +0 -8
  161. package/dist/commands/merged.d.ts.map +0 -1
  162. package/dist/commands/merged.js +0 -33
  163. package/dist/commands/merged.js.map +0 -1
  164. package/dist/commands/monitor.d.ts +0 -3
  165. package/dist/commands/monitor.d.ts.map +0 -1
  166. package/dist/commands/monitor.js +0 -153
  167. package/dist/commands/monitor.js.map +0 -1
  168. package/dist/commands/msg-read.d.ts +0 -3
  169. package/dist/commands/msg-read.d.ts.map +0 -1
  170. package/dist/commands/msg-read.js +0 -95
  171. package/dist/commands/msg-read.js.map +0 -1
  172. package/dist/commands/pulse.d.ts +0 -13
  173. package/dist/commands/pulse.d.ts.map +0 -1
  174. package/dist/commands/pulse.js +0 -174
  175. package/dist/commands/pulse.js.map +0 -1
  176. package/dist/commands/queen.d.ts +0 -25
  177. package/dist/commands/queen.d.ts.map +0 -1
  178. package/dist/commands/queen.js +0 -326
  179. package/dist/commands/queen.js.map +0 -1
  180. package/dist/commands/radar.d.ts +0 -3
  181. package/dist/commands/radar.d.ts.map +0 -1
  182. package/dist/commands/radar.js +0 -147
  183. package/dist/commands/radar.js.map +0 -1
  184. package/dist/commands/ready-check.d.ts +0 -11
  185. package/dist/commands/ready-check.d.ts.map +0 -1
  186. package/dist/commands/ready-check.js +0 -147
  187. package/dist/commands/ready-check.js.map +0 -1
  188. package/dist/commands/rebase-helper.d.ts +0 -3
  189. package/dist/commands/rebase-helper.d.ts.map +0 -1
  190. package/dist/commands/rebase-helper.js +0 -52
  191. package/dist/commands/rebase-helper.js.map +0 -1
  192. package/dist/commands/register.d.ts +0 -5
  193. package/dist/commands/register.d.ts.map +0 -1
  194. package/dist/commands/register.js +0 -163
  195. package/dist/commands/register.js.map +0 -1
  196. package/dist/commands/registry-sync.d.ts +0 -9
  197. package/dist/commands/registry-sync.d.ts.map +0 -1
  198. package/dist/commands/registry-sync.js +0 -163
  199. package/dist/commands/registry-sync.js.map +0 -1
  200. package/dist/commands/rescue.d.ts +0 -11
  201. package/dist/commands/rescue.d.ts.map +0 -1
  202. package/dist/commands/rescue.js +0 -147
  203. package/dist/commands/rescue.js.map +0 -1
  204. package/dist/commands/semantic.d.ts +0 -3
  205. package/dist/commands/semantic.d.ts.map +0 -1
  206. package/dist/commands/semantic.js +0 -62
  207. package/dist/commands/semantic.js.map +0 -1
  208. package/dist/commands/send.d.ts +0 -3
  209. package/dist/commands/send.d.ts.map +0 -1
  210. package/dist/commands/send.js +0 -121
  211. package/dist/commands/send.js.map +0 -1
  212. package/dist/commands/stale.d.ts +0 -17
  213. package/dist/commands/stale.d.ts.map +0 -1
  214. package/dist/commands/stale.js +0 -131
  215. package/dist/commands/stale.js.map +0 -1
  216. package/dist/commands/status.d.ts +0 -9
  217. package/dist/commands/status.d.ts.map +0 -1
  218. package/dist/commands/status.js +0 -41
  219. package/dist/commands/status.js.map +0 -1
  220. package/dist/commands/sync-advisor.d.ts +0 -14
  221. package/dist/commands/sync-advisor.d.ts.map +0 -1
  222. package/dist/commands/sync-advisor.js +0 -110
  223. package/dist/commands/sync-advisor.js.map +0 -1
  224. package/dist/commands/sync.d.ts +0 -8
  225. package/dist/commands/sync.d.ts.map +0 -1
  226. package/dist/commands/sync.js +0 -60
  227. package/dist/commands/sync.js.map +0 -1
  228. package/dist/commands/tension.d.ts +0 -12
  229. package/dist/commands/tension.d.ts.map +0 -1
  230. package/dist/commands/tension.js +0 -262
  231. package/dist/commands/tension.js.map +0 -1
  232. package/dist/commands/torrent.d.ts +0 -9
  233. package/dist/commands/torrent.d.ts.map +0 -1
  234. package/dist/commands/torrent.js +0 -470
  235. package/dist/commands/torrent.js.map +0 -1
  236. package/dist/commands/tui.d.ts +0 -8
  237. package/dist/commands/tui.d.ts.map +0 -1
  238. package/dist/commands/tui.js +0 -15
  239. package/dist/commands/tui.js.map +0 -1
  240. package/dist/commands/wake.d.ts +0 -9
  241. package/dist/commands/wake.d.ts.map +0 -1
  242. package/dist/commands/wake.js +0 -188
  243. package/dist/commands/wake.js.map +0 -1
  244. package/dist/commands/watch.d.ts +0 -9
  245. package/dist/commands/watch.d.ts.map +0 -1
  246. package/dist/commands/watch.js +0 -536
  247. package/dist/commands/watch.js.map +0 -1
  248. package/dist/commands/welcome.d.ts +0 -8
  249. package/dist/commands/welcome.d.ts.map +0 -1
  250. package/dist/commands/welcome.js +0 -85
  251. package/dist/commands/welcome.js.map +0 -1
  252. package/dist/commands/who-owns.d.ts +0 -3
  253. package/dist/commands/who-owns.d.ts.map +0 -1
  254. package/dist/commands/who-owns.js +0 -68
  255. package/dist/commands/who-owns.js.map +0 -1
  256. package/dist/commands/who-touched.d.ts +0 -9
  257. package/dist/commands/who-touched.d.ts.map +0 -1
  258. package/dist/commands/who-touched.js +0 -198
  259. package/dist/commands/who-touched.js.map +0 -1
  260. package/dist/index.d.ts +0 -11
  261. package/dist/index.d.ts.map +0 -1
  262. package/dist/index.js +0 -11
  263. package/dist/index.js.map +0 -1
  264. package/dist/lib/activity.d.ts +0 -53
  265. package/dist/lib/activity.d.ts.map +0 -1
  266. package/dist/lib/activity.js +0 -267
  267. package/dist/lib/activity.js.map +0 -1
  268. package/dist/lib/agent-errors.d.ts +0 -41
  269. package/dist/lib/agent-errors.d.ts.map +0 -1
  270. package/dist/lib/agent-errors.js +0 -145
  271. package/dist/lib/agent-errors.js.map +0 -1
  272. package/dist/lib/ai/context-builder.d.ts +0 -16
  273. package/dist/lib/ai/context-builder.d.ts.map +0 -1
  274. package/dist/lib/ai/context-builder.js +0 -216
  275. package/dist/lib/ai/context-builder.js.map +0 -1
  276. package/dist/lib/ai/event-handler.d.ts +0 -21
  277. package/dist/lib/ai/event-handler.d.ts.map +0 -1
  278. package/dist/lib/ai/event-handler.js +0 -98
  279. package/dist/lib/ai/event-handler.js.map +0 -1
  280. package/dist/lib/ai/index.d.ts +0 -13
  281. package/dist/lib/ai/index.d.ts.map +0 -1
  282. package/dist/lib/ai/index.js +0 -11
  283. package/dist/lib/ai/index.js.map +0 -1
  284. package/dist/lib/ai/llm-client.d.ts +0 -37
  285. package/dist/lib/ai/llm-client.d.ts.map +0 -1
  286. package/dist/lib/ai/llm-client.js +0 -225
  287. package/dist/lib/ai/llm-client.js.map +0 -1
  288. package/dist/lib/ai/reasoner.d.ts +0 -11
  289. package/dist/lib/ai/reasoner.d.ts.map +0 -1
  290. package/dist/lib/ai/reasoner.js +0 -246
  291. package/dist/lib/ai/reasoner.js.map +0 -1
  292. package/dist/lib/ai/setup.d.ts +0 -40
  293. package/dist/lib/ai/setup.d.ts.map +0 -1
  294. package/dist/lib/ai/setup.js +0 -154
  295. package/dist/lib/ai/setup.js.map +0 -1
  296. package/dist/lib/ai/types.d.ts +0 -135
  297. package/dist/lib/ai/types.d.ts.map +0 -1
  298. package/dist/lib/ai/types.js +0 -39
  299. package/dist/lib/ai/types.js.map +0 -1
  300. package/dist/lib/ast.d.ts +0 -36
  301. package/dist/lib/ast.d.ts.map +0 -1
  302. package/dist/lib/ast.js +0 -135
  303. package/dist/lib/ast.js.map +0 -1
  304. package/dist/lib/colony-subscriber.d.ts +0 -56
  305. package/dist/lib/colony-subscriber.d.ts.map +0 -1
  306. package/dist/lib/colony-subscriber.js +0 -265
  307. package/dist/lib/colony-subscriber.js.map +0 -1
  308. package/dist/lib/config.d.ts +0 -62
  309. package/dist/lib/config.d.ts.map +0 -1
  310. package/dist/lib/config.js +0 -230
  311. package/dist/lib/config.js.map +0 -1
  312. package/dist/lib/conflict-analyzer.d.ts +0 -33
  313. package/dist/lib/conflict-analyzer.d.ts.map +0 -1
  314. package/dist/lib/conflict-analyzer.js +0 -114
  315. package/dist/lib/conflict-analyzer.js.map +0 -1
  316. package/dist/lib/conflict-renderer.d.ts +0 -7
  317. package/dist/lib/conflict-renderer.d.ts.map +0 -1
  318. package/dist/lib/conflict-renderer.js +0 -162
  319. package/dist/lib/conflict-renderer.js.map +0 -1
  320. package/dist/lib/conflict-tier.d.ts +0 -20
  321. package/dist/lib/conflict-tier.d.ts.map +0 -1
  322. package/dist/lib/conflict-tier.js +0 -49
  323. package/dist/lib/conflict-tier.js.map +0 -1
  324. package/dist/lib/crdt.d.ts +0 -83
  325. package/dist/lib/crdt.d.ts.map +0 -1
  326. package/dist/lib/crdt.js +0 -160
  327. package/dist/lib/crdt.js.map +0 -1
  328. package/dist/lib/crypto.d.ts +0 -71
  329. package/dist/lib/crypto.d.ts.map +0 -1
  330. package/dist/lib/crypto.js +0 -176
  331. package/dist/lib/crypto.js.map +0 -1
  332. package/dist/lib/daily-bridge.d.ts +0 -41
  333. package/dist/lib/daily-bridge.d.ts.map +0 -1
  334. package/dist/lib/daily-bridge.js +0 -186
  335. package/dist/lib/daily-bridge.js.map +0 -1
  336. package/dist/lib/errors.d.ts +0 -35
  337. package/dist/lib/errors.d.ts.map +0 -1
  338. package/dist/lib/errors.js +0 -71
  339. package/dist/lib/errors.js.map +0 -1
  340. package/dist/lib/git-events-subscriber.d.ts +0 -59
  341. package/dist/lib/git-events-subscriber.d.ts.map +0 -1
  342. package/dist/lib/git-events-subscriber.js +0 -779
  343. package/dist/lib/git-events-subscriber.js.map +0 -1
  344. package/dist/lib/git.d.ts +0 -15
  345. package/dist/lib/git.d.ts.map +0 -1
  346. package/dist/lib/git.js +0 -180
  347. package/dist/lib/git.js.map +0 -1
  348. package/dist/lib/github.d.ts +0 -83
  349. package/dist/lib/github.d.ts.map +0 -1
  350. package/dist/lib/github.js +0 -211
  351. package/dist/lib/github.js.map +0 -1
  352. package/dist/lib/graph.d.ts +0 -23
  353. package/dist/lib/graph.d.ts.map +0 -1
  354. package/dist/lib/graph.js +0 -134
  355. package/dist/lib/graph.js.map +0 -1
  356. package/dist/lib/hub.d.ts +0 -31
  357. package/dist/lib/hub.d.ts.map +0 -1
  358. package/dist/lib/hub.js +0 -92
  359. package/dist/lib/hub.js.map +0 -1
  360. package/dist/lib/license.d.ts +0 -61
  361. package/dist/lib/license.d.ts.map +0 -1
  362. package/dist/lib/license.js +0 -171
  363. package/dist/lib/license.js.map +0 -1
  364. package/dist/lib/pulse-renderer.d.ts +0 -19
  365. package/dist/lib/pulse-renderer.d.ts.map +0 -1
  366. package/dist/lib/pulse-renderer.js +0 -108
  367. package/dist/lib/pulse-renderer.js.map +0 -1
  368. package/dist/lib/regex-utils.d.ts +0 -6
  369. package/dist/lib/regex-utils.d.ts.map +0 -1
  370. package/dist/lib/regex-utils.js +0 -24
  371. package/dist/lib/regex-utils.js.map +0 -1
  372. package/dist/lib/register-renderer.d.ts +0 -10
  373. package/dist/lib/register-renderer.d.ts.map +0 -1
  374. package/dist/lib/register-renderer.js +0 -19
  375. package/dist/lib/register-renderer.js.map +0 -1
  376. package/dist/lib/remote-drift.d.ts +0 -61
  377. package/dist/lib/remote-drift.d.ts.map +0 -1
  378. package/dist/lib/remote-drift.js +0 -227
  379. package/dist/lib/remote-drift.js.map +0 -1
  380. package/dist/lib/repo-scanner.d.ts +0 -32
  381. package/dist/lib/repo-scanner.d.ts.map +0 -1
  382. package/dist/lib/repo-scanner.js +0 -160
  383. package/dist/lib/repo-scanner.js.map +0 -1
  384. package/dist/lib/salvage-analyzer.d.ts +0 -29
  385. package/dist/lib/salvage-analyzer.d.ts.map +0 -1
  386. package/dist/lib/salvage-analyzer.js +0 -121
  387. package/dist/lib/salvage-analyzer.js.map +0 -1
  388. package/dist/lib/security.d.ts +0 -77
  389. package/dist/lib/security.d.ts.map +0 -1
  390. package/dist/lib/security.js +0 -190
  391. package/dist/lib/security.js.map +0 -1
  392. package/dist/lib/session-logger.d.ts +0 -54
  393. package/dist/lib/session-logger.d.ts.map +0 -1
  394. package/dist/lib/session-logger.js +0 -136
  395. package/dist/lib/session-logger.js.map +0 -1
  396. package/dist/lib/symbol-extractor.d.ts +0 -41
  397. package/dist/lib/symbol-extractor.d.ts.map +0 -1
  398. package/dist/lib/symbol-extractor.js +0 -78
  399. package/dist/lib/symbol-extractor.js.map +0 -1
  400. package/dist/lib/update-check.d.ts +0 -11
  401. package/dist/lib/update-check.d.ts.map +0 -1
  402. package/dist/lib/update-check.js +0 -113
  403. package/dist/lib/update-check.js.map +0 -1
  404. package/dist/lib/watch-renderer.d.ts +0 -13
  405. package/dist/lib/watch-renderer.d.ts.map +0 -1
  406. package/dist/lib/watch-renderer.js +0 -35
  407. package/dist/lib/watch-renderer.js.map +0 -1
  408. package/dist/storage/adapter.d.ts +0 -62
  409. package/dist/storage/adapter.d.ts.map +0 -1
  410. package/dist/storage/adapter.js +0 -8
  411. package/dist/storage/adapter.js.map +0 -1
  412. package/dist/storage/branch-registry-store.d.ts +0 -13
  413. package/dist/storage/branch-registry-store.d.ts.map +0 -1
  414. package/dist/storage/branch-registry-store.js +0 -2
  415. package/dist/storage/branch-registry-store.js.map +0 -1
  416. package/dist/storage/factory.d.ts +0 -10
  417. package/dist/storage/factory.d.ts.map +0 -1
  418. package/dist/storage/factory.js +0 -38
  419. package/dist/storage/factory.js.map +0 -1
  420. package/dist/storage/git-messages.d.ts +0 -53
  421. package/dist/storage/git-messages.d.ts.map +0 -1
  422. package/dist/storage/git-messages.js +0 -376
  423. package/dist/storage/git-messages.js.map +0 -1
  424. package/dist/storage/index.d.ts +0 -10
  425. package/dist/storage/index.d.ts.map +0 -1
  426. package/dist/storage/index.js +0 -11
  427. package/dist/storage/index.js.map +0 -1
  428. package/dist/storage/json-branch-registry-store.d.ts +0 -19
  429. package/dist/storage/json-branch-registry-store.d.ts.map +0 -1
  430. package/dist/storage/json-branch-registry-store.js +0 -112
  431. package/dist/storage/json-branch-registry-store.js.map +0 -1
  432. package/dist/storage/local-messages.d.ts +0 -37
  433. package/dist/storage/local-messages.d.ts.map +0 -1
  434. package/dist/storage/local-messages.js +0 -151
  435. package/dist/storage/local-messages.js.map +0 -1
  436. package/dist/storage/local.d.ts +0 -20
  437. package/dist/storage/local.d.ts.map +0 -1
  438. package/dist/storage/local.js +0 -40
  439. package/dist/storage/local.js.map +0 -1
  440. package/dist/storage/memory-branch-registry-store.d.ts +0 -16
  441. package/dist/storage/memory-branch-registry-store.d.ts.map +0 -1
  442. package/dist/storage/memory-branch-registry-store.js +0 -65
  443. package/dist/storage/memory-branch-registry-store.js.map +0 -1
  444. package/dist/storage/message-adapter.d.ts +0 -86
  445. package/dist/storage/message-adapter.d.ts.map +0 -1
  446. package/dist/storage/message-adapter.js +0 -28
  447. package/dist/storage/message-adapter.js.map +0 -1
  448. package/dist/storage/message-factory.d.ts +0 -36
  449. package/dist/storage/message-factory.d.ts.map +0 -1
  450. package/dist/storage/message-factory.js +0 -99
  451. package/dist/storage/message-factory.js.map +0 -1
  452. package/dist/storage/mycmail-adapter.d.ts +0 -38
  453. package/dist/storage/mycmail-adapter.d.ts.map +0 -1
  454. package/dist/storage/mycmail-adapter.js +0 -300
  455. package/dist/storage/mycmail-adapter.js.map +0 -1
  456. package/dist/storage/supabase-registry-sync-client-impl.d.ts +0 -46
  457. package/dist/storage/supabase-registry-sync-client-impl.d.ts.map +0 -1
  458. package/dist/storage/supabase-registry-sync-client-impl.js +0 -322
  459. package/dist/storage/supabase-registry-sync-client-impl.js.map +0 -1
  460. package/dist/storage/supabase-registry-sync-client.d.ts +0 -9
  461. package/dist/storage/supabase-registry-sync-client.d.ts.map +0 -1
  462. package/dist/storage/supabase-registry-sync-client.js +0 -2
  463. package/dist/storage/supabase-registry-sync-client.js.map +0 -1
  464. package/dist/storage/supabase.d.ts +0 -34
  465. package/dist/storage/supabase.d.ts.map +0 -1
  466. package/dist/storage/supabase.js +0 -74
  467. package/dist/storage/supabase.js.map +0 -1
  468. package/dist/tui/dashboard.d.ts +0 -35
  469. package/dist/tui/dashboard.d.ts.map +0 -1
  470. package/dist/tui/dashboard.js +0 -199
  471. package/dist/tui/dashboard.js.map +0 -1
  472. package/dist/tui/screen.d.ts +0 -14
  473. package/dist/tui/screen.d.ts.map +0 -1
  474. package/dist/tui/screen.js +0 -138
  475. package/dist/tui/screen.js.map +0 -1
  476. package/dist/types/cloud.d.ts +0 -101
  477. package/dist/types/cloud.d.ts.map +0 -1
  478. package/dist/types/cloud.js +0 -13
  479. package/dist/types/cloud.js.map +0 -1
@@ -1,570 +0,0 @@
1
- /**
2
- * spidersan conflicts
3
- *
4
- * Detect file conflicts between branches.
5
- * Supports tiered conflict blocking:
6
- * TIER 1: Warning only (informational)
7
- * TIER 2: Pause (notify agent, recommend action)
8
- * TIER 3: Block (exit with error, prevent merge)
9
- */
10
- import { Command } from 'commander';
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';
15
- import { getStorage } from '../storage/index.js';
16
- import { ASTParser } from '../lib/ast.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';
22
- import { classifyWithLabel } from '../lib/conflict-tier.js';
23
- // Config
24
- const HUB_URL = process.env.HUB_URL || 'https://hub.treebird.uk';
25
- function getCurrentBranch() {
26
- try {
27
- return execFileSync('git', ['rev-parse', '--abbrev-ref', 'HEAD'], { encoding: 'utf-8' }).trim();
28
- }
29
- catch {
30
- throw new Error('Not in a git repository');
31
- }
32
- }
33
- async function notifyHub(branch, conflicts) {
34
- let hasTier3 = false;
35
- let hasTier2 = false;
36
- for (const c of conflicts) {
37
- if (c.tier === 3)
38
- hasTier3 = true;
39
- else if (c.tier === 2)
40
- hasTier2 = true;
41
- if (hasTier3 && hasTier2)
42
- break;
43
- }
44
- if (!hasTier3 && !hasTier2)
45
- return;
46
- const severity = hasTier3 ? 'šŸ”“ TIER 3 BLOCK' : '🟠 TIER 2 PAUSE';
47
- const message = `šŸ•·ļøāš ļø **Conflict Alert** on \`${branch}\`\n\n${severity}\n\nConflicting files require coordination.`;
48
- try {
49
- await fetch(`${HUB_URL}/api/chat`, {
50
- method: 'POST',
51
- headers: { 'Content-Type': 'application/json' },
52
- body: JSON.stringify({
53
- agent: 'spidersan',
54
- name: 'Spidersan',
55
- message,
56
- glyph: 'šŸ•·ļø'
57
- })
58
- });
59
- }
60
- catch {
61
- // Hub offline - silent fail
62
- }
63
- }
64
- /**
65
- * Wake a conflicting agent and send them a message about what to fix
66
- */
67
- async function wakeConflictingAgent(agentId, myBranch, theirBranch, _conflictingFiles) {
68
- // 1. Wake the agent via Hub
69
- try {
70
- const wakeResponse = await fetch(`${HUB_URL}/api/wake/${agentId}`, {
71
- method: 'POST',
72
- headers: { 'Content-Type': 'application/json' },
73
- body: JSON.stringify({
74
- sender: 'spidersan',
75
- reason: `Conflict on ${theirBranch} - need resolution`
76
- })
77
- });
78
- if (wakeResponse.ok) {
79
- console.log(` šŸ”” Wake signal sent to ${agentId}`);
80
- }
81
- }
82
- catch {
83
- console.log(` āš ļø Could not wake ${agentId} via Hub`);
84
- }
85
- return true;
86
- }
87
- /**
88
- * Wait for a specified time
89
- */
90
- function sleep(ms) {
91
- return new Promise(resolve => setTimeout(resolve, ms));
92
- }
93
- /**
94
- * Suggest simple resolutions for add/add style conflicts where both branches added the same file
95
- * Typically occurs with docs or generated files. This prints guidance and a recommended sequence
96
- * to preserve both variants for auditability (e.g., create a .incoming copy).
97
- */
98
- function suggestAddAddResolution(conflicts) {
99
- const addAddFiles = new Set();
100
- for (const conflict of conflicts) {
101
- for (const f of conflict.files) {
102
- // Simple heuristic: docs and markdown files are common add/add candidates
103
- if (/\.md$/.test(f) || /docs\//.test(f)) {
104
- addAddFiles.add(f);
105
- }
106
- }
107
- }
108
- if (addAddFiles.size === 0)
109
- return;
110
- console.log('\nšŸ’” Add/Add Conflict Helper');
111
- console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
112
- console.log('Detected files added in both branches. Recommended actions:');
113
- console.log(' 1. Preserve incoming variant for auditability:');
114
- console.log(' git checkout --theirs <file> && mv <file> <file>.<their-branch>.incoming && git add <file>.<their-branch>.incoming');
115
- console.log(' 2. Keep canonical version in main branch and include note linking the incoming variant.');
116
- console.log(' 3. Commit and continue rebase: git add -A && git rebase --continue');
117
- console.log('\nExamples:');
118
- for (const f of addAddFiles) {
119
- console.log(` • ${f} -> preserve incoming as ${f}.incoming`);
120
- }
121
- console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n');
122
- }
123
- /**
124
- * Prompt user for Y/N confirmation (prevents Ralph Wiggum loops)
125
- * @param prompt - The question to ask
126
- * @param autoConfirm - If true, skip prompt and return true (for --auto mode)
127
- */
128
- async function confirmAction(prompt, autoConfirm = false) {
129
- if (autoConfirm) {
130
- console.log(`${prompt} [Y/n]: Y (auto)`);
131
- return true;
132
- }
133
- const readline = await import('readline');
134
- const rl = readline.createInterface({
135
- input: process.stdin,
136
- output: process.stdout
137
- });
138
- return new Promise((resolve) => {
139
- rl.question(`${prompt} [Y/n]: `, (answer) => {
140
- rl.close();
141
- const normalized = answer.toLowerCase().trim();
142
- resolve(normalized === '' || normalized === 'y' || normalized === 'yes');
143
- });
144
- });
145
- }
146
- // ── Ecosystem scan ────────────────────────────────────────────────────────────
147
- /**
148
- * Default ecosystem repos. Configurable via SPIDERSAN_ECOSYSTEM env var.
149
- * Falls back to ~/Dev/ structure (old) or ~/Dev/projects/ structure (new).
150
- */
151
- function getDefaultEcosystemRepos() {
152
- if (process.env.SPIDERSAN_ECOSYSTEM) {
153
- return process.env.SPIDERSAN_ECOSYSTEM.split(':').map((r) => r.trim()).filter(Boolean);
154
- }
155
- const homeDir = process.env.HOME || homedir();
156
- return [
157
- `${homeDir}/Dev/Envoak`,
158
- `${homeDir}/Dev/treebird-internal`,
159
- `${homeDir}/Dev/spidersan`,
160
- `${homeDir}/Dev/Toak`,
161
- `${homeDir}/Dev/flockview`,
162
- `${homeDir}/Dev/mappersan`,
163
- `${homeDir}/Dev/treebird`,
164
- `${homeDir}/Dev/treementor`,
165
- // Agent repos
166
- `${homeDir}/Dev/Artisan`,
167
- `${homeDir}/Dev/Birdsan`,
168
- `${homeDir}/Dev/Cosan`,
169
- `${homeDir}/Dev/Marksan`,
170
- `${homeDir}/Dev/Sherlocksan`,
171
- `${homeDir}/Dev/Teachersan`,
172
- `${homeDir}/Dev/Watsan`,
173
- `${homeDir}/Dev/Yosef`,
174
- // Tools & libs
175
- `${homeDir}/Dev/boidz`,
176
- `${homeDir}/Dev/beads`,
177
- `${homeDir}/Dev/birdseye`,
178
- `${homeDir}/Dev/invoak`,
179
- `${homeDir}/Dev/myceliumail`,
180
- `${homeDir}/Dev/nanoclaw`,
181
- `${homeDir}/Dev/nanoclaw-private`,
182
- `${homeDir}/Dev/proaksy`,
183
- `${homeDir}/Dev/sasu`,
184
- `${homeDir}/Dev/skills`,
185
- `${homeDir}/Dev/spidersan`,
186
- `${homeDir}/Dev/treebird-heavy`,
187
- `${homeDir}/Dev/Recovery-Tree-New`,
188
- ];
189
- }
190
- const DEFAULT_ECOSYSTEM_REPOS = getDefaultEcosystemRepos();
191
- function runEcosystemScan(repos, asJson) {
192
- const results = [];
193
- for (const repo of repos) {
194
- const name = basename(repo);
195
- const result = spawnSync('spidersan', ['conflicts', '--json'], { cwd: repo, encoding: 'utf-8', timeout: 15000 });
196
- if (result.status === null || result.error) {
197
- results.push({ repo, name, tier3: 0, tier2: 0, tier1: 0, error: 'spawn failed' });
198
- continue;
199
- }
200
- if (result.status !== 0) {
201
- // Exit 1 can be --strict mode; try to parse stdout anyway
202
- // If it says "not initialized", mark as skipped
203
- const combinedOut = (result.stderr ?? '') + (result.stdout ?? '');
204
- if (combinedOut.includes('not initialized') || combinedOut.includes('not registered')) {
205
- results.push({ repo, name, tier3: 0, tier2: 0, tier1: 0, skipped: true });
206
- continue;
207
- }
208
- }
209
- try {
210
- const data = JSON.parse(result.stdout);
211
- results.push({
212
- repo,
213
- name,
214
- tier3: data.summary.tier3,
215
- tier2: data.summary.tier2,
216
- tier1: data.summary.tier1,
217
- });
218
- }
219
- catch {
220
- results.push({ repo, name, tier3: 0, tier2: 0, tier1: 0, error: 'parse failed' });
221
- }
222
- }
223
- 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 });
224
- const reposWithConflicts = results.filter(r => r.tier3 + r.tier2 + r.tier1 > 0).length;
225
- if (asJson) {
226
- console.log(JSON.stringify({
227
- ecosystem: true,
228
- repos: results,
229
- summary: { ...totals, repos_scanned: results.length, repos_with_conflicts: reposWithConflicts },
230
- }, null, 2));
231
- return;
232
- }
233
- console.log(`
234
- šŸ•·ļø ECOSYSTEM CONFLICT SCAN
235
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
236
- `);
237
- for (const r of results) {
238
- if (r.skipped) {
239
- console.log(` ⬜ ${r.name.padEnd(22)} (not initialized)`);
240
- continue;
241
- }
242
- if (r.error) {
243
- console.log(` ā“ ${r.name.padEnd(22)} (${r.error})`);
244
- continue;
245
- }
246
- const icon = r.tier3 > 0 ? 'šŸ”“' : r.tier2 > 0 ? '🟠' : r.tier1 > 0 ? '🟔' : 'āœ…';
247
- const counts = r.tier3 + r.tier2 + r.tier1 > 0
248
- ? ` T3:${r.tier3} T2:${r.tier2} T1:${r.tier1}`
249
- : ' clean';
250
- console.log(` ${icon} ${r.name.padEnd(22)}${counts}`);
251
- }
252
- console.log(`\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`);
253
- console.log(`šŸ“Š Total: šŸ”“ ${totals.tier3} BLOCK | 🟠 ${totals.tier2} PAUSE | 🟔 ${totals.tier1} WARN`);
254
- console.log(` Repos scanned: ${results.length} | With conflicts: ${reposWithConflicts}`);
255
- }
256
- export const conflictsCommand = new Command('conflicts')
257
- .description('Detect file conflicts between branches (with tiered blocking)')
258
- .option('--branch <name>', 'Check conflicts for specific branch')
259
- .option('--pr <number>', 'Check conflicts for a GitHub pull request by number')
260
- .option('--json', 'Output as JSON')
261
- .option('--tier <level>', 'Filter by minimum tier (1, 2, or 3)', '1')
262
- .option('--strict', 'Strict mode: exit with error if TIER 2+ conflicts found')
263
- .option('--notify', 'Notify Hub of TIER 2+ conflicts')
264
- .option('--wake', 'Wake conflicting agents and send them fix instructions')
265
- .option('--retry <seconds>', 'After waking, wait N seconds and re-check conflicts')
266
- .option('--auto', 'Auto mode: skip confirmations (enables Ralph Wiggum loop)')
267
- .option('--max-retries <count>', 'Maximum retry attempts in auto mode (default: 5)', '5')
268
- .option('--semantic', 'Use semantic (AST) analysis for symbol-level conflict detection')
269
- .option('--ecosystem', 'Scan all ecosystem repos and aggregate conflict tiers')
270
- .option('--repos <paths>', 'Comma-separated repo paths for --ecosystem scan')
271
- .action(async (options) => {
272
- // ── Ecosystem shortcut ───────────────────────────────────────────────
273
- if (options.ecosystem) {
274
- const repos = options.repos
275
- ? options.repos.split(',').map((r) => r.trim()).filter(Boolean)
276
- : DEFAULT_ECOSYSTEM_REPOS;
277
- runEcosystemScan(repos, !!options.json);
278
- return;
279
- }
280
- const storage = await getStorage();
281
- const config = await loadConfig();
282
- if (!await storage.isInitialized()) {
283
- console.error('āŒ Spidersan not initialized. Run: spidersan init');
284
- process.exit(1);
285
- }
286
- const minTier = parseInt(options.tier, 10);
287
- // Load custom patterns from config
288
- const highSeverity = (config.conflicts?.highSeverityPatterns || []).map(p => new RegExp(p));
289
- const mediumSeverity = (config.conflicts?.mediumSeverityPatterns || []).map(p => new RegExp(p));
290
- const compiledHigh = compilePatterns(highSeverity);
291
- const compiledMedium = compilePatterns(mediumSeverity);
292
- let targetBranch;
293
- let targetFiles;
294
- if (options.pr) {
295
- // --pr mode: fetch PR head branch + changed files from GitHub
296
- const prNumber = parseInt(options.pr, 10);
297
- if (isNaN(prNumber) || prNumber <= 0) {
298
- console.error('āŒ Invalid PR number. Provide a positive integer, e.g. --pr 42');
299
- process.exit(1);
300
- }
301
- if (!isGhAvailable()) {
302
- console.error('āŒ GitHub CLI (gh) is not available or not authenticated.');
303
- console.error(' Install: https://cli.github.com → gh auth login');
304
- process.exit(1);
305
- }
306
- let prDetails;
307
- try {
308
- prDetails = await getPRDetails(prNumber);
309
- }
310
- catch (err) {
311
- const msg = err instanceof Error ? err.message : String(err);
312
- console.error(`āŒ Failed to fetch PR #${prNumber}: ${msg}`);
313
- process.exit(1);
314
- }
315
- targetBranch = prDetails.headBranch;
316
- targetFiles = prDetails.files;
317
- console.log(`šŸ•·ļø Checking conflicts for PR #${prNumber}: "${prDetails.title}"`);
318
- console.log(` Branch: ${targetBranch} (${targetFiles.length} file(s) changed)`);
319
- }
320
- else {
321
- // Normal --branch or current branch mode
322
- targetBranch = options.branch || getCurrentBranch();
323
- const target = await storage.get(targetBranch);
324
- if (!target) {
325
- console.error(`āŒ Branch "${targetBranch}" is not registered.`);
326
- console.error(' Run: spidersan register --files "..."');
327
- process.exit(1);
328
- }
329
- targetFiles = target.files;
330
- }
331
- const allBranches = await storage.list();
332
- const conflicts = [];
333
- // Performance Optimization: Convert target files to Set for O(1) lookup
334
- // Reduces complexity from O(N*M*K) to O(N*M) where N=branches, M=files/branch, K=target_files
335
- // Filter excluded paths (node_modules/, dist/, etc.) at query time to handle stale registrations
336
- const targetFilesSet = new Set(targetFiles.filter(f => !isExcludedPath(f)));
337
- for (const branch of allBranches) {
338
- if (branch.name === targetBranch || branch.status !== 'active')
339
- continue;
340
- // Performance Optimization: Replace .filter() with a standard loop to avoid array allocation.
341
- // Short-circuit using O(1) Set lookup (targetFilesSet.has) before calling the expensive isExcludedPath.
342
- const overlappingFiles = [];
343
- for (let i = 0; i < branch.files.length; i++) {
344
- const f = branch.files[i];
345
- if (targetFilesSet.has(f) && !isExcludedPath(f)) {
346
- overlappingFiles.push(f);
347
- }
348
- }
349
- if (overlappingFiles.length > 0) {
350
- // Get highest tier for this conflict
351
- let maxTier = { tier: 1, label: 'WARN', icon: '🟔', action: '' };
352
- for (const file of overlappingFiles) {
353
- const fileTier = classifyWithLabel(file, {
354
- extraTier3: compiledHigh,
355
- extraTier2: compiledMedium,
356
- });
357
- if (fileTier.tier > maxTier.tier) {
358
- maxTier = fileTier;
359
- }
360
- }
361
- if (maxTier.tier >= minTier) {
362
- conflicts.push({
363
- branch: branch.name,
364
- files: overlappingFiles,
365
- tier: maxTier.tier,
366
- tierInfo: maxTier
367
- });
368
- }
369
- }
370
- }
371
- // SEMANTIC ANALYSIS with AST parser
372
- const semanticConflicts = [];
373
- if (options.semantic && conflicts.length > 0) {
374
- console.log('\nšŸ”¬ Running semantic (AST) analysis...');
375
- const astParser = new ASTParser();
376
- for (const conflict of conflicts) {
377
- for (const file of conflict.files) {
378
- // Only analyze TypeScript/JavaScript files
379
- if (!/\.(ts|js|tsx|jsx)$/.test(file))
380
- continue;
381
- try {
382
- // Get file content from both branches
383
- // Security: Use execFileSync to prevent command injection via file names
384
- const currentContent = execFileSync('git', ['show', `HEAD:${file}`], { encoding: 'utf-8' });
385
- const otherContent = execFileSync('git', ['show', `${conflict.branch}:${file}`], { encoding: 'utf-8' });
386
- const symbolConflicts = astParser.findSymbolConflicts(currentContent, `${targetBranch}:${file}`, otherContent, `${conflict.branch}:${file}`);
387
- semanticConflicts.push(...symbolConflicts);
388
- }
389
- catch {
390
- // File might not exist in one branch, skip
391
- }
392
- }
393
- }
394
- }
395
- // Sort by tier (highest first)
396
- conflicts.sort((a, b) => b.tier - a.tier);
397
- let tier3Count = 0;
398
- let tier2Count = 0;
399
- let tier1Count = 0;
400
- for (const c of conflicts) {
401
- if (c.tier === 3)
402
- tier3Count++;
403
- else if (c.tier === 2)
404
- tier2Count++;
405
- else if (c.tier === 1)
406
- tier1Count++;
407
- }
408
- // Log conflict detection to activity log
409
- if (conflicts.length > 0) {
410
- logActivity({
411
- event: 'conflict_detected',
412
- branch: targetBranch,
413
- details: {
414
- tier3: tier3Count,
415
- tier2: tier2Count,
416
- tier1: tier1Count,
417
- conflicting_branches: conflicts.map(c => c.branch),
418
- }
419
- });
420
- }
421
- // Check for blocking conditions
422
- const shouldBlock = options.strict && (tier3Count > 0 || tier2Count > 0);
423
- // Notify Hub if requested
424
- if (options.notify && (tier3Count > 0 || tier2Count > 0)) {
425
- await notifyHub(targetBranch, conflicts);
426
- }
427
- if (options.json) {
428
- console.log(JSON.stringify({
429
- branch: targetBranch,
430
- conflicts,
431
- summary: {
432
- tier3: tier3Count,
433
- tier2: tier2Count,
434
- tier1: tier1Count,
435
- blocked: shouldBlock
436
- }
437
- }, null, 2));
438
- if (shouldBlock)
439
- process.exit(1);
440
- return;
441
- }
442
- if (conflicts.length === 0) {
443
- console.log(`šŸ•·ļø No conflicts detected for "${targetBranch}"`);
444
- console.log(' āœ… You\'re good to merge!');
445
- return;
446
- }
447
- console.log(`
448
- šŸ•·ļø CONFLICT ANALYSIS: "${targetBranch}"
449
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
450
- `);
451
- for (const conflict of conflicts) {
452
- console.log(`${conflict.tierInfo.icon} TIER ${conflict.tier} (${conflict.tierInfo.label}): ${conflict.branch}`);
453
- for (const file of conflict.files) {
454
- const fileTier = classifyWithLabel(file, {
455
- extraTier3: compiledHigh,
456
- extraTier2: compiledMedium,
457
- });
458
- console.log(` ${fileTier.icon} ${file}`);
459
- }
460
- console.log(` → ${conflict.tierInfo.action}`);
461
- console.log('');
462
- }
463
- console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
464
- console.log(`šŸ“Š Summary: šŸ”“ ${tier3Count} BLOCK | 🟠 ${tier2Count} PAUSE | 🟔 ${tier1Count} WARN`);
465
- // Offer add/add resolution suggestions for likely add/add files
466
- suggestAddAddResolution(conflicts);
467
- // Show semantic analysis results
468
- if (options.semantic && semanticConflicts.length > 0) {
469
- console.log(`\nšŸ”¬ SEMANTIC CONFLICTS DETECTED (${semanticConflicts.length} symbols):`);
470
- console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
471
- for (const sc of semanticConflicts) {
472
- console.log(` ⚔ ${sc.symbolType} '${sc.symbolName}'`);
473
- console.log(` Modified in BOTH branches (different content)`);
474
- }
475
- console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
476
- console.log('\nšŸ’” TIP: Coordinate on these specific functions/classes,');
477
- console.log(' not just the files. One of you should rebase.');
478
- }
479
- else if (options.semantic && semanticConflicts.length === 0) {
480
- console.log('\nšŸ”¬ SEMANTIC ANALYSIS: No symbol-level conflicts!');
481
- console.log(' Files overlap, but different functions were modified.');
482
- console.log(' āœ… Likely safe to merge (git will auto-merge).');
483
- }
484
- if (tier3Count > 0) {
485
- console.log(`
486
- šŸ”“ TIER 3 CONFLICTS FOUND
487
- These files are security-critical and MUST be resolved.
488
- Merge is BLOCKED until conflicts are cleared.
489
- `);
490
- }
491
- else if (tier2Count > 0) {
492
- console.log(`
493
- 🟠 TIER 2 CONFLICTS FOUND
494
- Coordinate with the other agent before proceeding.
495
- `);
496
- }
497
- // Wake conflicting agents if --wake flag is set
498
- if (options.wake && conflicts.length > 0) {
499
- // Collect agents to wake
500
- const agentsToWake = new Map();
501
- // Performance Optimization: Use the already fetched allBranches
502
- // to avoid N+1 slow network requests to storage.get()
503
- const branchMap = new Map(allBranches.map(b => [b.name, b]));
504
- for (const conflict of conflicts) {
505
- const conflictBranch = branchMap.get(conflict.branch);
506
- const agentId = conflictBranch?.agent;
507
- if (agentId && !agentsToWake.has(agentId)) {
508
- agentsToWake.set(agentId, { branch: conflict.branch, files: conflict.files });
509
- }
510
- }
511
- if (agentsToWake.size === 0) {
512
- console.log('\nāš ļø No agents registered on conflicting branches.');
513
- }
514
- else {
515
- // Show what will happen and ask for confirmation
516
- console.log('\nšŸ”” WAKE AGENTS?');
517
- console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
518
- for (const [agent, info] of agentsToWake) {
519
- console.log(` • ${agent} (${info.branch})`);
520
- }
521
- console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
522
- console.log('This will:');
523
- console.log(' 1. Send wake signal via Hub\n');
524
- const confirmed = await confirmAction('Wake these agents?', options.auto);
525
- if (confirmed) {
526
- console.log('\nšŸ”” WAKING AGENTS...\n');
527
- for (const [agentId, info] of agentsToWake) {
528
- await wakeConflictingAgent(agentId, targetBranch, info.branch, info.files);
529
- }
530
- console.log(`\nāœ… Woke ${agentsToWake.size} agent(s)`);
531
- // If --retry is set, ask before waiting
532
- if (options.retry) {
533
- const waitSeconds = parseInt(options.retry, 10);
534
- const retryConfirmed = await confirmAction(`\nWait ${waitSeconds}s and re-check conflicts?`, options.auto);
535
- if (retryConfirmed) {
536
- console.log(`\nā³ Waiting ${waitSeconds}s for agents to resolve conflicts...`);
537
- await sleep(waitSeconds * 1000);
538
- console.log('\nšŸ”„ RE-CHECKING CONFLICTS...\n');
539
- const { execFileSync } = await import('child_process');
540
- try {
541
- const { getCLIPath } = await import('../lib/security.js');
542
- // Security: Use execFileSync with argument array
543
- const safeBranch = validateBranchName(targetBranch);
544
- const tierArg = String(parseInt(options.tier, 10) || 1);
545
- execFileSync(process.execPath, [getCLIPath(), 'conflicts', '--branch', safeBranch, '--tier', tierArg], {
546
- encoding: 'utf-8',
547
- stdio: 'inherit'
548
- });
549
- return;
550
- }
551
- catch {
552
- console.log('āŒ Conflicts still exist after retry.');
553
- }
554
- }
555
- else {
556
- console.log('ā­ļø Skipping retry.');
557
- }
558
- }
559
- }
560
- else {
561
- console.log('ā­ļø Skipping wake.');
562
- }
563
- }
564
- }
565
- if (shouldBlock) {
566
- console.log('āŒ Strict mode: Exiting with error due to TIER 2+ conflicts.');
567
- process.exit(1);
568
- }
569
- });
570
- //# sourceMappingURL=conflicts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conflicts.js","sourceRoot":"","sources":["../../src/commands/conflicts.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * spidersan context — Show aggregated repository context
3
- *
4
- * Thin CLI wrapper over buildContext() from the AI core.
5
- */
6
- import { Command } from 'commander';
7
- export declare const contextCommand: Command;
8
- //# sourceMappingURL=context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2EpC,eAAO,MAAM,cAAc,SAsBvB,CAAC"}