spidersan 0.9.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 (467) hide show
  1. package/CHANGELOG.md +187 -0
  2. package/README.md +39 -280
  3. package/package.json +9 -13
  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 -398
  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 -581
  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 -268
  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 -245
  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 -156
  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 -3
  245. package/dist/commands/watch.d.ts.map +0 -1
  246. package/dist/commands/watch.js +0 -428
  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/regex-utils.d.ts +0 -6
  365. package/dist/lib/regex-utils.d.ts.map +0 -1
  366. package/dist/lib/regex-utils.js +0 -24
  367. package/dist/lib/regex-utils.js.map +0 -1
  368. package/dist/lib/remote-drift.d.ts +0 -60
  369. package/dist/lib/remote-drift.d.ts.map +0 -1
  370. package/dist/lib/remote-drift.js +0 -225
  371. package/dist/lib/remote-drift.js.map +0 -1
  372. package/dist/lib/repo-scanner.d.ts +0 -32
  373. package/dist/lib/repo-scanner.d.ts.map +0 -1
  374. package/dist/lib/repo-scanner.js +0 -160
  375. package/dist/lib/repo-scanner.js.map +0 -1
  376. package/dist/lib/salvage-analyzer.d.ts +0 -29
  377. package/dist/lib/salvage-analyzer.d.ts.map +0 -1
  378. package/dist/lib/salvage-analyzer.js +0 -121
  379. package/dist/lib/salvage-analyzer.js.map +0 -1
  380. package/dist/lib/security.d.ts +0 -77
  381. package/dist/lib/security.d.ts.map +0 -1
  382. package/dist/lib/security.js +0 -190
  383. package/dist/lib/security.js.map +0 -1
  384. package/dist/lib/session-logger.d.ts +0 -54
  385. package/dist/lib/session-logger.d.ts.map +0 -1
  386. package/dist/lib/session-logger.js +0 -136
  387. package/dist/lib/session-logger.js.map +0 -1
  388. package/dist/lib/symbol-extractor.d.ts +0 -41
  389. package/dist/lib/symbol-extractor.d.ts.map +0 -1
  390. package/dist/lib/symbol-extractor.js +0 -78
  391. package/dist/lib/symbol-extractor.js.map +0 -1
  392. package/dist/lib/update-check.d.ts +0 -11
  393. package/dist/lib/update-check.d.ts.map +0 -1
  394. package/dist/lib/update-check.js +0 -113
  395. package/dist/lib/update-check.js.map +0 -1
  396. package/dist/storage/adapter.d.ts +0 -62
  397. package/dist/storage/adapter.d.ts.map +0 -1
  398. package/dist/storage/adapter.js +0 -8
  399. package/dist/storage/adapter.js.map +0 -1
  400. package/dist/storage/branch-registry-store.d.ts +0 -13
  401. package/dist/storage/branch-registry-store.d.ts.map +0 -1
  402. package/dist/storage/branch-registry-store.js +0 -2
  403. package/dist/storage/branch-registry-store.js.map +0 -1
  404. package/dist/storage/factory.d.ts +0 -10
  405. package/dist/storage/factory.d.ts.map +0 -1
  406. package/dist/storage/factory.js +0 -38
  407. package/dist/storage/factory.js.map +0 -1
  408. package/dist/storage/git-messages.d.ts +0 -53
  409. package/dist/storage/git-messages.d.ts.map +0 -1
  410. package/dist/storage/git-messages.js +0 -376
  411. package/dist/storage/git-messages.js.map +0 -1
  412. package/dist/storage/index.d.ts +0 -10
  413. package/dist/storage/index.d.ts.map +0 -1
  414. package/dist/storage/index.js +0 -11
  415. package/dist/storage/index.js.map +0 -1
  416. package/dist/storage/json-branch-registry-store.d.ts +0 -19
  417. package/dist/storage/json-branch-registry-store.d.ts.map +0 -1
  418. package/dist/storage/json-branch-registry-store.js +0 -112
  419. package/dist/storage/json-branch-registry-store.js.map +0 -1
  420. package/dist/storage/local-messages.d.ts +0 -37
  421. package/dist/storage/local-messages.d.ts.map +0 -1
  422. package/dist/storage/local-messages.js +0 -151
  423. package/dist/storage/local-messages.js.map +0 -1
  424. package/dist/storage/local.d.ts +0 -20
  425. package/dist/storage/local.d.ts.map +0 -1
  426. package/dist/storage/local.js +0 -40
  427. package/dist/storage/local.js.map +0 -1
  428. package/dist/storage/memory-branch-registry-store.d.ts +0 -16
  429. package/dist/storage/memory-branch-registry-store.d.ts.map +0 -1
  430. package/dist/storage/memory-branch-registry-store.js +0 -65
  431. package/dist/storage/memory-branch-registry-store.js.map +0 -1
  432. package/dist/storage/message-adapter.d.ts +0 -86
  433. package/dist/storage/message-adapter.d.ts.map +0 -1
  434. package/dist/storage/message-adapter.js +0 -28
  435. package/dist/storage/message-adapter.js.map +0 -1
  436. package/dist/storage/message-factory.d.ts +0 -36
  437. package/dist/storage/message-factory.d.ts.map +0 -1
  438. package/dist/storage/message-factory.js +0 -99
  439. package/dist/storage/message-factory.js.map +0 -1
  440. package/dist/storage/mycmail-adapter.d.ts +0 -38
  441. package/dist/storage/mycmail-adapter.d.ts.map +0 -1
  442. package/dist/storage/mycmail-adapter.js +0 -300
  443. package/dist/storage/mycmail-adapter.js.map +0 -1
  444. package/dist/storage/supabase-registry-sync-client-impl.d.ts +0 -46
  445. package/dist/storage/supabase-registry-sync-client-impl.d.ts.map +0 -1
  446. package/dist/storage/supabase-registry-sync-client-impl.js +0 -322
  447. package/dist/storage/supabase-registry-sync-client-impl.js.map +0 -1
  448. package/dist/storage/supabase-registry-sync-client.d.ts +0 -9
  449. package/dist/storage/supabase-registry-sync-client.d.ts.map +0 -1
  450. package/dist/storage/supabase-registry-sync-client.js +0 -2
  451. package/dist/storage/supabase-registry-sync-client.js.map +0 -1
  452. package/dist/storage/supabase.d.ts +0 -34
  453. package/dist/storage/supabase.d.ts.map +0 -1
  454. package/dist/storage/supabase.js +0 -74
  455. package/dist/storage/supabase.js.map +0 -1
  456. package/dist/tui/dashboard.d.ts +0 -35
  457. package/dist/tui/dashboard.d.ts.map +0 -1
  458. package/dist/tui/dashboard.js +0 -199
  459. package/dist/tui/dashboard.js.map +0 -1
  460. package/dist/tui/screen.d.ts +0 -14
  461. package/dist/tui/screen.d.ts.map +0 -1
  462. package/dist/tui/screen.js +0 -138
  463. package/dist/tui/screen.js.map +0 -1
  464. package/dist/types/cloud.d.ts +0 -101
  465. package/dist/types/cloud.d.ts.map +0 -1
  466. package/dist/types/cloud.js +0 -13
  467. package/dist/types/cloud.js.map +0 -1
