spidersan 0.10.0 → 0.20.2

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 (430) hide show
  1. package/CHANGELOG.md +171 -0
  2. package/README.md +39 -280
  3. package/dist/bin/command-registry.d.ts +25 -0
  4. package/dist/bin/command-registry.d.ts.map +1 -0
  5. package/dist/bin/command-registry.js +29 -0
  6. package/dist/bin/command-registry.js.map +1 -0
  7. package/dist/bin/spidersan.d.ts +7 -0
  8. package/dist/bin/spidersan.d.ts.map +1 -1
  9. package/dist/bin/spidersan.js +38 -57
  10. package/dist/bin/spidersan.js.map +1 -1
  11. package/dist/commands/cleanup.d.ts.map +1 -1
  12. package/dist/commands/cleanup.js +17 -3
  13. package/dist/commands/cleanup.js.map +1 -1
  14. package/dist/commands/config.d.ts.map +1 -1
  15. package/dist/commands/config.js +11 -39
  16. package/dist/commands/config.js.map +1 -1
  17. package/dist/commands/conflicts.d.ts +22 -0
  18. package/dist/commands/conflicts.d.ts.map +1 -1
  19. package/dist/commands/conflicts.js +459 -256
  20. package/dist/commands/conflicts.js.map +1 -1
  21. package/dist/commands/cross-conflicts.d.ts.map +1 -1
  22. package/dist/commands/cross-conflicts.js +7 -8
  23. package/dist/commands/cross-conflicts.js.map +1 -1
  24. package/dist/commands/depends.d.ts +4 -1
  25. package/dist/commands/depends.d.ts.map +1 -1
  26. package/dist/commands/depends.js +35 -8
  27. package/dist/commands/depends.js.map +1 -1
  28. package/dist/commands/doctor.d.ts.map +1 -1
  29. package/dist/commands/doctor.js +25 -7
  30. package/dist/commands/doctor.js.map +1 -1
  31. package/dist/commands/git-watch.d.ts +1 -1
  32. package/dist/commands/git-watch.js +1 -1
  33. package/dist/commands/github-sync.d.ts +33 -0
  34. package/dist/commands/github-sync.d.ts.map +1 -1
  35. package/dist/commands/github-sync.js +68 -57
  36. package/dist/commands/github-sync.js.map +1 -1
  37. package/dist/commands/index.d.ts +2 -13
  38. package/dist/commands/index.d.ts.map +1 -1
  39. package/dist/commands/index.js +5 -20
  40. package/dist/commands/index.js.map +1 -1
  41. package/dist/commands/merge-order.d.ts.map +1 -1
  42. package/dist/commands/merge-order.js +8 -4
  43. package/dist/commands/merge-order.js.map +1 -1
  44. package/dist/commands/merged.d.ts.map +1 -1
  45. package/dist/commands/merged.js +5 -1
  46. package/dist/commands/merged.js.map +1 -1
  47. package/dist/commands/pr-check.d.ts +24 -0
  48. package/dist/commands/pr-check.d.ts.map +1 -0
  49. package/dist/commands/pr-check.js +85 -0
  50. package/dist/commands/pr-check.js.map +1 -0
  51. package/dist/commands/ready-check.d.ts.map +1 -1
  52. package/dist/commands/ready-check.js +6 -3
  53. package/dist/commands/ready-check.js.map +1 -1
  54. package/dist/commands/register.d.ts +5 -0
  55. package/dist/commands/register.d.ts.map +1 -1
  56. package/dist/commands/register.js +14 -1
  57. package/dist/commands/register.js.map +1 -1
  58. package/dist/commands/registry-sync.d.ts.map +1 -1
  59. package/dist/commands/registry-sync.js +12 -46
  60. package/dist/commands/registry-sync.js.map +1 -1
  61. package/dist/commands/stale.d.ts.map +1 -1
  62. package/dist/commands/stale.js +8 -3
  63. package/dist/commands/stale.js.map +1 -1
  64. package/dist/commands/sync.d.ts +14 -1
  65. package/dist/commands/sync.d.ts.map +1 -1
  66. package/dist/commands/sync.js +49 -31
  67. package/dist/commands/sync.js.map +1 -1
  68. package/dist/commands/verify-trunk.d.ts +18 -0
  69. package/dist/commands/verify-trunk.d.ts.map +1 -0
  70. package/dist/commands/verify-trunk.js +77 -0
  71. package/dist/commands/verify-trunk.js.map +1 -0
  72. package/dist/commands/watch.d.ts +0 -1
  73. package/dist/commands/watch.d.ts.map +1 -1
  74. package/dist/commands/watch.js +50 -77
  75. package/dist/commands/watch.js.map +1 -1
  76. package/dist/index.d.ts +0 -3
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +0 -3
  79. package/dist/index.js.map +1 -1
  80. package/dist/lib/activity.d.ts.map +1 -1
  81. package/dist/lib/activity.js +6 -2
  82. package/dist/lib/activity.js.map +1 -1
  83. package/dist/lib/ai/context-builder.d.ts.map +1 -1
  84. package/dist/lib/ai/context-builder.js +19 -6
  85. package/dist/lib/ai/context-builder.js.map +1 -1
  86. package/dist/lib/ai/event-handler.d.ts.map +1 -1
  87. package/dist/lib/ai/event-handler.js +15 -2
  88. package/dist/lib/ai/event-handler.js.map +1 -1
  89. package/dist/lib/ai/reasoner.d.ts.map +1 -1
  90. package/dist/lib/ai/reasoner.js +63 -82
  91. package/dist/lib/ai/reasoner.js.map +1 -1
  92. package/dist/lib/ai/setup.d.ts +1 -1
  93. package/dist/lib/ai/setup.d.ts.map +1 -1
  94. package/dist/lib/ai/types.d.ts.map +1 -1
  95. package/dist/lib/ai/types.js +5 -2
  96. package/dist/lib/ai/types.js.map +1 -1
  97. package/dist/lib/ast.d.ts +10 -2
  98. package/dist/lib/ast.d.ts.map +1 -1
  99. package/dist/lib/ast.js +52 -27
  100. package/dist/lib/ast.js.map +1 -1
  101. package/dist/lib/carries.d.ts +22 -0
  102. package/dist/lib/carries.d.ts.map +1 -0
  103. package/dist/lib/carries.js +56 -0
  104. package/dist/lib/carries.js.map +1 -0
  105. package/dist/lib/colony-subscriber.d.ts +1 -1
  106. package/dist/lib/colony-subscriber.js +1 -1
  107. package/dist/lib/config.d.ts +2 -2
  108. package/dist/lib/config.d.ts.map +1 -1
  109. package/dist/lib/config.js +13 -8
  110. package/dist/lib/config.js.map +1 -1
  111. package/dist/lib/conflict-renderer.d.ts.map +1 -1
  112. package/dist/lib/conflict-renderer.js +17 -34
  113. package/dist/lib/conflict-renderer.js.map +1 -1
  114. package/dist/lib/ecosystem-env.d.ts +33 -0
  115. package/dist/lib/ecosystem-env.d.ts.map +1 -0
  116. package/dist/lib/ecosystem-env.js +62 -0
  117. package/dist/lib/ecosystem-env.js.map +1 -0
  118. package/dist/lib/git-events-subscriber.d.ts +27 -0
  119. package/dist/lib/git-events-subscriber.d.ts.map +1 -1
  120. package/dist/lib/git-events-subscriber.js +149 -58
  121. package/dist/lib/git-events-subscriber.js.map +1 -1
  122. package/dist/lib/git-merge-analyzer.d.ts +38 -0
  123. package/dist/lib/git-merge-analyzer.d.ts.map +1 -0
  124. package/dist/lib/git-merge-analyzer.js +23 -0
  125. package/dist/lib/git-merge-analyzer.js.map +1 -0
  126. package/dist/lib/git.d.ts +88 -0
  127. package/dist/lib/git.d.ts.map +1 -1
  128. package/dist/lib/git.js +499 -9
  129. package/dist/lib/git.js.map +1 -1
  130. package/dist/lib/github.d.ts +69 -1
  131. package/dist/lib/github.d.ts.map +1 -1
  132. package/dist/lib/github.js +230 -16
  133. package/dist/lib/github.js.map +1 -1
  134. package/dist/lib/graph.d.ts +15 -0
  135. package/dist/lib/graph.d.ts.map +1 -1
  136. package/dist/lib/graph.js +31 -0
  137. package/dist/lib/graph.js.map +1 -1
  138. package/dist/lib/machine.d.ts +14 -0
  139. package/dist/lib/machine.d.ts.map +1 -0
  140. package/dist/lib/machine.js +38 -0
  141. package/dist/lib/machine.js.map +1 -0
  142. package/dist/lib/notify.d.ts +68 -0
  143. package/dist/lib/notify.d.ts.map +1 -0
  144. package/dist/lib/notify.js +111 -0
  145. package/dist/lib/notify.js.map +1 -0
  146. package/dist/lib/outline.d.ts +6 -0
  147. package/dist/lib/outline.d.ts.map +1 -0
  148. package/dist/lib/outline.js +60 -0
  149. package/dist/lib/outline.js.map +1 -0
  150. package/dist/lib/push-registry.d.ts +22 -0
  151. package/dist/lib/push-registry.d.ts.map +1 -0
  152. package/dist/lib/push-registry.js +21 -0
  153. package/dist/lib/push-registry.js.map +1 -0
  154. package/dist/lib/reconcile.d.ts +100 -0
  155. package/dist/lib/reconcile.d.ts.map +1 -0
  156. package/dist/lib/reconcile.js +121 -0
  157. package/dist/lib/reconcile.js.map +1 -0
  158. package/dist/lib/security.d.ts +1 -6
  159. package/dist/lib/security.d.ts.map +1 -1
  160. package/dist/lib/security.js +1 -11
  161. package/dist/lib/security.js.map +1 -1
  162. package/dist/lib/semantic-analysis.d.ts +31 -0
  163. package/dist/lib/semantic-analysis.d.ts.map +1 -0
  164. package/dist/lib/semantic-analysis.js +120 -0
  165. package/dist/lib/semantic-analysis.js.map +1 -0
  166. package/dist/lib/supabase-credentials.d.ts +36 -0
  167. package/dist/lib/supabase-credentials.d.ts.map +1 -0
  168. package/dist/lib/supabase-credentials.js +43 -0
  169. package/dist/lib/supabase-credentials.js.map +1 -0
  170. package/dist/lib/trunk.d.ts +39 -0
  171. package/dist/lib/trunk.d.ts.map +1 -0
  172. package/dist/lib/trunk.js +116 -0
  173. package/dist/lib/trunk.js.map +1 -0
  174. package/dist/storage/adapter.d.ts +20 -1
  175. package/dist/storage/adapter.d.ts.map +1 -1
  176. package/dist/storage/branch-registry-store.d.ts +1 -1
  177. package/dist/storage/branch-registry-store.d.ts.map +1 -1
  178. package/dist/storage/factory.d.ts +0 -4
  179. package/dist/storage/factory.d.ts.map +1 -1
  180. package/dist/storage/factory.js +2 -26
  181. package/dist/storage/factory.js.map +1 -1
  182. package/dist/storage/json-branch-registry-store.d.ts +1 -1
  183. package/dist/storage/json-branch-registry-store.d.ts.map +1 -1
  184. package/dist/storage/json-branch-registry-store.js +33 -7
  185. package/dist/storage/json-branch-registry-store.js.map +1 -1
  186. package/dist/storage/local.d.ts +1 -1
  187. package/dist/storage/local.d.ts.map +1 -1
  188. package/dist/storage/local.js +2 -2
  189. package/dist/storage/local.js.map +1 -1
  190. package/dist/storage/memory-branch-registry-store.d.ts +1 -1
  191. package/dist/storage/memory-branch-registry-store.d.ts.map +1 -1
  192. package/dist/storage/memory-branch-registry-store.js +4 -1
  193. package/dist/storage/memory-branch-registry-store.js.map +1 -1
  194. package/dist/storage/supabase-registry-sync-client-impl.d.ts +1 -7
  195. package/dist/storage/supabase-registry-sync-client-impl.d.ts.map +1 -1
  196. package/dist/storage/supabase-registry-sync-client-impl.js +17 -61
  197. package/dist/storage/supabase-registry-sync-client-impl.js.map +1 -1
  198. package/dist/storage/supabase-registry-sync-client.d.ts +1 -1
  199. package/dist/storage/supabase-registry-sync-client.d.ts.map +1 -1
  200. package/dist/storage/supabase.d.ts +3 -9
  201. package/dist/storage/supabase.d.ts.map +1 -1
  202. package/dist/storage/supabase.js +4 -22
  203. package/dist/storage/supabase.js.map +1 -1
  204. package/dist/types/cloud.d.ts +1 -0
  205. package/dist/types/cloud.d.ts.map +1 -1
  206. package/package.json +88 -90
  207. package/dist/commands/activate.d.ts +0 -9
  208. package/dist/commands/activate.d.ts.map +0 -1
  209. package/dist/commands/activate.js +0 -45
  210. package/dist/commands/activate.js.map +0 -1
  211. package/dist/commands/active-windows.d.ts +0 -16
  212. package/dist/commands/active-windows.d.ts.map +0 -1
  213. package/dist/commands/active-windows.js +0 -373
  214. package/dist/commands/active-windows.js.map +0 -1
  215. package/dist/commands/ai.d.ts +0 -15
  216. package/dist/commands/ai.d.ts.map +0 -1
  217. package/dist/commands/ai.js +0 -498
  218. package/dist/commands/ai.js.map +0 -1
  219. package/dist/commands/audit-mark.d.ts +0 -12
  220. package/dist/commands/audit-mark.d.ts.map +0 -1
  221. package/dist/commands/audit-mark.js +0 -204
  222. package/dist/commands/audit-mark.js.map +0 -1
  223. package/dist/commands/auto.d.ts +0 -8
  224. package/dist/commands/auto.d.ts.map +0 -1
  225. package/dist/commands/auto.js +0 -207
  226. package/dist/commands/auto.js.map +0 -1
  227. package/dist/commands/bot.d.ts +0 -16
  228. package/dist/commands/bot.d.ts.map +0 -1
  229. package/dist/commands/bot.js +0 -416
  230. package/dist/commands/bot.js.map +0 -1
  231. package/dist/commands/close.d.ts +0 -9
  232. package/dist/commands/close.d.ts.map +0 -1
  233. package/dist/commands/close.js +0 -129
  234. package/dist/commands/close.js.map +0 -1
  235. package/dist/commands/collab-sync.d.ts +0 -14
  236. package/dist/commands/collab-sync.d.ts.map +0 -1
  237. package/dist/commands/collab-sync.js +0 -264
  238. package/dist/commands/collab-sync.js.map +0 -1
  239. package/dist/commands/collab.d.ts +0 -6
  240. package/dist/commands/collab.d.ts.map +0 -1
  241. package/dist/commands/collab.js +0 -103
  242. package/dist/commands/collab.js.map +0 -1
  243. package/dist/commands/completions.d.ts +0 -8
  244. package/dist/commands/completions.d.ts.map +0 -1
  245. package/dist/commands/completions.js +0 -83
  246. package/dist/commands/completions.js.map +0 -1
  247. package/dist/commands/daily.d.ts +0 -7
  248. package/dist/commands/daily.d.ts.map +0 -1
  249. package/dist/commands/daily.js +0 -171
  250. package/dist/commands/daily.js.map +0 -1
  251. package/dist/commands/dashboard.d.ts +0 -22
  252. package/dist/commands/dashboard.d.ts.map +0 -1
  253. package/dist/commands/dashboard.js +0 -401
  254. package/dist/commands/dashboard.js.map +0 -1
  255. package/dist/commands/demo.d.ts +0 -3
  256. package/dist/commands/demo.d.ts.map +0 -1
  257. package/dist/commands/demo.js +0 -118
  258. package/dist/commands/demo.js.map +0 -1
  259. package/dist/commands/ecosystem-loader.d.ts +0 -14
  260. package/dist/commands/ecosystem-loader.d.ts.map +0 -1
  261. package/dist/commands/ecosystem-loader.js +0 -90
  262. package/dist/commands/ecosystem-loader.js.map +0 -1
  263. package/dist/commands/fleet-status.d.ts +0 -14
  264. package/dist/commands/fleet-status.d.ts.map +0 -1
  265. package/dist/commands/fleet-status.js +0 -127
  266. package/dist/commands/fleet-status.js.map +0 -1
  267. package/dist/commands/inbox.d.ts +0 -3
  268. package/dist/commands/inbox.d.ts.map +0 -1
  269. package/dist/commands/inbox.js +0 -120
  270. package/dist/commands/inbox.js.map +0 -1
  271. package/dist/commands/intent-scan.d.ts +0 -17
  272. package/dist/commands/intent-scan.d.ts.map +0 -1
  273. package/dist/commands/intent-scan.js +0 -336
  274. package/dist/commands/intent-scan.js.map +0 -1
  275. package/dist/commands/key-import.d.ts +0 -3
  276. package/dist/commands/key-import.d.ts.map +0 -1
  277. package/dist/commands/key-import.js +0 -54
  278. package/dist/commands/key-import.js.map +0 -1
  279. package/dist/commands/keygen.d.ts +0 -3
  280. package/dist/commands/keygen.d.ts.map +0 -1
  281. package/dist/commands/keygen.js +0 -53
  282. package/dist/commands/keygen.js.map +0 -1
  283. package/dist/commands/keys.d.ts +0 -3
  284. package/dist/commands/keys.d.ts.map +0 -1
  285. package/dist/commands/keys.js +0 -56
  286. package/dist/commands/keys.js.map +0 -1
  287. package/dist/commands/lock.d.ts +0 -11
  288. package/dist/commands/lock.d.ts.map +0 -1
  289. package/dist/commands/lock.js +0 -257
  290. package/dist/commands/lock.js.map +0 -1
  291. package/dist/commands/mcp-health.d.ts +0 -3
  292. package/dist/commands/mcp-health.d.ts.map +0 -1
  293. package/dist/commands/mcp-health.js +0 -305
  294. package/dist/commands/mcp-health.js.map +0 -1
  295. package/dist/commands/mcp-restart.d.ts +0 -3
  296. package/dist/commands/mcp-restart.d.ts.map +0 -1
  297. package/dist/commands/mcp-restart.js +0 -176
  298. package/dist/commands/mcp-restart.js.map +0 -1
  299. package/dist/commands/monitor.d.ts +0 -3
  300. package/dist/commands/monitor.d.ts.map +0 -1
  301. package/dist/commands/monitor.js +0 -153
  302. package/dist/commands/monitor.js.map +0 -1
  303. package/dist/commands/msg-read.d.ts +0 -3
  304. package/dist/commands/msg-read.d.ts.map +0 -1
  305. package/dist/commands/msg-read.js +0 -95
  306. package/dist/commands/msg-read.js.map +0 -1
  307. package/dist/commands/pulse.d.ts +0 -13
  308. package/dist/commands/pulse.d.ts.map +0 -1
  309. package/dist/commands/pulse.js +0 -174
  310. package/dist/commands/pulse.js.map +0 -1
  311. package/dist/commands/queen.d.ts +0 -25
  312. package/dist/commands/queen.d.ts.map +0 -1
  313. package/dist/commands/queen.js +0 -326
  314. package/dist/commands/queen.js.map +0 -1
  315. package/dist/commands/radar.d.ts +0 -3
  316. package/dist/commands/radar.d.ts.map +0 -1
  317. package/dist/commands/radar.js +0 -147
  318. package/dist/commands/radar.js.map +0 -1
  319. package/dist/commands/rescue.d.ts +0 -11
  320. package/dist/commands/rescue.d.ts.map +0 -1
  321. package/dist/commands/rescue.js +0 -147
  322. package/dist/commands/rescue.js.map +0 -1
  323. package/dist/commands/semantic.d.ts +0 -3
  324. package/dist/commands/semantic.d.ts.map +0 -1
  325. package/dist/commands/semantic.js +0 -62
  326. package/dist/commands/semantic.js.map +0 -1
  327. package/dist/commands/send.d.ts +0 -3
  328. package/dist/commands/send.d.ts.map +0 -1
  329. package/dist/commands/send.js +0 -121
  330. package/dist/commands/send.js.map +0 -1
  331. package/dist/commands/status.d.ts +0 -9
  332. package/dist/commands/status.d.ts.map +0 -1
  333. package/dist/commands/status.js +0 -41
  334. package/dist/commands/status.js.map +0 -1
  335. package/dist/commands/sync-advisor.d.ts +0 -14
  336. package/dist/commands/sync-advisor.d.ts.map +0 -1
  337. package/dist/commands/sync-advisor.js +0 -110
  338. package/dist/commands/sync-advisor.js.map +0 -1
  339. package/dist/commands/tension.d.ts +0 -12
  340. package/dist/commands/tension.d.ts.map +0 -1
  341. package/dist/commands/tension.js +0 -262
  342. package/dist/commands/tension.js.map +0 -1
  343. package/dist/commands/torrent.d.ts +0 -9
  344. package/dist/commands/torrent.d.ts.map +0 -1
  345. package/dist/commands/torrent.js +0 -470
  346. package/dist/commands/torrent.js.map +0 -1
  347. package/dist/commands/tui.d.ts +0 -8
  348. package/dist/commands/tui.d.ts.map +0 -1
  349. package/dist/commands/tui.js +0 -15
  350. package/dist/commands/tui.js.map +0 -1
  351. package/dist/commands/wake.d.ts +0 -9
  352. package/dist/commands/wake.d.ts.map +0 -1
  353. package/dist/commands/wake.js +0 -188
  354. package/dist/commands/wake.js.map +0 -1
  355. package/dist/commands/welcome.d.ts +0 -8
  356. package/dist/commands/welcome.d.ts.map +0 -1
  357. package/dist/commands/welcome.js +0 -85
  358. package/dist/commands/welcome.js.map +0 -1
  359. package/dist/commands/who-owns.d.ts +0 -3
  360. package/dist/commands/who-owns.d.ts.map +0 -1
  361. package/dist/commands/who-owns.js +0 -68
  362. package/dist/commands/who-owns.js.map +0 -1
  363. package/dist/commands/who-touched.d.ts +0 -9
  364. package/dist/commands/who-touched.d.ts.map +0 -1
  365. package/dist/commands/who-touched.js +0 -198
  366. package/dist/commands/who-touched.js.map +0 -1
  367. package/dist/lib/crdt.d.ts +0 -83
  368. package/dist/lib/crdt.d.ts.map +0 -1
  369. package/dist/lib/crdt.js +0 -160
  370. package/dist/lib/crdt.js.map +0 -1
  371. package/dist/lib/daily-bridge.d.ts +0 -41
  372. package/dist/lib/daily-bridge.d.ts.map +0 -1
  373. package/dist/lib/daily-bridge.js +0 -186
  374. package/dist/lib/daily-bridge.js.map +0 -1
  375. package/dist/lib/hub.d.ts +0 -31
  376. package/dist/lib/hub.d.ts.map +0 -1
  377. package/dist/lib/hub.js +0 -92
  378. package/dist/lib/hub.js.map +0 -1
  379. package/dist/lib/license.d.ts +0 -61
  380. package/dist/lib/license.d.ts.map +0 -1
  381. package/dist/lib/license.js +0 -171
  382. package/dist/lib/license.js.map +0 -1
  383. package/dist/lib/pulse-renderer.d.ts +0 -19
  384. package/dist/lib/pulse-renderer.d.ts.map +0 -1
  385. package/dist/lib/pulse-renderer.js +0 -108
  386. package/dist/lib/pulse-renderer.js.map +0 -1
  387. package/dist/lib/repo-scanner.d.ts +0 -32
  388. package/dist/lib/repo-scanner.d.ts.map +0 -1
  389. package/dist/lib/repo-scanner.js +0 -160
  390. package/dist/lib/repo-scanner.js.map +0 -1
  391. package/dist/lib/salvage-analyzer.d.ts +0 -29
  392. package/dist/lib/salvage-analyzer.d.ts.map +0 -1
  393. package/dist/lib/salvage-analyzer.js +0 -121
  394. package/dist/lib/salvage-analyzer.js.map +0 -1
  395. package/dist/lib/session-logger.d.ts +0 -54
  396. package/dist/lib/session-logger.d.ts.map +0 -1
  397. package/dist/lib/session-logger.js +0 -136
  398. package/dist/lib/session-logger.js.map +0 -1
  399. package/dist/lib/symbol-extractor.d.ts +0 -41
  400. package/dist/lib/symbol-extractor.d.ts.map +0 -1
  401. package/dist/lib/symbol-extractor.js +0 -78
  402. package/dist/lib/symbol-extractor.js.map +0 -1
  403. package/dist/storage/git-messages.d.ts +0 -53
  404. package/dist/storage/git-messages.d.ts.map +0 -1
  405. package/dist/storage/git-messages.js +0 -376
  406. package/dist/storage/git-messages.js.map +0 -1
  407. package/dist/storage/local-messages.d.ts +0 -37
  408. package/dist/storage/local-messages.d.ts.map +0 -1
  409. package/dist/storage/local-messages.js +0 -151
  410. package/dist/storage/local-messages.js.map +0 -1
  411. package/dist/storage/message-adapter.d.ts +0 -86
  412. package/dist/storage/message-adapter.d.ts.map +0 -1
  413. package/dist/storage/message-adapter.js +0 -28
  414. package/dist/storage/message-adapter.js.map +0 -1
  415. package/dist/storage/message-factory.d.ts +0 -36
  416. package/dist/storage/message-factory.d.ts.map +0 -1
  417. package/dist/storage/message-factory.js +0 -99
  418. package/dist/storage/message-factory.js.map +0 -1
  419. package/dist/storage/mycmail-adapter.d.ts +0 -38
  420. package/dist/storage/mycmail-adapter.d.ts.map +0 -1
  421. package/dist/storage/mycmail-adapter.js +0 -300
  422. package/dist/storage/mycmail-adapter.js.map +0 -1
  423. package/dist/tui/dashboard.d.ts +0 -35
  424. package/dist/tui/dashboard.d.ts.map +0 -1
  425. package/dist/tui/dashboard.js +0 -199
  426. package/dist/tui/dashboard.js.map +0 -1
  427. package/dist/tui/screen.d.ts +0 -14
  428. package/dist/tui/screen.d.ts.map +0 -1
  429. package/dist/tui/screen.js +0 -138
  430. package/dist/tui/screen.js.map +0 -1
