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,104 +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
- import chalk from 'chalk';
8
- import { buildContext } from '../lib/ai/index.js';
9
- function formatContext(ctx, verbose) {
10
- const lines = [];
11
- lines.push(chalk.bold('🕷️ Spidersan Context'));
12
- lines.push(chalk.dim(` ${ctx.timestamp}`));
13
- lines.push('');
14
- // Git
15
- lines.push(chalk.bold('📂 Repository'));
16
- lines.push(` ${ctx.repo} → ${chalk.cyan(ctx.branch)}`);
17
- const gitParts = [];
18
- if (ctx.gitStatus.ahead > 0)
19
- gitParts.push(chalk.green(`↑${ctx.gitStatus.ahead}`));
20
- if (ctx.gitStatus.behind > 0)
21
- gitParts.push(chalk.red(`↓${ctx.gitStatus.behind}`));
22
- if (ctx.gitStatus.dirty.length > 0)
23
- gitParts.push(chalk.yellow(`${ctx.gitStatus.dirty.length} dirty`));
24
- if (gitParts.length > 0)
25
- lines.push(` ${gitParts.join(' · ')}`);
26
- lines.push('');
27
- // Registry
28
- lines.push(chalk.bold('🕸️ Registry'));
29
- lines.push(` ${ctx.registry.active} active · ${ctx.registry.stale} stale`);
30
- if (verbose && ctx.registry.branches.length > 0) {
31
- for (const b of ctx.registry.branches) {
32
- const icon = b.status === 'active' ? '🔄' : b.status === 'merged' || b.status === 'completed' ? '✅' : '❌';
33
- lines.push(` ${icon} ${b.name} ${chalk.dim(b.agent ?? '')} [${b.files.length} files]`);
34
- }
35
- }
36
- lines.push('');
37
- // Conflicts
38
- const totalConflicts = ctx.conflicts.tier1 + ctx.conflicts.tier2 + ctx.conflicts.tier3;
39
- if (totalConflicts > 0) {
40
- lines.push(chalk.bold('⚔️ Conflicts'));
41
- if (ctx.conflicts.tier3 > 0)
42
- lines.push(` ${chalk.red(`🔴 TIER 3 BLOCK: ${ctx.conflicts.tier3}`)}`);
43
- if (ctx.conflicts.tier2 > 0)
44
- lines.push(` ${chalk.yellow(`🟠 TIER 2 PAUSE: ${ctx.conflicts.tier2}`)}`);
45
- if (ctx.conflicts.tier1 > 0)
46
- lines.push(` ${chalk.dim(`🟡 TIER 1 WARN: ${ctx.conflicts.tier1}`)}`);
47
- if (verbose) {
48
- for (const c of ctx.conflicts.details) {
49
- lines.push(` TIER ${c.tier}: ${c.branch} ↔ ${c.otherBranch} on [${c.files.join(', ')}]`);
50
- }
51
- }
52
- }
53
- else {
54
- lines.push(chalk.bold('⚔️ Conflicts') + chalk.green(' ✅ none'));
55
- }
56
- lines.push('');
57
- // Colony
58
- lines.push(chalk.bold('🍄 Colony'));
59
- if (ctx.colony.online) {
60
- lines.push(` Online · ${ctx.colony.activeAgents.length} agents: ${ctx.colony.activeAgents.join(', ') || 'none'}`);
61
- if (verbose && ctx.colony.inProgress.length > 0) {
62
- for (const w of ctx.colony.inProgress) {
63
- lines.push(` ${w.agent}: ${w.task} (${w.status})`);
64
- }
65
- }
66
- }
67
- else {
68
- lines.push(chalk.dim(' Offline'));
69
- }
70
- // Activity
71
- if (verbose && ctx.activityLog && ctx.activityLog.length > 0) {
72
- lines.push('');
73
- lines.push(chalk.bold('📋 Recent Activity'));
74
- for (const a of ctx.activityLog.slice(0, 10)) {
75
- lines.push(` [${a.event}] ${a.branch ?? ''} by ${a.agent ?? 'unknown'}`);
76
- }
77
- }
78
- return lines.join('\n');
79
- }
80
- export const contextCommand = new Command('context')
81
- .description('Show aggregated repository context (registry, conflicts, git, colony)')
82
- .option('--json', 'Output as structured JSON')
83
- .option('--verbose', 'Include all sections (activity log, branch details)')
84
- .option('--repo <path>', 'Target a specific repository path')
85
- .action(async (options) => {
86
- try {
87
- const ctx = await buildContext({
88
- repoRoot: options.repo,
89
- includeActivity: options.verbose,
90
- verbose: options.verbose,
91
- });
92
- if (options.json) {
93
- console.log(JSON.stringify(ctx, null, 2));
94
- }
95
- else {
96
- console.log(formatContext(ctx, options.verbose ?? false));
97
- }
98
- }
99
- catch (err) {
100
- console.error(`❌ Failed to build context: ${err.message}`);
101
- process.exit(1);
102
- }
103
- });
104
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- /**
2
- * spidersan cross-conflicts
3
- *
4
- * Detect file conflicts ACROSS machines by comparing registries in Supabase.
5
- * Extends the local `conflicts` command to work globally.
6
- *
7
- * Flow:
8
- * 1. Push local registry to Supabase (ensure freshness)
9
- * 2. Pull all other machines' registries
10
- * 3. Compare file lists, apply tier escalation
11
- * 4. Produce a GlobalConflictReport
12
- */
13
- import { Command } from 'commander';
14
- import type { CrossMachineConflict, MachineRegistryView, SpiderRegistry } from '../types/cloud.js';
15
- export declare function detectCrossMachineConflicts(localBranches: SpiderRegistry[], remoteMachines: MachineRegistryView[], localMachineId: string, localMachineName: string): CrossMachineConflict[];
16
- export declare const crossConflictsCommand: Command;
17
- //# sourceMappingURL=cross-conflicts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cross-conflicts.d.ts","sourceRoot":"","sources":["../../src/commands/cross-conflicts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,KAAK,EACR,oBAAoB,EAEpB,mBAAmB,EACnB,cAAc,EACjB,MAAM,mBAAmB,CAAC;AAY3B,wBAAgB,2BAA2B,CACvC,aAAa,EAAE,cAAc,EAAE,EAC/B,cAAc,EAAE,mBAAmB,EAAE,EACrC,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,GACzB,oBAAoB,EAAE,CA0DxB;AA2FD,eAAO,MAAM,qBAAqB,SAmI5B,CAAC"}
@@ -1,268 +0,0 @@
1
- /**
2
- * spidersan cross-conflicts
3
- *
4
- * Detect file conflicts ACROSS machines by comparing registries in Supabase.
5
- * Extends the local `conflicts` command to work globally.
6
- *
7
- * Flow:
8
- * 1. Push local registry to Supabase (ensure freshness)
9
- * 2. Pull all other machines' registries
10
- * 3. Compare file lists, apply tier escalation
11
- * 4. Produce a GlobalConflictReport
12
- */
13
- import { Command } from 'commander';
14
- import { getStorage } from '../storage/index.js';
15
- import { LocalStorage } from '../storage/local.js';
16
- import { SupabaseStorage } from '../storage/supabase.js';
17
- import { classifyTier, TIER_LABELS } from '../lib/conflict-tier.js';
18
- export function detectCrossMachineConflicts(localBranches, remoteMachines, localMachineId, localMachineName) {
19
- // Build file → branch refs map
20
- const fileMap = new Map();
21
- // Add local branches
22
- for (const branch of localBranches) {
23
- if (branch.status !== 'active')
24
- continue;
25
- for (const file of branch.files) {
26
- if (!fileMap.has(file))
27
- fileMap.set(file, []);
28
- fileMap.get(file).push({
29
- branch_name: branch.branch_name,
30
- machine_id: localMachineId,
31
- machine_name: localMachineName,
32
- agent: branch.agent,
33
- repo_name: branch.repo_name,
34
- });
35
- }
36
- }
37
- // Add remote branches
38
- for (const machine of remoteMachines) {
39
- for (const branch of machine.branches) {
40
- if (branch.status !== 'active')
41
- continue;
42
- for (const file of branch.files) {
43
- if (!fileMap.has(file))
44
- fileMap.set(file, []);
45
- fileMap.get(file).push({
46
- branch_name: branch.name,
47
- machine_id: machine.machine_id,
48
- machine_name: machine.machine_name,
49
- agent: branch.agent ?? null,
50
- repo_name: machine.repo_name,
51
- });
52
- }
53
- }
54
- }
55
- // Find files touched by multiple machines
56
- const conflicts = [];
57
- for (const [file, refs] of fileMap) {
58
- const machineIds = new Set(refs.map(r => r.machine_id));
59
- if (machineIds.size < 2)
60
- continue; // Same machine only — not a cross-machine conflict
61
- const tier = classifyTier(file);
62
- conflicts.push({
63
- file,
64
- tier,
65
- branches: refs.map(r => ({
66
- branch_name: r.branch_name,
67
- machine_id: r.machine_id,
68
- machine_name: r.machine_name,
69
- agent: r.agent,
70
- })),
71
- });
72
- }
73
- // Sort: TIER 3 first, then 2, then 1
74
- conflicts.sort((a, b) => b.tier - a.tier);
75
- return conflicts;
76
- }
77
- // ─── Local-Only Mode (no Supabase) ───
78
- async function detectLocalConflicts() {
79
- const storage = await getStorage();
80
- const branches = await storage.list();
81
- const activeBranches = branches.filter((b) => b.status === 'active');
82
- // In local mode, detect conflicts within the same machine
83
- const fileMap = new Map();
84
- for (const branch of activeBranches) {
85
- for (const file of (branch.files || [])) {
86
- if (!fileMap.has(file))
87
- fileMap.set(file, []);
88
- fileMap.get(file).push({
89
- branch: branch.name,
90
- agent: branch.agent || null,
91
- });
92
- }
93
- }
94
- const conflicts = [];
95
- for (const [file, refs] of fileMap) {
96
- if (refs.length < 2)
97
- continue;
98
- conflicts.push({
99
- file,
100
- tier: classifyTier(file),
101
- branches: refs.map(r => ({
102
- branch_name: r.branch,
103
- machine_id: 'local',
104
- machine_name: 'local',
105
- agent: r.agent,
106
- })),
107
- });
108
- }
109
- conflicts.sort((a, b) => b.tier - a.tier);
110
- return {
111
- conflicts,
112
- machines_scanned: 1,
113
- total_branches: activeBranches.length,
114
- scan_time: new Date().toISOString(),
115
- };
116
- }
117
- // ─── Format Output ───
118
- function formatReport(report, minTier) {
119
- const lines = [];
120
- const filtered = report.conflicts.filter(c => c.tier >= minTier);
121
- if (filtered.length === 0) {
122
- lines.push('✅ No cross-machine conflicts detected');
123
- lines.push(` Scanned ${report.machines_scanned} machine(s), ${report.total_branches} active branch(es)`);
124
- return lines.join('\n');
125
- }
126
- lines.push(`⚡ ${filtered.length} cross-machine conflict(s) found`);
127
- lines.push(` Scanned ${report.machines_scanned} machine(s), ${report.total_branches} active branch(es)`);
128
- lines.push('');
129
- for (const conflict of filtered) {
130
- const info = TIER_LABELS[conflict.tier];
131
- lines.push(`${info.icon} TIER ${conflict.tier} ${info.label}: ${conflict.file}`);
132
- lines.push(` Action: ${info.action}`);
133
- for (const b of conflict.branches) {
134
- const agentLabel = b.agent ? ` (${b.agent})` : '';
135
- lines.push(` ├─ ${b.machine_name}/${b.branch_name}${agentLabel}`);
136
- }
137
- lines.push('');
138
- }
139
- // Summary by tier
140
- const t3 = filtered.filter(c => c.tier === 3).length;
141
- const t2 = filtered.filter(c => c.tier === 2).length;
142
- const t1 = filtered.filter(c => c.tier === 1).length;
143
- lines.push(`Summary: 🔴 ${t3} BLOCK 🟠 ${t2} PAUSE 🟡 ${t1} WARN`);
144
- return lines.join('\n');
145
- }
146
- function formatJson(report, minTier) {
147
- const filtered = {
148
- ...report,
149
- conflicts: report.conflicts.filter(c => c.tier >= minTier),
150
- };
151
- return JSON.stringify(filtered, null, 2);
152
- }
153
- // ─── CLI Command ───
154
- export const crossConflictsCommand = new Command('cross-conflicts')
155
- .description('Detect file conflicts across machines (via Supabase)')
156
- .option('--repo <name>', 'Repository name (default: current repo)')
157
- .option('--tier <level>', 'Minimum tier to display (1, 2, or 3)', '1')
158
- .option('--strict', 'Exit with code 1 if TIER 2+ conflicts found')
159
- .option('--json', 'Output as JSON')
160
- .option('--local', 'Local-only mode (skip Supabase, use local registry)')
161
- .action(async (opts) => {
162
- const minTier = parseInt(opts.tier, 10) || 1;
163
- // Determine repo name
164
- let repoName = opts.repo;
165
- if (!repoName) {
166
- try {
167
- const path = await import('path');
168
- repoName = path.basename(process.cwd());
169
- }
170
- catch {
171
- repoName = 'unknown';
172
- }
173
- }
174
- // Local-only mode
175
- if (opts.local) {
176
- const report = await detectLocalConflicts();
177
- console.log(opts.json ? formatJson(report, minTier) : formatReport(report, minTier));
178
- if (opts.strict && report.conflicts.some(c => c.tier >= 2)) {
179
- process.exit(1);
180
- }
181
- return;
182
- }
183
- // Cross-machine mode via Supabase
184
- try {
185
- const config = await import('../lib/config.js');
186
- const cfg = await config.loadConfig();
187
- const url = process.env.SUPABASE_URL || cfg.storage.supabaseUrl;
188
- const key = process.env.SUPABASE_KEY || cfg.storage.supabaseKey;
189
- if (!url || !key) {
190
- console.log('⚠️ Supabase not configured. Use --local for local-only conflicts.');
191
- console.log(' Set SUPABASE_URL and SUPABASE_KEY, or run: spidersan cross-conflicts --local');
192
- return;
193
- }
194
- const supabase = new SupabaseStorage({ url, key });
195
- const localStorage = new LocalStorage();
196
- // Load machine identity
197
- let machineId = 'unknown';
198
- let machineName = 'unknown';
199
- try {
200
- const fs = await import('fs');
201
- const path = await import('path');
202
- const os = await import('os');
203
- const machineFile = path.join(os.default.homedir(), '.envoak', 'machine.json');
204
- if (fs.existsSync(machineFile)) {
205
- const machine = JSON.parse(fs.readFileSync(machineFile, 'utf-8'));
206
- machineId = machine.machine_id || machine.id || 'unknown';
207
- machineName = machine.name || 'unknown';
208
- }
209
- }
210
- catch { /* use defaults */ }
211
- console.log(`🕷️ Scanning cross-machine conflicts for "${repoName}" from ${machineName}...`);
212
- console.log('');
213
- // Step 1: Push local registry to ensure freshness
214
- const branches = await localStorage.list();
215
- const activeBranches = branches.filter((b) => b.status === 'active');
216
- // Build local SpiderRegistry objects for comparison
217
- const localRegistries = activeBranches.map((b) => ({
218
- id: '',
219
- machine_id: machineId,
220
- machine_name: machineName,
221
- hostname: '',
222
- repo_path: process.cwd(),
223
- repo_name: repoName,
224
- branch_name: b.name,
225
- files: b.files || [],
226
- agent: b.agent || null,
227
- description: b.description || null,
228
- status: 'active',
229
- last_commit_sha: null,
230
- last_commit_date: null,
231
- synced_at: new Date().toISOString(),
232
- created_at: b.registeredAt?.toISOString() || new Date().toISOString(),
233
- }));
234
- // Step 2: Pull remote registries
235
- let remoteMachines = [];
236
- try {
237
- remoteMachines = await supabase.pullRegistries(repoName, machineId);
238
- }
239
- catch (err) {
240
- const errorMsg = err instanceof Error ? err.message : String(err);
241
- console.log(`⚠️ Could not pull remote registries: ${errorMsg}`);
242
- console.log(' Falling back to local-only mode...');
243
- console.log('');
244
- const report = await detectLocalConflicts();
245
- console.log(opts.json ? formatJson(report, minTier) : formatReport(report, minTier));
246
- return;
247
- }
248
- // Step 3: Detect conflicts
249
- const conflicts = detectCrossMachineConflicts(localRegistries, remoteMachines, machineId, machineName);
250
- const totalRemoteBranches = remoteMachines.reduce((sum, m) => sum + m.branches.length, 0);
251
- const report = {
252
- conflicts,
253
- machines_scanned: remoteMachines.length + 1, // +1 for local
254
- total_branches: activeBranches.length + totalRemoteBranches,
255
- scan_time: new Date().toISOString(),
256
- };
257
- console.log(opts.json ? formatJson(report, minTier) : formatReport(report, minTier));
258
- if (opts.strict && conflicts.some(c => c.tier >= 2)) {
259
- process.exit(1);
260
- }
261
- }
262
- catch (err) {
263
- const errorMsg = err instanceof Error ? err.message : String(err);
264
- console.error(`Error: ${errorMsg}`);
265
- process.exit(1);
266
- }
267
- });
268
- //# sourceMappingURL=cross-conflicts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cross-conflicts.js","sourceRoot":"","sources":["../../src/commands/cross-conflicts.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * spidersan daily — Daily collab bridge (L2)
3
- * Filters treebird-internal daily entries for branch-relevant context.
4
- */
5
- import { Command } from 'commander';
6
- export declare function dailyCommand(program: Command): void;
7
- //# sourceMappingURL=daily.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daily.d.ts","sourceRoot":"","sources":["../../src/commands/daily.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0BpC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,QAqG5C"}
@@ -1,171 +0,0 @@
1
- /**
2
- * spidersan daily — Daily collab bridge (L2)
3
- * Filters treebird-internal daily entries for branch-relevant context.
4
- */
5
- import chalk from 'chalk';
6
- import { queryDaily, listDailyDates, todayStr } from '../lib/daily-bridge.js';
7
- import { getStorage } from '../storage/index.js';
8
- import { queryActivityLog } from '../lib/activity.js';
9
- const AGENT_COLORS = {
10
- treesan: chalk.green,
11
- birdsan: chalk.cyan,
12
- sherlocksan: chalk.red,
13
- mycsan: chalk.magenta,
14
- spidersan: chalk.yellow,
15
- codex: chalk.gray,
16
- teachersan: chalk.blue,
17
- artisan: chalk.blueBright,
18
- watsan: chalk.greenBright,
19
- nanoclaw: chalk.yellowBright,
20
- };
21
- function agentColor(id) {
22
- for (const [key, fn] of Object.entries(AGENT_COLORS)) {
23
- if (id.includes(key))
24
- return fn;
25
- }
26
- return chalk.white;
27
- }
28
- export function dailyCommand(program) {
29
- program
30
- .command('daily')
31
- .description('Show branch-relevant entries from daily collab logs')
32
- .option('-b, --branch <name>', 'Filter entries mentioning this branch')
33
- .option('-d, --date <YYYY-MM-DD>', 'Specific date (default: today)')
34
- .option('-l, --lookback <days>', 'Days to scan back (default: 14)', '14')
35
- .option('-a, --agent <id>', 'Filter by agent (e.g. birdsan, ssan)')
36
- .option('--tldr', 'One-line-per-entry summary mode')
37
- .option('--context', 'Full context: activity log + daily entries for the branch')
38
- .option('--all', 'Show all entries, not just branch-relevant ones')
39
- .option('--dates', 'List available daily dates')
40
- .option('--json', 'Output as JSON')
41
- .action(async (options) => {
42
- try {
43
- // List available dates
44
- if (options.dates) {
45
- const dates = listDailyDates();
46
- if (dates.length === 0) {
47
- console.log(chalk.yellow('No daily files found. Check TREEBIRD_INTERNAL env var.'));
48
- return;
49
- }
50
- dates.forEach(d => console.log(d));
51
- return;
52
- }
53
- // Build search terms from branch name + registry
54
- const terms = [];
55
- if (options.branch) {
56
- terms.push(options.branch);
57
- // Also add shortened form e.g. "feat/my-thing" → "my-thing"
58
- const short = options.branch.split('/').pop();
59
- if (short && short !== options.branch)
60
- terms.push(short);
61
- }
62
- else if (!options.all) {
63
- // Pull branch names from registry as implicit terms
64
- try {
65
- const storage = await getStorage();
66
- const branches = await storage.list();
67
- for (const b of branches) {
68
- if (b.name && b.name !== 'main') {
69
- terms.push(b.name);
70
- const short = b.name.split('/').pop();
71
- if (short)
72
- terms.push(short);
73
- }
74
- }
75
- }
76
- catch { /* registry unavailable — proceed without */ }
77
- }
78
- const entries = queryDaily({
79
- date: options.date,
80
- lookback: parseInt(options.lookback || '14', 10),
81
- terms,
82
- agents: options.agent ? [options.agent] : [],
83
- requireMatch: !options.all,
84
- });
85
- if (options.json) {
86
- console.log(JSON.stringify(entries, null, 2));
87
- return;
88
- }
89
- const targetDate = options.date || (options.lookback === '1' ? todayStr() : null);
90
- const header = options.branch
91
- ? `Daily context for ${chalk.green(options.branch)}`
92
- : targetDate
93
- ? `Daily — ${targetDate}`
94
- : `Daily collab (last ${options.lookback || 14} days)`;
95
- console.log(chalk.cyan(`🕷️ ${header}`) + chalk.gray(` — ${entries.length} entry(s)\n`));
96
- if (entries.length === 0) {
97
- console.log(chalk.yellow('No matching entries found.'));
98
- console.log(chalk.gray(' Try: spidersan daily --all --date 2026-03-03'));
99
- console.log(chalk.gray(' Or: spidersan daily --dates'));
100
- return;
101
- }
102
- // Context mode: show activity log + daily entries side by side
103
- if (options.context && options.branch) {
104
- await showContext(options.branch, entries);
105
- return;
106
- }
107
- displayEntries(entries, options.tldr || false);
108
- }
109
- catch (err) {
110
- console.error(chalk.red(`❌ ${err.message}`));
111
- process.exit(1);
112
- }
113
- });
114
- }
115
- function displayEntries(entries, tldr) {
116
- let lastDate = '';
117
- for (const entry of entries) {
118
- // Date separator
119
- if (entry.date !== lastDate) {
120
- if (lastDate)
121
- console.log('');
122
- console.log(chalk.bold.underline(entry.date));
123
- lastDate = entry.date;
124
- }
125
- const color = agentColor(entry.agentId);
126
- const timeStr = chalk.gray(entry.time.padEnd(8));
127
- const agentStr = color(`[${entry.agentId}]`);
128
- const matchStr = entry.matchedTerms.length > 0
129
- ? chalk.gray(` (${entry.matchedTerms.slice(0, 3).join(', ')})`)
130
- : '';
131
- if (tldr) {
132
- console.log(`${timeStr} ${agentStr} ${entry.excerpt}${matchStr}`);
133
- }
134
- else {
135
- console.log(`${timeStr} ${agentStr}${matchStr}`);
136
- // Word-wrap content at 100 chars
137
- const wrapped = entry.content
138
- .replace(/\*\*/g, '')
139
- .replace(/`([^`]+)`/g, chalk.yellow('$1'))
140
- .match(/.{1,100}(\s|$)/g)
141
- ?.join('\n ') ?? entry.content;
142
- console.log(` ${wrapped}`);
143
- console.log('');
144
- }
145
- }
146
- }
147
- async function showContext(branch, dailyEntries) {
148
- console.log(chalk.bold(`📋 Activity Log — ${branch}\n`));
149
- try {
150
- const logResult = await queryActivityLog({ branch, limit: 20 });
151
- if (logResult.records.length > 0) {
152
- for (const r of logResult.records) {
153
- const time = new Date(r.created_at).toLocaleString('en-GB', {
154
- month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit',
155
- });
156
- const agent = r.agent ? chalk.magenta(`[${r.agent}]`) : '';
157
- console.log(` ${chalk.gray(time)} ${agent} ${r.event}`);
158
- }
159
- }
160
- else {
161
- console.log(chalk.gray(' No activity log entries for this branch.'));
162
- }
163
- }
164
- catch {
165
- console.log(chalk.gray(' (activity log unavailable)'));
166
- }
167
- console.log('');
168
- console.log(chalk.bold(`📅 Daily Collab Mentions\n`));
169
- displayEntries(dailyEntries, false);
170
- }
171
- //# sourceMappingURL=daily.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daily.js","sourceRoot":"","sources":["../../src/commands/daily.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- /**
2
- * spidersan dashboard
3
- *
4
- * Real-time TUI showing:
5
- * - Panel 1: Local branches (registry)
6
- * - Panel 2: Remote machines (cross-machine registries)
7
- * - Panel 3: Conflicts (F3 cross-conflicts)
8
- * - Panel 4: Sync recommendations (F4 sync-advisor)
9
- *
10
- * Part of F5: TUI Dashboard
11
- */
12
- import { Command } from 'commander';
13
- export declare const TIER1_COLOR = "yellow";
14
- export declare const TIER2_COLOR = "red";
15
- export declare const TIER3_COLOR = "magenta";
16
- export declare const STATUS_ACTIVE_COLOR = "green";
17
- export declare const STATUS_COMPLETED_COLOR = "blue";
18
- export declare const STATUS_ABANDONED_COLOR = "white";
19
- export declare const PANEL_BORDER_ACTIVE = "cyan";
20
- export declare const PANEL_BORDER_INACTIVE = "gray";
21
- export declare const dashboardCommand: Command;
22
- //# sourceMappingURL=dashboard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,WAAW,QAAQ,CAAC;AACjC,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAC7C,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAE9C,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAC1C,eAAO,MAAM,qBAAqB,SAAS,CAAC;AAuH5C,eAAO,MAAM,gBAAgB,SA+RzB,CAAC"}