@@ -1,90 +0,0 @@
1
- import { createRequire } from 'module';
2
- import { loadConfig } from '../lib/config.js';
3
- const require = createRequire(import.meta.url);
4
- const status = { available: false, loaded: false };
5
- function isEnvDisabled(value) {
6
- if (!value)
7
- return false;
8
- return ['0', 'false', 'no', 'off'].includes(value.toLowerCase());
9
- }
10
- function readCoreVersion() {
11
- try {
12
- const pkg = require('../../package.json');
13
- return pkg.version;
14
- }
15
- catch {
16
- return undefined;
17
- }
18
- }
19
- function readEcosystemPackage() {
20
- try {
21
- return require('spidersan-ecosystem/package.json');
22
- }
23
- catch {
24
- return null;
25
- }
26
- }
27
- function parseMajor(value) {
28
- const match = value.match(/(\d+)/);
29
- if (!match)
30
- return null;
31
- const major = parseInt(match[1], 10);
32
- return Number.isNaN(major) ? null : major;
33
- }
34
- function isMajorMismatch(coreVersion, requiredRange) {
35
- if (!coreVersion || !requiredRange)
36
- return false;
37
- const coreMajor = parseMajor(coreVersion);
38
- const requiredMajor = parseMajor(requiredRange);
39
- if (coreMajor === null || requiredMajor === null)
40
- return false;
41
- return coreMajor !== requiredMajor;
42
- }
43
- async function loadEcosystemModule() {
44
- try {
45
- const config = await loadConfig();
46
- const envDisable = isEnvDisabled(process.env.SPIDERSAN_ECOSYSTEM) ||
47
- isEnvDisabled(process.env.SPIDERSAN_CORE_ONLY);
48
- if (!config.ecosystem.enabled || envDisable) {
49
- return null;
50
- }
51
- const module = await import('spidersan-ecosystem');
52
- status.available = true;
53
- const ecosystemPkg = readEcosystemPackage();
54
- status.coreVersion = readCoreVersion();
55
- status.ecosystemVersion = ecosystemPkg?.version;
56
- status.requiredRange = ecosystemPkg?.peerDependencies?.spidersan;
57
- status.versionMismatch = isMajorMismatch(status.coreVersion, status.requiredRange);
58
- return module;
59
- }
60
- catch (error) {
61
- const message = error instanceof Error ? error.message : String(error);
62
- if (!message.includes('Cannot find package')) {
63
- status.error = message;
64
- }
65
- return null;
66
- }
67
- }
68
- export async function loadEcosystemCommands() {
69
- const module = await loadEcosystemModule();
70
- if (!module)
71
- return [];
72
- const mod = module;
73
- const getCommands = typeof mod.getCommands === 'function'
74
- ? mod.getCommands
75
- : typeof mod.default?.getCommands === 'function'
76
- ? mod.default.getCommands
77
- : null;
78
- if (!getCommands)
79
- return [];
80
- const commands = await getCommands();
81
- if (Array.isArray(commands)) {
82
- status.loaded = true;
83
- return commands;
84
- }
85
- return [];
86
- }
87
- export function getEcosystemStatus() {
88
- return { ...status };
89
- }
90
- //# sourceMappingURL=ecosystem-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ecosystem-loader.js","sourceRoot":"","sources":["../../src/commands/ecosystem-loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAY9C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,MAAM,GAAoB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAEpE,SAAS,aAAa,CAAC,KAAc;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,eAAe;IACpB,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC1C,OAAO,GAAG,CAAC,OAA6B,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB;IACzB,IAAI,CAAC;QACD,OAAO,OAAO,CAAC,kCAAkC,CAGhD,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9C,CAAC;AAED,SAAS,eAAe,CAAC,WAAoB,EAAE,aAAsB;IACjE,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IACjD,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAChD,IAAI,SAAS,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC/D,OAAO,SAAS,KAAK,aAAa,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,mBAAmB;IAC9B,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAC7D,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACnD,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,MAAM,YAAY,GAAG,oBAAoB,EAAE,CAAC;QAC5C,MAAM,CAAC,WAAW,GAAG,eAAe,EAAE,CAAC;QACvC,MAAM,CAAC,gBAAgB,GAAG,YAAY,EAAE,OAAO,CAAC;QAChD,MAAM,CAAC,aAAa,GAAG,YAAY,EAAE,gBAAgB,EAAE,SAAS,CAAC;QACjE,MAAM,CAAC,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QACnF,OAAO,MAAM,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACvC,MAAM,MAAM,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAC3C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,GAAG,GAAG,MAAmF,CAAC;IAChG,MAAM,WAAW,GAAG,OAAO,GAAG,CAAC,WAAW,KAAK,UAAU;QACrD,CAAC,CAAC,GAAG,CAAC,WAAW;QACjB,CAAC,CAAC,OAAQ,GAAG,CAAC,OAAqC,EAAE,WAAW,KAAK,UAAU;YAC3E,CAAC,CAAE,GAAG,CAAC,OAAiE,CAAC,WAAW;YACpF,CAAC,CAAC,IAAI,CAAC;IACf,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;IACrC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB;IAC9B,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;AACzB,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * spidersan fleet-status
3
- *
4
- * Show git sync status (ahead/behind origin) for every repo in ~/Dev.
5
- * Runs `git fetch` then compares HEAD to origin/<branch>.
6
- *
7
- * Output columns: repo | branch | sha | status
8
- * Flags: --no-fetch (skip fetch, use cached remote refs)
9
- * --json (machine-readable output)
10
- * --dir (scan a different root directory, default ~/Dev)
11
- */
12
- import { Command } from 'commander';
13
- export declare const fleetStatusCommand: Command;
14
- //# sourceMappingURL=fleet-status.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fleet-status.d.ts","sourceRoot":"","sources":["../../src/commands/fleet-status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0DpC,eAAO,MAAM,kBAAkB,SA8EzB,CAAC"}
@@ -1,127 +0,0 @@
1
- /**
2
- * spidersan fleet-status
3
- *
4
- * Show git sync status (ahead/behind origin) for every repo in ~/Dev.
5
- * Runs `git fetch` then compares HEAD to origin/<branch>.
6
- *
7
- * Output columns: repo | branch | sha | status
8
- * Flags: --no-fetch (skip fetch, use cached remote refs)
9
- * --json (machine-readable output)
10
- * --dir (scan a different root directory, default ~/Dev)
11
- */
12
- import { Command } from 'commander';
13
- import { execFileSync } from 'child_process';
14
- import { readdirSync, existsSync } from 'fs';
15
- import { join } from 'path';
16
- import { homedir } from 'os';
17
- function run(cmd, args, cwd) {
18
- try {
19
- return execFileSync(cmd, args, { cwd, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] }).trim();
20
- }
21
- catch {
22
- return '';
23
- }
24
- }
25
- function checkRepo(dir) {
26
- const repo = dir.split('/').pop() ?? dir;
27
- const branch = run('git', ['branch', '--show-current'], dir);
28
- if (!branch)
29
- return { repo, branch: '(detached)', sha: run('git', ['rev-parse', '--short', 'HEAD'], dir), ahead: 0, behind: 0, status: 'detached' };
30
- const sha = run('git', ['rev-parse', '--short', 'HEAD'], dir);
31
- const remoteRef = `origin/${branch}`;
32
- const hasRemote = run('git', ['rev-parse', '--verify', remoteRef], dir);
33
- if (!hasRemote)
34
- return { repo, branch, sha, ahead: 0, behind: 0, status: 'no-remote' };
35
- const ahead = parseInt(run('git', ['rev-list', `${remoteRef}..HEAD`, '--count'], dir) || '0', 10);
36
- const behind = parseInt(run('git', ['rev-list', `HEAD..${remoteRef}`, '--count'], dir) || '0', 10);
37
- let status;
38
- if (ahead === 0 && behind === 0)
39
- status = 'synced';
40
- else if (ahead > 0 && behind === 0)
41
- status = 'ahead';
42
- else if (ahead === 0 && behind > 0)
43
- status = 'behind';
44
- else
45
- status = 'diverged';
46
- return { repo, branch, sha, ahead, behind, status };
47
- }
48
- function statusIcon(s) {
49
- switch (s.status) {
50
- case 'synced': return '✅';
51
- case 'ahead': return `⬆️ AHEAD ${s.ahead}`;
52
- case 'behind': return `⬇️ BEHIND ${s.behind}`;
53
- case 'diverged': return `↕️ DIVERGED (+${s.ahead}/-${s.behind})`;
54
- case 'detached': return '🔀 DETACHED HEAD';
55
- case 'no-remote': return '🔌 NO REMOTE';
56
- }
57
- }
58
- export const fleetStatusCommand = new Command('fleet-status')
59
- .description('Show git sync status for every repo in ~/Dev')
60
- .option('--no-fetch', 'Skip git fetch (use cached remote refs)')
61
- .option('--json', 'Output as JSON')
62
- .option('--dir <path>', 'Root directory to scan', join(homedir(), 'Dev'))
63
- .option('--filter <status>', 'Show only: synced|ahead|behind|diverged|all', 'all')
64
- .action((opts) => {
65
- const root = opts.dir;
66
- if (!existsSync(root)) {
67
- console.error(`Directory not found: ${root}`);
68
- process.exit(1);
69
- }
70
- const entries = readdirSync(root, { withFileTypes: true })
71
- .filter(e => e.isDirectory())
72
- .map(e => join(root, e.name))
73
- .filter(d => existsSync(join(d, '.git')));
74
- if (entries.length === 0) {
75
- console.log('No git repos found in', root);
76
- return;
77
- }
78
- // Fetch all in parallel-ish (fire-and-forget, then collect)
79
- if (opts.fetch !== false) {
80
- process.stdout.write(`Fetching ${entries.length} repos…`);
81
- for (const dir of entries) {
82
- run('git', ['fetch', '--quiet'], dir);
83
- }
84
- process.stdout.write(' done\n');
85
- }
86
- const results = entries
87
- .map(d => checkRepo(d))
88
- .filter((r) => r !== null);
89
- const filter = opts.filter;
90
- const filtered = filter === 'all' ? results : results.filter(r => r.status === filter);
91
- if (opts.json) {
92
- console.log(JSON.stringify(filtered, null, 2));
93
- return;
94
- }
95
- // Pretty table
96
- const repoWidth = Math.max(20, ...filtered.map(r => r.repo.length));
97
- const branchWidth = Math.max(8, ...filtered.map(r => r.branch.length));
98
- for (const r of filtered) {
99
- const icon = statusIcon(r);
100
- console.log(r.repo.padEnd(repoWidth + 2) +
101
- r.branch.padEnd(branchWidth + 2) +
102
- r.sha.padEnd(9) +
103
- icon);
104
- }
105
- // Summary line
106
- const counts = { synced: 0, ahead: 0, behind: 0, diverged: 0, other: 0 };
107
- for (const r of results) {
108
- if (r.status === 'synced')
109
- counts.synced++;
110
- else if (r.status === 'ahead')
111
- counts.ahead++;
112
- else if (r.status === 'behind')
113
- counts.behind++;
114
- else if (r.status === 'diverged')
115
- counts.diverged++;
116
- else
117
- counts.other++;
118
- }
119
- console.log('');
120
- console.log(`${results.length} repos — ` +
121
- `✅ ${counts.synced} synced` +
122
- (counts.ahead ? ` ⬆️ ${counts.ahead} ahead` : '') +
123
- (counts.behind ? ` ⬇️ ${counts.behind} behind` : '') +
124
- (counts.diverged ? ` ↕️ ${counts.diverged} diverged` : '') +
125
- (counts.other ? ` 🔌 ${counts.other} no-remote` : ''));
126
- });
127
- //# sourceMappingURL=fleet-status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fleet-status.js","sourceRoot":"","sources":["../../src/commands/fleet-status.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- /**
2
- * spidersan git-watch
3
- *
4
- * Starts a git-change notification daemon that subscribes to spidersan_git_events
5
- * via Supabase Realtime and catches up on missed events via polling.
6
- *
7
- * Usage:
8
- * spidersan git-watch # daemon mode (runs until Ctrl+C)
9
- * spidersan git-watch --once # catch-up only, then exit
10
- * spidersan git-watch --repos ~/Dev/Envoak:~/Dev/Toak
11
- * spidersan git-watch --interval 30000 # poll every 30s
12
- * spidersan git-watch --json # machine-readable log output
13
- *
14
- * Notifications:
15
- * push events → warns agent to run `spidersan pulse`
16
- * branch delete → marks registry entry abandoned, archives it
17
- * PR/create → logged to activity.jsonl
18
- *
19
- * Pending events are written to ~/.spidersan/git-events-pending.jsonl for
20
- * future AI-layer (spidersan-smol) processing (P2).
21
- */
22
- import { Command } from 'commander';
23
- export declare const gitWatchCommand: Command;
24
- //# sourceMappingURL=git-watch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git-watch.d.ts","sourceRoot":"","sources":["../../src/commands/git-watch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,eAAO,MAAM,eAAe,SA6DtB,CAAC"}
@@ -1,84 +0,0 @@
1
- /**
2
- * spidersan git-watch
3
- *
4
- * Starts a git-change notification daemon that subscribes to spidersan_git_events
5
- * via Supabase Realtime and catches up on missed events via polling.
6
- *
7
- * Usage:
8
- * spidersan git-watch # daemon mode (runs until Ctrl+C)
9
- * spidersan git-watch --once # catch-up only, then exit
10
- * spidersan git-watch --repos ~/Dev/Envoak:~/Dev/Toak
11
- * spidersan git-watch --interval 30000 # poll every 30s
12
- * spidersan git-watch --json # machine-readable log output
13
- *
14
- * Notifications:
15
- * push events → warns agent to run `spidersan pulse`
16
- * branch delete → marks registry entry abandoned, archives it
17
- * PR/create → logged to activity.jsonl
18
- *
19
- * Pending events are written to ~/.spidersan/git-events-pending.jsonl for
20
- * future AI-layer (spidersan-smol) processing (P2).
21
- */
22
- import { Command } from 'commander';
23
- import { startGitWatch, catchUpOnce } from '../lib/git-events-subscriber.js';
24
- export const gitWatchCommand = new Command('git-watch')
25
- .description('Subscribe to git-change notifications from GitHub webhooks')
26
- .option('--once', 'Catch up on missed events then exit (useful for cron)')
27
- .option('--interval <ms>', 'Polling interval in ms for catch-up (default: 60000)', '60000')
28
- .option('--repos <paths>', 'Colon-separated local repo paths to watch (default: auto-detect from ~/Dev)')
29
- .option('--json', 'Machine-readable log output')
30
- .option('--no-realtime', 'Disable WebSocket subscription (polling only)')
31
- .option('--quiet', 'Suppress output')
32
- .action(async (options) => {
33
- const pollIntervalMs = parseInt(options.interval, 10);
34
- const repoPaths = options.repos
35
- ? options.repos.split(':').map((p) => p.trim()).filter(Boolean)
36
- : [];
37
- const logger = options.quiet
38
- ? undefined
39
- : options.json
40
- ? (msg) => console.log(JSON.stringify({ ts: new Date().toISOString(), msg }))
41
- : (msg) => console.log(`[git-watch] ${msg}`);
42
- try {
43
- if (options.once) {
44
- await catchUpOnce({ repoPaths, logger, quiet: options.quiet });
45
- if (!options.quiet)
46
- console.log('[git-watch] catch-up complete');
47
- process.exit(0);
48
- }
49
- const handle = await startGitWatch({
50
- pollIntervalMs,
51
- repoPaths,
52
- logger,
53
- quiet: options.quiet,
54
- disableRealtime: options.realtime === false,
55
- });
56
- if (!options.quiet) {
57
- console.log('[git-watch] daemon running — Ctrl+C to stop');
58
- console.log('[git-watch] pending events: ~/.spidersan/git-events-pending.jsonl');
59
- }
60
- // Graceful shutdown
61
- const shutdown = () => {
62
- if (!options.quiet)
63
- console.log('\n[git-watch] stopping');
64
- handle.stop();
65
- process.exit(0);
66
- };
67
- process.on('SIGINT', shutdown);
68
- process.on('SIGTERM', shutdown);
69
- }
70
- catch (err) {
71
- const msg = err instanceof Error ? err.message : String(err);
72
- if (options.json) {
73
- console.error(JSON.stringify({ error: msg }));
74
- }
75
- else {
76
- console.error(`[git-watch] error: ${msg}`);
77
- if (msg.includes('SUPABASE_URL')) {
78
- console.error(' Set SUPABASE_URL and SUPABASE_KEY (or COLONY_SESSION_JWT) env vars');
79
- }
80
- }
81
- process.exit(1);
82
- }
83
- });
84
- //# sourceMappingURL=git-watch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git-watch.js","sourceRoot":"","sources":["../../src/commands/git-watch.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * spidersan github-sync
3
- *
4
- * Fetch branch/PR/CI status from GitHub for configured repos.
5
- * Part of F2: GitHub Branch Inventory.
6
- */
7
- import { Command } from 'commander';
8
- export declare const githubSyncCommand: Command;
9
- //# sourceMappingURL=github-sync.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"github-sync.d.ts","sourceRoot":"","sources":["../../src/commands/github-sync.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmIpC,eAAO,MAAM,iBAAiB,SAyExB,CAAC"}
@@ -1,180 +0,0 @@
1
- /**
2
- * spidersan github-sync
3
- *
4
- * Fetch branch/PR/CI status from GitHub for configured repos.
5
- * Part of F2: GitHub Branch Inventory.
6
- */
7
- import { Command } from 'commander';
8
- import { loadConfig } from '../lib/config.js';
9
- import { SupabaseStorage } from '../storage/supabase.js';
10
- import { readFile } from 'fs/promises';
11
- import { existsSync } from 'fs';
12
- import { join } from 'path';
13
- import { homedir } from 'os';
14
- import { execFileSync } from 'child_process';
15
- import { isGhAvailable, listBranches, listPullRequests, getCIStatus, getCommitInfo, getAheadBehind, } from '../lib/github.js';
16
- async function loadMachineIdentity() {
17
- const configPath = join(homedir(), '.envoak', 'machine.json');
18
- if (existsSync(configPath)) {
19
- const raw = await readFile(configPath, 'utf-8');
20
- const data = JSON.parse(raw);
21
- return {
22
- id: data.id || data.machine_id,
23
- name: data.name || data.machine_name || 'unknown',
24
- hostname: data.hostname || 'unknown',
25
- };
26
- }
27
- const hostname = execFileSync('hostname', [], { encoding: 'utf-8' }).trim();
28
- return { id: `fallback-${hostname}`, name: hostname, hostname };
29
- }
30
- async function loadReposConfig() {
31
- const configPath = join(process.cwd(), '.spidersan', 'repos.json');
32
- if (!existsSync(configPath))
33
- return null;
34
- try {
35
- return JSON.parse(await readFile(configPath, 'utf-8'));
36
- }
37
- catch {
38
- return null;
39
- }
40
- }
41
- async function getCurrentRepo() {
42
- try {
43
- const remote = execFileSync('git', ['config', 'remote.origin.url'], { encoding: 'utf-8' }).trim();
44
- const sshMatch = remote.match(/git@github\.com:([^/]+)\/(.+?)(?:\.git)?$/);
45
- if (sshMatch)
46
- return { owner: sshMatch[1], repo: sshMatch[2] };
47
- const httpsMatch = remote.match(/github\.com\/([^/]+)\/(.+?)(?:\.git)?$/);
48
- if (httpsMatch)
49
- return { owner: httpsMatch[1], repo: httpsMatch[2] };
50
- return null;
51
- }
52
- catch {
53
- return null;
54
- }
55
- }
56
- async function scanRepository(config, options) {
57
- console.log(` 📡 Scanning ${config.owner}/${config.repo}...`);
58
- const branches = await listBranches(config);
59
- const prs = await listPullRequests(config);
60
- const results = [];
61
- for (const branch of branches) {
62
- if (['main', 'master', 'develop', 'production'].includes(branch.name))
63
- continue;
64
- const commit = await getCommitInfo(config, branch.name);
65
- if (!commit)
66
- continue;
67
- const pr = prs.find(p => p.headBranch === branch.name);
68
- let ciStatus = null;
69
- if (options.includeCi)
70
- ciStatus = await getCIStatus(config, branch.name);
71
- const row = {
72
- id: '',
73
- repo_owner: config.owner,
74
- repo_name: config.repo,
75
- branch_name: branch.name,
76
- author: commit.author,
77
- last_commit_sha: commit.sha,
78
- last_commit_date: commit.date,
79
- ahead_behind: { ahead: 0, behind: 0 },
80
- pr_number: pr?.number || null,
81
- pr_status: pr?.state || null,
82
- is_default: false,
83
- scanned_at: new Date().toISOString(),
84
- scanned_by_machine: options.machine.id,
85
- };
86
- try {
87
- row.ahead_behind = await getAheadBehind(config, branch.name);
88
- }
89
- catch {
90
- // fallback already set above
91
- }
92
- // Suppress unused var warning for ciStatus until Supabase table exists
93
- void ciStatus;
94
- results.push(row);
95
- }
96
- return results;
97
- }
98
- async function storeResults(_results, _supabase) {
99
- try {
100
- console.warn(` ⚠️ Supabase storage does not support GitHub branch sync yet`);
101
- return 0;
102
- }
103
- catch (error) {
104
- console.warn(` ⚠️ Could not write to Supabase: ${error instanceof Error ? error.message : String(error)}`);
105
- return 0;
106
- }
107
- }
108
- export const githubSyncCommand = new Command('github-sync')
109
- .description('Fetch branch/PR/CI status from GitHub for configured repos')
110
- .option('--repo <owner/repo>', 'Sync specific repo (auto-detects from git remote if not provided)')
111
- .option('--all', 'Sync all repos from .spidersan/repos.json')
112
- .option('--ci', 'Include CI/Actions status (slower)')
113
- .option('--json', 'Output as JSON')
114
- .option('--stale-days <n>', 'Mark branches older than N days as stale', '7')
115
- .action(async (options) => {
116
- if (!isGhAvailable()) {
117
- console.error('❌ GitHub CLI (gh) not found or not authenticated.');
118
- console.error(' Install: https://cli.github.com → gh auth login');
119
- process.exit(1);
120
- }
121
- const machine = await loadMachineIdentity();
122
- const config = await loadConfig();
123
- const url = process.env.SUPABASE_URL || config.storage.supabaseUrl;
124
- const key = process.env.SUPABASE_KEY || config.storage.supabaseKey;
125
- const supabase = url && key ? new SupabaseStorage({ url, key }) : null;
126
- let reposToScan = [];
127
- if (options.all) {
128
- const reposConfig = await loadReposConfig();
129
- if (!reposConfig) {
130
- console.error('❌ No .spidersan/repos.json found.');
131
- process.exit(1);
132
- }
133
- reposToScan = reposConfig.repos.map(r => ({ owner: r.owner, repo: r.name }));
134
- }
135
- else if (options.repo) {
136
- const [owner, repo] = options.repo.split('/');
137
- reposToScan = [{ owner, repo }];
138
- }
139
- else {
140
- const current = await getCurrentRepo();
141
- if (!current) {
142
- console.error('❌ Could not detect current repo. Use --repo owner/repo');
143
- process.exit(1);
144
- }
145
- reposToScan = [current];
146
- }
147
- console.log(`🕷️ GitHub sync: scanning ${reposToScan.length} repo(s)\n`);
148
- const allResults = [];
149
- let storedCount = 0;
150
- for (const repo of reposToScan) {
151
- try {
152
- const results = await scanRepository(repo, {
153
- includeCi: options.ci,
154
- staleDays: parseInt(options.staleDays, 10),
155
- machine,
156
- });
157
- console.log(` ✅ Found ${results.length} branches`);
158
- allResults.push(...results);
159
- if (supabase && results.length > 0) {
160
- storedCount += await storeResults(results, supabase);
161
- }
162
- }
163
- catch (error) {
164
- console.error(` ❌ ${error instanceof Error ? error.message : String(error)}`);
165
- }
166
- }
167
- if (options.json) {
168
- console.log(JSON.stringify(allResults, null, 2));
169
- }
170
- else {
171
- console.log(`\n 📊 Total branches: ${allResults.length}`);
172
- if (supabase && storedCount > 0) {
173
- console.log(` 💾 Stored in Supabase: ${storedCount}`);
174
- }
175
- else if (!supabase) {
176
- console.log(` ℹ️ Supabase not configured or table missing (results shown above only)`);
177
- }
178
- }
179
- });
180
- //# sourceMappingURL=github-sync.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"github-sync.js","sourceRoot":"","sources":["../../src/commands/github-sync.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const inboxCommand: Command;
3
- //# sourceMappingURL=inbox.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../../src/commands/inbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiCpC,eAAO,MAAM,YAAY,SAyFnB,CAAC"}