@@ -1,83 +0,0 @@
1
- /**
2
- * Spidersan CRDT State
3
- *
4
- * Decentralized symbol locking using Yjs CRDTs.
5
- * Allows agents to claim symbols before editing, preventing conflicts.
6
- *
7
- * @module crdt
8
- */
9
- import * as Y from 'yjs';
10
- export interface SymbolLock {
11
- symbolId: string;
12
- agentId: string;
13
- astHash: string;
14
- timestamp: number;
15
- description?: string;
16
- }
17
- export interface SwarmStateOptions {
18
- agentId: string;
19
- onUpdate?: (update: Uint8Array) => void;
20
- }
21
- export declare class SwarmState {
22
- doc: Y.Doc;
23
- locks: Y.Map<SymbolLock>;
24
- intents: Y.Map<string>;
25
- agentId: string;
26
- private onUpdate?;
27
- constructor(options: SwarmStateOptions);
28
- /**
29
- * Try to acquire a lock on a symbol
30
- * Returns true if lock acquired, false if already locked by another agent
31
- */
32
- acquireLock(symbolId: string, astHash: string, description?: string): boolean;
33
- /**
34
- * Release a lock on a symbol
35
- */
36
- releaseLock(symbolId: string): boolean;
37
- /**
38
- * Release all locks held by this agent
39
- */
40
- releaseAllLocks(): number;
41
- /**
42
- * Get lock info for a symbol
43
- */
44
- getLock(symbolId: string): SymbolLock | undefined;
45
- /**
46
- * Check if a symbol is locked by another agent
47
- */
48
- isLockedByOther(symbolId: string): boolean;
49
- /**
50
- * Get all locks held by a specific agent
51
- */
52
- getAgentLocks(agentId: string): SymbolLock[];
53
- /**
54
- * Get all active locks
55
- */
56
- getAllLocks(): SymbolLock[];
57
- /**
58
- * Set current intent for this agent
59
- */
60
- setIntent(intent: string): void;
61
- /**
62
- * Get intent for an agent
63
- */
64
- getIntent(agentId: string): string | undefined;
65
- /**
66
- * Get all agent intents
67
- */
68
- getAllIntents(): Map<string, string>;
69
- /**
70
- * Apply an update from another agent
71
- */
72
- applyUpdate(update: Uint8Array): void;
73
- /**
74
- * Get the current state as an update (for initial sync)
75
- */
76
- getStateAsUpdate(): Uint8Array;
77
- /**
78
- * Merge state from another SwarmState instance
79
- */
80
- mergeFrom(other: SwarmState): void;
81
- }
82
- export declare function createSwarmState(agentId: string, onUpdate?: (update: Uint8Array) => void): SwarmState;
83
- //# sourceMappingURL=crdt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crdt.d.ts","sourceRoot":"","sources":["../../src/lib/crdt.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,MAAM,WAAW,UAAU;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;CAC3C;AAED,qBAAa,UAAU;IACZ,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;IACX,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzB,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,CAA+B;gBAEpC,OAAO,EAAE,iBAAiB;IAgBtC;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO;IA0B7E;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAStC;;OAEG;IACH,eAAe,IAAI,MAAM;IAWzB;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIjD;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAK1C;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE;IAU5C;;OAEG;IACH,WAAW,IAAI,UAAU,EAAE;IAM3B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI9C;;OAEG;IACH,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAQpC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAIrC;;OAEG;IACH,gBAAgB,IAAI,UAAU;IAI9B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;CAIrC;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,UAAU,CAErG"}
package/dist/lib/crdt.js DELETED
@@ -1,160 +0,0 @@
1
- /**
2
- * Spidersan CRDT State
3
- *
4
- * Decentralized symbol locking using Yjs CRDTs.
5
- * Allows agents to claim symbols before editing, preventing conflicts.
6
- *
7
- * @module crdt
8
- */
9
- import * as Y from 'yjs';
10
- export class SwarmState {
11
- doc;
12
- locks;
13
- intents; // agentId -> current intent
14
- agentId;
15
- onUpdate;
16
- constructor(options) {
17
- this.doc = new Y.Doc();
18
- this.agentId = options.agentId;
19
- this.onUpdate = options.onUpdate;
20
- this.locks = this.doc.getMap('locks');
21
- this.intents = this.doc.getMap('intents');
22
- // Propagate updates to sync callback
23
- this.doc.on('update', (update) => {
24
- if (this.onUpdate) {
25
- this.onUpdate(update);
26
- }
27
- });
28
- }
29
- /**
30
- * Try to acquire a lock on a symbol
31
- * Returns true if lock acquired, false if already locked by another agent
32
- */
33
- acquireLock(symbolId, astHash, description) {
34
- const existingLock = this.locks.get(symbolId);
35
- // Check if locked by another agent
36
- if (existingLock && existingLock.agentId !== this.agentId) {
37
- // Check if lock is stale (older than 30 minutes)
38
- const staleThreshold = 30 * 60 * 1000;
39
- if (Date.now() - existingLock.timestamp > staleThreshold) {
40
- console.warn(`🕷️ Taking over stale lock on ${symbolId} from ${existingLock.agentId}`);
41
- }
42
- else {
43
- return false; // Still locked by active agent
44
- }
45
- }
46
- // Acquire or refresh lock
47
- const lock = {
48
- symbolId,
49
- agentId: this.agentId,
50
- astHash,
51
- timestamp: Date.now(),
52
- description,
53
- };
54
- this.locks.set(symbolId, lock);
55
- return true;
56
- }
57
- /**
58
- * Release a lock on a symbol
59
- */
60
- releaseLock(symbolId) {
61
- const lock = this.locks.get(symbolId);
62
- if (lock && lock.agentId === this.agentId) {
63
- this.locks.delete(symbolId);
64
- return true;
65
- }
66
- return false;
67
- }
68
- /**
69
- * Release all locks held by this agent
70
- */
71
- releaseAllLocks() {
72
- let released = 0;
73
- this.locks.forEach((lock, symbolId) => {
74
- if (lock.agentId === this.agentId) {
75
- this.locks.delete(symbolId);
76
- released++;
77
- }
78
- });
79
- return released;
80
- }
81
- /**
82
- * Get lock info for a symbol
83
- */
84
- getLock(symbolId) {
85
- return this.locks.get(symbolId);
86
- }
87
- /**
88
- * Check if a symbol is locked by another agent
89
- */
90
- isLockedByOther(symbolId) {
91
- const lock = this.locks.get(symbolId);
92
- return lock !== undefined && lock.agentId !== this.agentId;
93
- }
94
- /**
95
- * Get all locks held by a specific agent
96
- */
97
- getAgentLocks(agentId) {
98
- const locks = [];
99
- this.locks.forEach((lock) => {
100
- if (lock.agentId === agentId) {
101
- locks.push(lock);
102
- }
103
- });
104
- return locks;
105
- }
106
- /**
107
- * Get all active locks
108
- */
109
- getAllLocks() {
110
- const locks = [];
111
- this.locks.forEach((lock) => locks.push(lock));
112
- return locks;
113
- }
114
- /**
115
- * Set current intent for this agent
116
- */
117
- setIntent(intent) {
118
- this.intents.set(this.agentId, intent);
119
- }
120
- /**
121
- * Get intent for an agent
122
- */
123
- getIntent(agentId) {
124
- return this.intents.get(agentId);
125
- }
126
- /**
127
- * Get all agent intents
128
- */
129
- getAllIntents() {
130
- const intents = new Map();
131
- this.intents.forEach((intent, agentId) => {
132
- intents.set(agentId, intent);
133
- });
134
- return intents;
135
- }
136
- /**
137
- * Apply an update from another agent
138
- */
139
- applyUpdate(update) {
140
- Y.applyUpdate(this.doc, update);
141
- }
142
- /**
143
- * Get the current state as an update (for initial sync)
144
- */
145
- getStateAsUpdate() {
146
- return Y.encodeStateAsUpdate(this.doc);
147
- }
148
- /**
149
- * Merge state from another SwarmState instance
150
- */
151
- mergeFrom(other) {
152
- const update = other.getStateAsUpdate();
153
- this.applyUpdate(update);
154
- }
155
- }
156
- // Factory function for creating connected swarm states
157
- export function createSwarmState(agentId, onUpdate) {
158
- return new SwarmState({ agentId, onUpdate });
159
- }
160
- //# sourceMappingURL=crdt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crdt.js","sourceRoot":"","sources":["../../src/lib/crdt.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- /**
2
- * Daily Bridge — L2
3
- * Reads treebird-internal daily collab files and filters for branch-relevant entries.
4
- * Read-only: never writes to collab (toak owns writes).
5
- */
6
- export interface DailyEntry {
7
- date: string;
8
- time: string;
9
- agent: string;
10
- agentId: string;
11
- content: string;
12
- excerpt: string;
13
- matchedTerms: string[];
14
- }
15
- export interface DailyBridgeOptions {
16
- /** Path to daily collab directory. Defaults to TREEBIRD_DAILY or ~/Dev/treebird-internal/collab/daily */
17
- dailyDir?: string;
18
- /** Only parse this specific date (YYYY-MM-DD) */
19
- date?: string;
20
- /** How many days back to scan (default 14) */
21
- lookback?: number;
22
- /** Extra terms to match (branch names, file paths, etc.) */
23
- terms?: string[];
24
- /** Agent IDs to filter by */
25
- agents?: string[];
26
- /** If true, only return entries that matched at least one term */
27
- requireMatch?: boolean;
28
- }
29
- /**
30
- * Query daily collab files for branch-relevant entries.
31
- */
32
- export declare function queryDaily(options?: DailyBridgeOptions): DailyEntry[];
33
- /**
34
- * Get today's date string YYYY-MM-DD
35
- */
36
- export declare function todayStr(): string;
37
- /**
38
- * List all available daily dates (newest first)
39
- */
40
- export declare function listDailyDates(dailyDir?: string): string[];
41
- //# sourceMappingURL=daily-bridge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daily-bridge.d.ts","sourceRoot":"","sources":["../../src/lib/daily-bridge.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IAC/B,yGAAyG;IACzG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,kEAAkE;IAClE,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAqID;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,kBAAuB,GAAG,UAAU,EAAE,CA2CzE;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAEjC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAQ1D"}
@@ -1,186 +0,0 @@
1
- /**
2
- * Daily Bridge — L2
3
- * Reads treebird-internal daily collab files and filters for branch-relevant entries.
4
- * Read-only: never writes to collab (toak owns writes).
5
- */
6
- import { existsSync, readdirSync, readFileSync } from 'fs';
7
- import { join } from 'path';
8
- import { homedir } from 'os';
9
- const BRANCH_KEYWORDS = [
10
- 'merge', 'cherry-pick', 'cherry pick', 'rebase', 'conflict',
11
- 'branch', 'abandon', 'stale', 'pr', 'pull request', 'push', 'worktree',
12
- 'tidy', 'cleanup', 'register',
13
- ];
14
- const DAILY_FILE_REGEX = /^\d{4}-\d{2}-\d{2}-daily\.md$/;
15
- const AGENT_EMOJI_MAP = {
16
- '🌳': 'treesan',
17
- '🐦': 'birdsan',
18
- '🔍': 'sherlocksan',
19
- '🍄': 'mycsan',
20
- '🕷️': 'spidersan',
21
- '🤖': 'codex',
22
- '📚': 'teachersan',
23
- '🗺️': 'mappersan',
24
- '🌊': 'watsan',
25
- '🦅': 'artisan',
26
- '🐛': 'birdsan',
27
- '💎': 'nanoclaw',
28
- };
29
- function getDailyDir() {
30
- if (process.env.TREEBIRD_DAILY)
31
- return process.env.TREEBIRD_DAILY;
32
- const internal = process.env.TREEBIRD_INTERNAL
33
- || join(homedir(), 'Dev', 'treebird-internal');
34
- return join(internal, 'collab', 'daily');
35
- }
36
- function normaliseAgent(raw) {
37
- // Try emoji map first
38
- for (const [emoji, id] of Object.entries(AGENT_EMOJI_MAP)) {
39
- if (raw.includes(emoji))
40
- return id;
41
- }
42
- // Strip emoji + trim
43
- return raw.replace(/[\p{Emoji_Presentation}\p{Extended_Pictographic}]/gu, '').trim().toLowerCase();
44
- }
45
- // Known non-entry table headers (Start/Stop/Continue, etc.)
46
- const NON_ENTRY_HEADERS = new Set(['start', 'stop', 'continue', 'time', 'agent', 'entry', 'summary', 'what', 'when', 'why', 'branch', 'status', 'repo', 'owner', 'blockedby', '#']);
47
- function looksLikeTimeOrAgent(s) {
48
- // Time-like: HH:MM, "dawn", "today", "morning", "closing", "late", "evening", "--", "session", "afternoon"
49
- if (/^\d{2}:\d{2}/.test(s))
50
- return true;
51
- if (/^(dawn|today|morning|closing|late|evening|afternoon|session|--|\d+:\d+|`\d+:\d+`)$/i.test(s))
52
- return true;
53
- // Agent-like: contains emoji or known agent name
54
- if (/[\p{Emoji_Presentation}\p{Extended_Pictographic}]/u.test(s))
55
- return true;
56
- if (/\b(treesan|birdsan|sherlocksan|mycsan|spidersan|codex|artisan|watsan|nanoclaw|sasusan|mappersan|teachersan|copilot)\b/i.test(s))
57
- return true;
58
- return false;
59
- }
60
- function parseTableEntries(content, date) {
61
- const entries = [];
62
- const lines = content.split('\n');
63
- for (const line of lines) {
64
- // Match 3-column table rows: | col1 | col2 | col3 |
65
- const m = line.match(/^\|\s*([^|]+?)\s*\|\s*([^|]+?)\s*\|\s*(.+?)\s*\|?\s*$/);
66
- if (!m)
67
- continue;
68
- const time = m[1].trim();
69
- const agentRaw = m[2].trim();
70
- const entryContent = m[3].trim();
71
- // Skip separator rows
72
- if (time === '---' || agentRaw === '---' || entryContent === '---')
73
- continue;
74
- // Skip known non-entry table headers
75
- if (NON_ENTRY_HEADERS.has(time.toLowerCase()) && NON_ENTRY_HEADERS.has(agentRaw.toLowerCase()))
76
- continue;
77
- // Must look like a time/agent pattern
78
- if (!looksLikeTimeOrAgent(time) && !looksLikeTimeOrAgent(agentRaw))
79
- continue;
80
- // Content must be substantial (>20 chars) to be a real entry
81
- if (!entryContent || entryContent.length < 20)
82
- continue;
83
- const agentId = normaliseAgent(agentRaw);
84
- const excerpt = entryContent.replace(/\*\*/g, '').slice(0, 120) + (entryContent.length > 120 ? '…' : '');
85
- entries.push({
86
- date,
87
- time,
88
- agent: agentRaw,
89
- agentId,
90
- content: entryContent,
91
- excerpt,
92
- matchedTerms: [],
93
- });
94
- }
95
- return entries;
96
- }
97
- function scoreEntry(entry, terms, _agents) {
98
- const text = entry.content.toLowerCase();
99
- const matched = [];
100
- for (const term of terms) {
101
- if (text.includes(term.toLowerCase())) {
102
- matched.push(term);
103
- }
104
- }
105
- // Always match branch keywords
106
- for (const kw of BRANCH_KEYWORDS) {
107
- if (text.includes(kw) && !matched.includes(kw)) {
108
- matched.push(kw);
109
- }
110
- }
111
- return matched;
112
- }
113
- function listDailyFiles(dailyDir, lookback) {
114
- if (!existsSync(dailyDir))
115
- return [];
116
- const files = readdirSync(dailyDir)
117
- .filter(f => DAILY_FILE_REGEX.test(f))
118
- .sort()
119
- .reverse();
120
- const cutoff = new Date();
121
- cutoff.setDate(cutoff.getDate() - lookback);
122
- const cutoffStr = cutoff.toISOString().split('T')[0];
123
- return files
124
- .map(f => ({ date: f.slice(0, 10), path: join(dailyDir, f) }))
125
- .filter(f => f.date >= cutoffStr);
126
- }
127
- /**
128
- * Query daily collab files for branch-relevant entries.
129
- */
130
- export function queryDaily(options = {}) {
131
- const dailyDir = options.dailyDir || getDailyDir();
132
- const lookback = options.lookback ?? 14;
133
- const requireMatch = options.requireMatch ?? true;
134
- const terms = options.terms ?? [];
135
- const agents = options.agents ?? [];
136
- let files;
137
- if (options.date) {
138
- const p = join(dailyDir, `${options.date}-daily.md`);
139
- files = existsSync(p) ? [{ date: options.date, path: p }] : [];
140
- }
141
- else {
142
- files = listDailyFiles(dailyDir, lookback);
143
- }
144
- const results = [];
145
- for (const { date, path } of files) {
146
- let content;
147
- try {
148
- content = readFileSync(path, 'utf-8');
149
- }
150
- catch {
151
- continue;
152
- }
153
- const entries = parseTableEntries(content, date);
154
- for (const entry of entries) {
155
- // Agent filter
156
- if (agents.length > 0 && !agents.some(a => entry.agentId.includes(a.toLowerCase()))) {
157
- continue;
158
- }
159
- entry.matchedTerms = scoreEntry(entry, terms, agents);
160
- if (requireMatch && entry.matchedTerms.length === 0)
161
- continue;
162
- results.push(entry);
163
- }
164
- }
165
- return results;
166
- }
167
- /**
168
- * Get today's date string YYYY-MM-DD
169
- */
170
- export function todayStr() {
171
- return new Date().toISOString().split('T')[0];
172
- }
173
- /**
174
- * List all available daily dates (newest first)
175
- */
176
- export function listDailyDates(dailyDir) {
177
- const dir = dailyDir || getDailyDir();
178
- if (!existsSync(dir))
179
- return [];
180
- return readdirSync(dir)
181
- .filter(f => DAILY_FILE_REGEX.test(f))
182
- .map(f => f.slice(0, 10))
183
- .sort()
184
- .reverse();
185
- }
186
- //# sourceMappingURL=daily-bridge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"daily-bridge.js","sourceRoot":"","sources":["../../src/lib/daily-bridge.ts"],"names":[],"mappings":"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"}
package/dist/lib/hub.d.ts DELETED
@@ -1,31 +0,0 @@
1
- export interface ChatPayload {
2
- message: string;
3
- agent?: string;
4
- name?: string;
5
- glyph?: string;
6
- }
7
- export interface WakePayload {
8
- sender: string;
9
- reason: string;
10
- }
11
- export interface HubAdapter {
12
- postToChat(payload: ChatPayload): Promise<void>;
13
- wakeAgent(agentId: string, payload: WakePayload): Promise<boolean>;
14
- }
15
- export declare class HubClient {
16
- private readonly adapter;
17
- readonly url: string;
18
- constructor(adapter: HubAdapter, url?: string);
19
- postToChat(payload: ChatPayload): Promise<void>;
20
- notifyConflict(branch: string, conflicts: Array<{
21
- branch: string;
22
- files: string[];
23
- tier: number;
24
- }>): Promise<void>;
25
- wakeAgent(agentId: string, reason: string): Promise<boolean>;
26
- }
27
- export declare function createHubClient(options?: {
28
- url?: string;
29
- adapter?: HubAdapter;
30
- }): HubClient;
31
- //# sourceMappingURL=hub.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hub.d.ts","sourceRoot":"","sources":["../../src/lib/hub.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACvB,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtE;AAgDD,qBAAa,SAAS;IAId,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH5B,SAAgB,GAAG,EAAE,MAAM,CAAC;gBAGP,OAAO,EAAE,UAAU,EACpC,GAAG,GAAE,MAAwB;IAK3B,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/C,cAAc,CAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GACpE,OAAO,CAAC,IAAI,CAAC;IAiBV,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAWrE;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,UAAU,CAAC;CACnB,GAAG,SAAS,CAIjB"}
package/dist/lib/hub.js DELETED
@@ -1,92 +0,0 @@
1
- const DEFAULT_HUB_URL = process.env.HUB_URL || 'https://hub.treebird.uk';
2
- function warnHubError(action, error) {
3
- const message = error instanceof Error ? error.message : String(error);
4
- console.warn(`⚠️ Hub ${action} failed: ${message}`);
5
- }
6
- class FetchHubAdapter {
7
- url;
8
- constructor(url) {
9
- this.url = url;
10
- }
11
- async postToChat(payload) {
12
- try {
13
- const response = await fetch(`${this.url}/api/chat`, {
14
- method: 'POST',
15
- headers: { 'Content-Type': 'application/json' },
16
- body: JSON.stringify(payload),
17
- });
18
- if (!response.ok) {
19
- console.warn(`⚠️ Hub chat post failed: ${response.status}`);
20
- }
21
- }
22
- catch (error) {
23
- warnHubError('chat post', error);
24
- }
25
- }
26
- async wakeAgent(agentId, payload) {
27
- try {
28
- const response = await fetch(`${this.url}/api/wake/${encodeURIComponent(agentId)}`, {
29
- method: 'POST',
30
- headers: { 'Content-Type': 'application/json' },
31
- body: JSON.stringify(payload),
32
- });
33
- if (!response.ok) {
34
- console.warn(`⚠️ Hub wake failed for ${agentId}: ${response.status}`);
35
- }
36
- return response.ok;
37
- }
38
- catch (error) {
39
- warnHubError(`wake for ${agentId}`, error);
40
- return false;
41
- }
42
- }
43
- }
44
- export class HubClient {
45
- adapter;
46
- url;
47
- constructor(adapter, url = DEFAULT_HUB_URL) {
48
- this.adapter = adapter;
49
- this.url = url;
50
- }
51
- async postToChat(payload) {
52
- try {
53
- await this.adapter.postToChat(payload);
54
- }
55
- catch (error) {
56
- warnHubError('chat post', error);
57
- }
58
- }
59
- async notifyConflict(branch, conflicts) {
60
- const actionableConflicts = conflicts.filter((conflict) => conflict.tier >= 2);
61
- if (actionableConflicts.length === 0)
62
- return;
63
- const severity = actionableConflicts.some((conflict) => conflict.tier === 3)
64
- ? '🔴 TIER 3 BLOCK'
65
- : '🟠 TIER 2 PAUSE';
66
- const message = `🕷️⚠️ **Conflict Alert** on \`${branch}\`\n\n${severity}\n\nConflicting files require coordination.`;
67
- await this.postToChat({
68
- agent: 'spidersan',
69
- name: 'Spidersan',
70
- message,
71
- glyph: '🕷️',
72
- });
73
- }
74
- async wakeAgent(agentId, reason) {
75
- try {
76
- return await this.adapter.wakeAgent(agentId, {
77
- sender: 'spidersan',
78
- reason,
79
- });
80
- }
81
- catch (error) {
82
- warnHubError(`wake for ${agentId}`, error);
83
- return false;
84
- }
85
- }
86
- }
87
- export function createHubClient(options = {}) {
88
- const url = options.url || DEFAULT_HUB_URL;
89
- const adapter = options.adapter || new FetchHubAdapter(url);
90
- return new HubClient(adapter, url);
91
- }
92
- //# sourceMappingURL=hub.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hub.js","sourceRoot":"","sources":["../../src/lib/hub.ts"],"names":[],"mappings":"AAiBA,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,yBAAyB,CAAC;AAEzE,SAAS,YAAY,CAAC,MAAc,EAAE,KAAc;IAChD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,CAAC,IAAI,CAAC,UAAU,MAAM,YAAY,OAAO,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,eAAe;IACY;IAA7B,YAA6B,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAE5C,KAAK,CAAC,UAAU,CAAC,OAAoB;QACjC,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,WAAW,EAAE;gBACjD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;aAChC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,4BAA4B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAChE,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,OAAoB;QACjD,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,aAAa,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE;gBAChF,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;aAChC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,0BAA0B,OAAO,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1E,CAAC;YAED,OAAO,QAAQ,CAAC,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,YAAY,CAAC,YAAY,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;CACJ;AAED,MAAM,OAAO,SAAS;IAIG;IAHL,GAAG,CAAS;IAE5B,YACqB,OAAmB,EACpC,MAAc,eAAe;QADZ,YAAO,GAAP,OAAO,CAAY;QAGpC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAoB;QACjC,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAChB,MAAc,EACd,SAAmE;QAEnE,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QAC/E,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE7C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC;YACxE,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,iBAAiB,CAAC;QACxB,MAAM,OAAO,GAAG,iCAAiC,MAAM,SAAS,QAAQ,6CAA6C,CAAC;QAEtH,MAAM,IAAI,CAAC,UAAU,CAAC;YAClB,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,WAAW;YACjB,OAAO;YACP,KAAK,EAAE,KAAK;SACf,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,MAAc;QAC3C,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;gBACzC,MAAM,EAAE,WAAW;gBACnB,MAAM;aACT,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,YAAY,CAAC,YAAY,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;CACJ;AAED,MAAM,UAAU,eAAe,CAAC,UAG5B,EAAE;IACF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,eAAe,CAAC;IAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;IAC5D,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC"}