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.
- package/CHANGELOG.md +171 -0
- package/README.md +39 -280
- package/dist/bin/command-registry.d.ts +25 -0
- package/dist/bin/command-registry.d.ts.map +1 -0
- package/dist/bin/command-registry.js +29 -0
- package/dist/bin/command-registry.js.map +1 -0
- package/dist/bin/spidersan.d.ts +7 -0
- package/dist/bin/spidersan.d.ts.map +1 -1
- package/dist/bin/spidersan.js +38 -57
- package/dist/bin/spidersan.js.map +1 -1
- package/dist/commands/cleanup.d.ts.map +1 -1
- package/dist/commands/cleanup.js +17 -3
- package/dist/commands/cleanup.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +11 -39
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/conflicts.d.ts +22 -0
- package/dist/commands/conflicts.d.ts.map +1 -1
- package/dist/commands/conflicts.js +459 -256
- package/dist/commands/conflicts.js.map +1 -1
- package/dist/commands/cross-conflicts.d.ts.map +1 -1
- package/dist/commands/cross-conflicts.js +7 -8
- package/dist/commands/cross-conflicts.js.map +1 -1
- package/dist/commands/depends.d.ts +4 -1
- package/dist/commands/depends.d.ts.map +1 -1
- package/dist/commands/depends.js +35 -8
- package/dist/commands/depends.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +25 -7
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/git-watch.d.ts +1 -1
- package/dist/commands/git-watch.js +1 -1
- package/dist/commands/github-sync.d.ts +33 -0
- package/dist/commands/github-sync.d.ts.map +1 -1
- package/dist/commands/github-sync.js +68 -57
- package/dist/commands/github-sync.js.map +1 -1
- package/dist/commands/index.d.ts +2 -13
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +5 -20
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/merge-order.d.ts.map +1 -1
- package/dist/commands/merge-order.js +8 -4
- package/dist/commands/merge-order.js.map +1 -1
- package/dist/commands/merged.d.ts.map +1 -1
- package/dist/commands/merged.js +5 -1
- package/dist/commands/merged.js.map +1 -1
- package/dist/commands/pr-check.d.ts +24 -0
- package/dist/commands/pr-check.d.ts.map +1 -0
- package/dist/commands/pr-check.js +85 -0
- package/dist/commands/pr-check.js.map +1 -0
- package/dist/commands/ready-check.d.ts.map +1 -1
- package/dist/commands/ready-check.js +6 -3
- package/dist/commands/ready-check.js.map +1 -1
- package/dist/commands/register.d.ts +5 -0
- package/dist/commands/register.d.ts.map +1 -1
- package/dist/commands/register.js +14 -1
- package/dist/commands/register.js.map +1 -1
- package/dist/commands/registry-sync.d.ts.map +1 -1
- package/dist/commands/registry-sync.js +12 -46
- package/dist/commands/registry-sync.js.map +1 -1
- package/dist/commands/stale.d.ts.map +1 -1
- package/dist/commands/stale.js +8 -3
- package/dist/commands/stale.js.map +1 -1
- package/dist/commands/sync.d.ts +14 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +49 -31
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/verify-trunk.d.ts +18 -0
- package/dist/commands/verify-trunk.d.ts.map +1 -0
- package/dist/commands/verify-trunk.js +77 -0
- package/dist/commands/verify-trunk.js.map +1 -0
- package/dist/commands/watch.d.ts +0 -1
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +50 -77
- package/dist/commands/watch.js.map +1 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/activity.d.ts.map +1 -1
- package/dist/lib/activity.js +6 -2
- package/dist/lib/activity.js.map +1 -1
- package/dist/lib/ai/context-builder.d.ts.map +1 -1
- package/dist/lib/ai/context-builder.js +19 -6
- package/dist/lib/ai/context-builder.js.map +1 -1
- package/dist/lib/ai/event-handler.d.ts.map +1 -1
- package/dist/lib/ai/event-handler.js +15 -2
- package/dist/lib/ai/event-handler.js.map +1 -1
- package/dist/lib/ai/reasoner.d.ts.map +1 -1
- package/dist/lib/ai/reasoner.js +63 -82
- package/dist/lib/ai/reasoner.js.map +1 -1
- package/dist/lib/ai/setup.d.ts +1 -1
- package/dist/lib/ai/setup.d.ts.map +1 -1
- package/dist/lib/ai/types.d.ts.map +1 -1
- package/dist/lib/ai/types.js +5 -2
- package/dist/lib/ai/types.js.map +1 -1
- package/dist/lib/ast.d.ts +10 -2
- package/dist/lib/ast.d.ts.map +1 -1
- package/dist/lib/ast.js +52 -27
- package/dist/lib/ast.js.map +1 -1
- package/dist/lib/carries.d.ts +22 -0
- package/dist/lib/carries.d.ts.map +1 -0
- package/dist/lib/carries.js +56 -0
- package/dist/lib/carries.js.map +1 -0
- package/dist/lib/colony-subscriber.d.ts +1 -1
- package/dist/lib/colony-subscriber.js +1 -1
- package/dist/lib/config.d.ts +2 -2
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +13 -8
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/conflict-renderer.d.ts.map +1 -1
- package/dist/lib/conflict-renderer.js +17 -34
- package/dist/lib/conflict-renderer.js.map +1 -1
- package/dist/lib/ecosystem-env.d.ts +33 -0
- package/dist/lib/ecosystem-env.d.ts.map +1 -0
- package/dist/lib/ecosystem-env.js +62 -0
- package/dist/lib/ecosystem-env.js.map +1 -0
- package/dist/lib/git-events-subscriber.d.ts +27 -0
- package/dist/lib/git-events-subscriber.d.ts.map +1 -1
- package/dist/lib/git-events-subscriber.js +149 -58
- package/dist/lib/git-events-subscriber.js.map +1 -1
- package/dist/lib/git-merge-analyzer.d.ts +38 -0
- package/dist/lib/git-merge-analyzer.d.ts.map +1 -0
- package/dist/lib/git-merge-analyzer.js +23 -0
- package/dist/lib/git-merge-analyzer.js.map +1 -0
- package/dist/lib/git.d.ts +88 -0
- package/dist/lib/git.d.ts.map +1 -1
- package/dist/lib/git.js +499 -9
- package/dist/lib/git.js.map +1 -1
- package/dist/lib/github.d.ts +69 -1
- package/dist/lib/github.d.ts.map +1 -1
- package/dist/lib/github.js +230 -16
- package/dist/lib/github.js.map +1 -1
- package/dist/lib/graph.d.ts +15 -0
- package/dist/lib/graph.d.ts.map +1 -1
- package/dist/lib/graph.js +31 -0
- package/dist/lib/graph.js.map +1 -1
- package/dist/lib/machine.d.ts +14 -0
- package/dist/lib/machine.d.ts.map +1 -0
- package/dist/lib/machine.js +38 -0
- package/dist/lib/machine.js.map +1 -0
- package/dist/lib/notify.d.ts +68 -0
- package/dist/lib/notify.d.ts.map +1 -0
- package/dist/lib/notify.js +111 -0
- package/dist/lib/notify.js.map +1 -0
- package/dist/lib/outline.d.ts +6 -0
- package/dist/lib/outline.d.ts.map +1 -0
- package/dist/lib/outline.js +60 -0
- package/dist/lib/outline.js.map +1 -0
- package/dist/lib/push-registry.d.ts +22 -0
- package/dist/lib/push-registry.d.ts.map +1 -0
- package/dist/lib/push-registry.js +21 -0
- package/dist/lib/push-registry.js.map +1 -0
- package/dist/lib/reconcile.d.ts +100 -0
- package/dist/lib/reconcile.d.ts.map +1 -0
- package/dist/lib/reconcile.js +121 -0
- package/dist/lib/reconcile.js.map +1 -0
- package/dist/lib/security.d.ts +1 -6
- package/dist/lib/security.d.ts.map +1 -1
- package/dist/lib/security.js +1 -11
- package/dist/lib/security.js.map +1 -1
- package/dist/lib/semantic-analysis.d.ts +31 -0
- package/dist/lib/semantic-analysis.d.ts.map +1 -0
- package/dist/lib/semantic-analysis.js +120 -0
- package/dist/lib/semantic-analysis.js.map +1 -0
- package/dist/lib/supabase-credentials.d.ts +36 -0
- package/dist/lib/supabase-credentials.d.ts.map +1 -0
- package/dist/lib/supabase-credentials.js +43 -0
- package/dist/lib/supabase-credentials.js.map +1 -0
- package/dist/lib/trunk.d.ts +39 -0
- package/dist/lib/trunk.d.ts.map +1 -0
- package/dist/lib/trunk.js +116 -0
- package/dist/lib/trunk.js.map +1 -0
- package/dist/storage/adapter.d.ts +20 -1
- package/dist/storage/adapter.d.ts.map +1 -1
- package/dist/storage/branch-registry-store.d.ts +1 -1
- package/dist/storage/branch-registry-store.d.ts.map +1 -1
- package/dist/storage/factory.d.ts +0 -4
- package/dist/storage/factory.d.ts.map +1 -1
- package/dist/storage/factory.js +2 -26
- package/dist/storage/factory.js.map +1 -1
- package/dist/storage/json-branch-registry-store.d.ts +1 -1
- package/dist/storage/json-branch-registry-store.d.ts.map +1 -1
- package/dist/storage/json-branch-registry-store.js +33 -7
- package/dist/storage/json-branch-registry-store.js.map +1 -1
- package/dist/storage/local.d.ts +1 -1
- package/dist/storage/local.d.ts.map +1 -1
- package/dist/storage/local.js +2 -2
- package/dist/storage/local.js.map +1 -1
- package/dist/storage/memory-branch-registry-store.d.ts +1 -1
- package/dist/storage/memory-branch-registry-store.d.ts.map +1 -1
- package/dist/storage/memory-branch-registry-store.js +4 -1
- package/dist/storage/memory-branch-registry-store.js.map +1 -1
- package/dist/storage/supabase-registry-sync-client-impl.d.ts +1 -7
- package/dist/storage/supabase-registry-sync-client-impl.d.ts.map +1 -1
- package/dist/storage/supabase-registry-sync-client-impl.js +17 -61
- package/dist/storage/supabase-registry-sync-client-impl.js.map +1 -1
- package/dist/storage/supabase-registry-sync-client.d.ts +1 -1
- package/dist/storage/supabase-registry-sync-client.d.ts.map +1 -1
- package/dist/storage/supabase.d.ts +3 -9
- package/dist/storage/supabase.d.ts.map +1 -1
- package/dist/storage/supabase.js +4 -22
- package/dist/storage/supabase.js.map +1 -1
- package/dist/types/cloud.d.ts +1 -0
- package/dist/types/cloud.d.ts.map +1 -1
- package/package.json +88 -90
- package/dist/commands/activate.d.ts +0 -9
- package/dist/commands/activate.d.ts.map +0 -1
- package/dist/commands/activate.js +0 -45
- package/dist/commands/activate.js.map +0 -1
- package/dist/commands/active-windows.d.ts +0 -16
- package/dist/commands/active-windows.d.ts.map +0 -1
- package/dist/commands/active-windows.js +0 -373
- package/dist/commands/active-windows.js.map +0 -1
- package/dist/commands/ai.d.ts +0 -15
- package/dist/commands/ai.d.ts.map +0 -1
- package/dist/commands/ai.js +0 -498
- package/dist/commands/ai.js.map +0 -1
- package/dist/commands/audit-mark.d.ts +0 -12
- package/dist/commands/audit-mark.d.ts.map +0 -1
- package/dist/commands/audit-mark.js +0 -204
- package/dist/commands/audit-mark.js.map +0 -1
- package/dist/commands/auto.d.ts +0 -8
- package/dist/commands/auto.d.ts.map +0 -1
- package/dist/commands/auto.js +0 -207
- package/dist/commands/auto.js.map +0 -1
- package/dist/commands/bot.d.ts +0 -16
- package/dist/commands/bot.d.ts.map +0 -1
- package/dist/commands/bot.js +0 -416
- package/dist/commands/bot.js.map +0 -1
- package/dist/commands/close.d.ts +0 -9
- package/dist/commands/close.d.ts.map +0 -1
- package/dist/commands/close.js +0 -129
- package/dist/commands/close.js.map +0 -1
- package/dist/commands/collab-sync.d.ts +0 -14
- package/dist/commands/collab-sync.d.ts.map +0 -1
- package/dist/commands/collab-sync.js +0 -264
- package/dist/commands/collab-sync.js.map +0 -1
- package/dist/commands/collab.d.ts +0 -6
- package/dist/commands/collab.d.ts.map +0 -1
- package/dist/commands/collab.js +0 -103
- package/dist/commands/collab.js.map +0 -1
- package/dist/commands/completions.d.ts +0 -8
- package/dist/commands/completions.d.ts.map +0 -1
- package/dist/commands/completions.js +0 -83
- package/dist/commands/completions.js.map +0 -1
- package/dist/commands/daily.d.ts +0 -7
- package/dist/commands/daily.d.ts.map +0 -1
- package/dist/commands/daily.js +0 -171
- package/dist/commands/daily.js.map +0 -1
- package/dist/commands/dashboard.d.ts +0 -22
- package/dist/commands/dashboard.d.ts.map +0 -1
- package/dist/commands/dashboard.js +0 -401
- package/dist/commands/dashboard.js.map +0 -1
- package/dist/commands/demo.d.ts +0 -3
- package/dist/commands/demo.d.ts.map +0 -1
- package/dist/commands/demo.js +0 -118
- package/dist/commands/demo.js.map +0 -1
- package/dist/commands/ecosystem-loader.d.ts +0 -14
- package/dist/commands/ecosystem-loader.d.ts.map +0 -1
- package/dist/commands/ecosystem-loader.js +0 -90
- package/dist/commands/ecosystem-loader.js.map +0 -1
- package/dist/commands/fleet-status.d.ts +0 -14
- package/dist/commands/fleet-status.d.ts.map +0 -1
- package/dist/commands/fleet-status.js +0 -127
- package/dist/commands/fleet-status.js.map +0 -1
- package/dist/commands/inbox.d.ts +0 -3
- package/dist/commands/inbox.d.ts.map +0 -1
- package/dist/commands/inbox.js +0 -120
- package/dist/commands/inbox.js.map +0 -1
- package/dist/commands/intent-scan.d.ts +0 -17
- package/dist/commands/intent-scan.d.ts.map +0 -1
- package/dist/commands/intent-scan.js +0 -336
- package/dist/commands/intent-scan.js.map +0 -1
- package/dist/commands/key-import.d.ts +0 -3
- package/dist/commands/key-import.d.ts.map +0 -1
- package/dist/commands/key-import.js +0 -54
- package/dist/commands/key-import.js.map +0 -1
- package/dist/commands/keygen.d.ts +0 -3
- package/dist/commands/keygen.d.ts.map +0 -1
- package/dist/commands/keygen.js +0 -53
- package/dist/commands/keygen.js.map +0 -1
- package/dist/commands/keys.d.ts +0 -3
- package/dist/commands/keys.d.ts.map +0 -1
- package/dist/commands/keys.js +0 -56
- package/dist/commands/keys.js.map +0 -1
- package/dist/commands/lock.d.ts +0 -11
- package/dist/commands/lock.d.ts.map +0 -1
- package/dist/commands/lock.js +0 -257
- package/dist/commands/lock.js.map +0 -1
- package/dist/commands/mcp-health.d.ts +0 -3
- package/dist/commands/mcp-health.d.ts.map +0 -1
- package/dist/commands/mcp-health.js +0 -305
- package/dist/commands/mcp-health.js.map +0 -1
- package/dist/commands/mcp-restart.d.ts +0 -3
- package/dist/commands/mcp-restart.d.ts.map +0 -1
- package/dist/commands/mcp-restart.js +0 -176
- package/dist/commands/mcp-restart.js.map +0 -1
- package/dist/commands/monitor.d.ts +0 -3
- package/dist/commands/monitor.d.ts.map +0 -1
- package/dist/commands/monitor.js +0 -153
- package/dist/commands/monitor.js.map +0 -1
- package/dist/commands/msg-read.d.ts +0 -3
- package/dist/commands/msg-read.d.ts.map +0 -1
- package/dist/commands/msg-read.js +0 -95
- package/dist/commands/msg-read.js.map +0 -1
- package/dist/commands/pulse.d.ts +0 -13
- package/dist/commands/pulse.d.ts.map +0 -1
- package/dist/commands/pulse.js +0 -174
- package/dist/commands/pulse.js.map +0 -1
- package/dist/commands/queen.d.ts +0 -25
- package/dist/commands/queen.d.ts.map +0 -1
- package/dist/commands/queen.js +0 -326
- package/dist/commands/queen.js.map +0 -1
- package/dist/commands/radar.d.ts +0 -3
- package/dist/commands/radar.d.ts.map +0 -1
- package/dist/commands/radar.js +0 -147
- package/dist/commands/radar.js.map +0 -1
- package/dist/commands/rescue.d.ts +0 -11
- package/dist/commands/rescue.d.ts.map +0 -1
- package/dist/commands/rescue.js +0 -147
- package/dist/commands/rescue.js.map +0 -1
- package/dist/commands/semantic.d.ts +0 -3
- package/dist/commands/semantic.d.ts.map +0 -1
- package/dist/commands/semantic.js +0 -62
- package/dist/commands/semantic.js.map +0 -1
- package/dist/commands/send.d.ts +0 -3
- package/dist/commands/send.d.ts.map +0 -1
- package/dist/commands/send.js +0 -121
- package/dist/commands/send.js.map +0 -1
- package/dist/commands/status.d.ts +0 -9
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/status.js +0 -41
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/sync-advisor.d.ts +0 -14
- package/dist/commands/sync-advisor.d.ts.map +0 -1
- package/dist/commands/sync-advisor.js +0 -110
- package/dist/commands/sync-advisor.js.map +0 -1
- package/dist/commands/tension.d.ts +0 -12
- package/dist/commands/tension.d.ts.map +0 -1
- package/dist/commands/tension.js +0 -262
- package/dist/commands/tension.js.map +0 -1
- package/dist/commands/torrent.d.ts +0 -9
- package/dist/commands/torrent.d.ts.map +0 -1
- package/dist/commands/torrent.js +0 -470
- package/dist/commands/torrent.js.map +0 -1
- package/dist/commands/tui.d.ts +0 -8
- package/dist/commands/tui.d.ts.map +0 -1
- package/dist/commands/tui.js +0 -15
- package/dist/commands/tui.js.map +0 -1
- package/dist/commands/wake.d.ts +0 -9
- package/dist/commands/wake.d.ts.map +0 -1
- package/dist/commands/wake.js +0 -188
- package/dist/commands/wake.js.map +0 -1
- package/dist/commands/welcome.d.ts +0 -8
- package/dist/commands/welcome.d.ts.map +0 -1
- package/dist/commands/welcome.js +0 -85
- package/dist/commands/welcome.js.map +0 -1
- package/dist/commands/who-owns.d.ts +0 -3
- package/dist/commands/who-owns.d.ts.map +0 -1
- package/dist/commands/who-owns.js +0 -68
- package/dist/commands/who-owns.js.map +0 -1
- package/dist/commands/who-touched.d.ts +0 -9
- package/dist/commands/who-touched.d.ts.map +0 -1
- package/dist/commands/who-touched.js +0 -198
- package/dist/commands/who-touched.js.map +0 -1
- package/dist/lib/crdt.d.ts +0 -83
- package/dist/lib/crdt.d.ts.map +0 -1
- package/dist/lib/crdt.js +0 -160
- package/dist/lib/crdt.js.map +0 -1
- package/dist/lib/daily-bridge.d.ts +0 -41
- package/dist/lib/daily-bridge.d.ts.map +0 -1
- package/dist/lib/daily-bridge.js +0 -186
- package/dist/lib/daily-bridge.js.map +0 -1
- package/dist/lib/hub.d.ts +0 -31
- package/dist/lib/hub.d.ts.map +0 -1
- package/dist/lib/hub.js +0 -92
- package/dist/lib/hub.js.map +0 -1
- package/dist/lib/license.d.ts +0 -61
- package/dist/lib/license.d.ts.map +0 -1
- package/dist/lib/license.js +0 -171
- package/dist/lib/license.js.map +0 -1
- package/dist/lib/pulse-renderer.d.ts +0 -19
- package/dist/lib/pulse-renderer.d.ts.map +0 -1
- package/dist/lib/pulse-renderer.js +0 -108
- package/dist/lib/pulse-renderer.js.map +0 -1
- package/dist/lib/repo-scanner.d.ts +0 -32
- package/dist/lib/repo-scanner.d.ts.map +0 -1
- package/dist/lib/repo-scanner.js +0 -160
- package/dist/lib/repo-scanner.js.map +0 -1
- package/dist/lib/salvage-analyzer.d.ts +0 -29
- package/dist/lib/salvage-analyzer.d.ts.map +0 -1
- package/dist/lib/salvage-analyzer.js +0 -121
- package/dist/lib/salvage-analyzer.js.map +0 -1
- package/dist/lib/session-logger.d.ts +0 -54
- package/dist/lib/session-logger.d.ts.map +0 -1
- package/dist/lib/session-logger.js +0 -136
- package/dist/lib/session-logger.js.map +0 -1
- package/dist/lib/symbol-extractor.d.ts +0 -41
- package/dist/lib/symbol-extractor.d.ts.map +0 -1
- package/dist/lib/symbol-extractor.js +0 -78
- package/dist/lib/symbol-extractor.js.map +0 -1
- package/dist/storage/git-messages.d.ts +0 -53
- package/dist/storage/git-messages.d.ts.map +0 -1
- package/dist/storage/git-messages.js +0 -376
- package/dist/storage/git-messages.js.map +0 -1
- package/dist/storage/local-messages.d.ts +0 -37
- package/dist/storage/local-messages.d.ts.map +0 -1
- package/dist/storage/local-messages.js +0 -151
- package/dist/storage/local-messages.js.map +0 -1
- package/dist/storage/message-adapter.d.ts +0 -86
- package/dist/storage/message-adapter.d.ts.map +0 -1
- package/dist/storage/message-adapter.js +0 -28
- package/dist/storage/message-adapter.js.map +0 -1
- package/dist/storage/message-factory.d.ts +0 -36
- package/dist/storage/message-factory.d.ts.map +0 -1
- package/dist/storage/message-factory.js +0 -99
- package/dist/storage/message-factory.js.map +0 -1
- package/dist/storage/mycmail-adapter.d.ts +0 -38
- package/dist/storage/mycmail-adapter.d.ts.map +0 -1
- package/dist/storage/mycmail-adapter.js +0 -300
- package/dist/storage/mycmail-adapter.js.map +0 -1
- package/dist/tui/dashboard.d.ts +0 -35
- package/dist/tui/dashboard.d.ts.map +0 -1
- package/dist/tui/dashboard.js +0 -199
- package/dist/tui/dashboard.js.map +0 -1
- package/dist/tui/screen.d.ts +0 -14
- package/dist/tui/screen.d.ts.map +0 -1
- package/dist/tui/screen.js +0 -138
- package/dist/tui/screen.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pulse.js","sourceRoot":"","sources":["../../src/commands/pulse.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/queen.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* spidersan queen
|
|
3
|
-
*
|
|
4
|
-
* Mode 3: Queen Spider β sub-spidersan dispatch for parallel ground jobs.
|
|
5
|
-
*
|
|
6
|
-
* The queen never does ground work. It spawns scoped, ephemeral sub-spidersans,
|
|
7
|
-
* watches them via the colony gradient, and integrates results. Each sub fires,
|
|
8
|
-
* completes its single job, and dissolves back into the colony.
|
|
9
|
-
*
|
|
10
|
-
* Subcommands:
|
|
11
|
-
* spawn β define a ground job, emit colony assignment, print launch script
|
|
12
|
-
* status β show active sub-spidersans spawned by this queen signal
|
|
13
|
-
* dissolve β manually close a stuck sub-spidersan
|
|
14
|
-
*
|
|
15
|
-
* Colony shape:
|
|
16
|
-
* Queen emits a signal (status=in-progress, type=work_claim, task="queen dispatch")
|
|
17
|
-
* Each sub emits a signal with payload.spawned_by = queen_signal_id
|
|
18
|
-
* Sub closes via colony_close on completion (fire-complete-dissolve)
|
|
19
|
-
*
|
|
20
|
-
* Note: Actual claude spawning (via nanoclaw/INFRA-A) is stubbed until Phase 0
|
|
21
|
-
* is proven. spawn prints the launch script β execution is manual or via birdsan.
|
|
22
|
-
*/
|
|
23
|
-
import { Command } from 'commander';
|
|
24
|
-
export declare const queenCommand: Command;
|
|
25
|
-
//# sourceMappingURL=queen.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queen.d.ts","sourceRoot":"","sources":["../../src/commands/queen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqYpC,eAAO,MAAM,YAAY,SAIY,CAAC"}
|
package/dist/commands/queen.js
DELETED
|
@@ -1,326 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* spidersan queen
|
|
3
|
-
*
|
|
4
|
-
* Mode 3: Queen Spider β sub-spidersan dispatch for parallel ground jobs.
|
|
5
|
-
*
|
|
6
|
-
* The queen never does ground work. It spawns scoped, ephemeral sub-spidersans,
|
|
7
|
-
* watches them via the colony gradient, and integrates results. Each sub fires,
|
|
8
|
-
* completes its single job, and dissolves back into the colony.
|
|
9
|
-
*
|
|
10
|
-
* Subcommands:
|
|
11
|
-
* spawn β define a ground job, emit colony assignment, print launch script
|
|
12
|
-
* status β show active sub-spidersans spawned by this queen signal
|
|
13
|
-
* dissolve β manually close a stuck sub-spidersan
|
|
14
|
-
*
|
|
15
|
-
* Colony shape:
|
|
16
|
-
* Queen emits a signal (status=in-progress, type=work_claim, task="queen dispatch")
|
|
17
|
-
* Each sub emits a signal with payload.spawned_by = queen_signal_id
|
|
18
|
-
* Sub closes via colony_close on completion (fire-complete-dissolve)
|
|
19
|
-
*
|
|
20
|
-
* Note: Actual claude spawning (via nanoclaw/INFRA-A) is stubbed until Phase 0
|
|
21
|
-
* is proven. spawn prints the launch script β execution is manual or via birdsan.
|
|
22
|
-
*/
|
|
23
|
-
import { Command } from 'commander';
|
|
24
|
-
import { spawnSync } from 'child_process';
|
|
25
|
-
import * as path from 'path';
|
|
26
|
-
import * as os from 'os';
|
|
27
|
-
import { writeFileSync, mkdtempSync } from 'fs';
|
|
28
|
-
import { escapeShellString } from '../lib/security.js';
|
|
29
|
-
// ββ Helpers βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
30
|
-
function resolveRepos(reposOption) {
|
|
31
|
-
if (reposOption) {
|
|
32
|
-
return reposOption.split(',').map((r) => r.trim()).filter(Boolean);
|
|
33
|
-
}
|
|
34
|
-
const envRepos = process.env['SPIDERSAN_REPOS'];
|
|
35
|
-
if (envRepos) {
|
|
36
|
-
return envRepos.split(':').map((r) => r.trim()).filter(Boolean);
|
|
37
|
-
}
|
|
38
|
-
const homeDir = process.env.HOME || os.homedir();
|
|
39
|
-
return [
|
|
40
|
-
`${homeDir}/Dev/Envoak`,
|
|
41
|
-
`${homeDir}/Dev/treebird-internal`,
|
|
42
|
-
`${homeDir}/Dev/spidersan`,
|
|
43
|
-
`${homeDir}/Dev/Toak`,
|
|
44
|
-
`${homeDir}/Dev/flockview`,
|
|
45
|
-
`${homeDir}/Dev/mappersan`,
|
|
46
|
-
];
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Emit a queen colony signal and return its ID.
|
|
50
|
-
* Returns null on failure (envoak not available / vault expired).
|
|
51
|
-
*/
|
|
52
|
-
function emitQueenSignal(task, repos) {
|
|
53
|
-
const summary = `Queen Spider dispatching ${repos.length} ground job(s): ` +
|
|
54
|
-
repos.map((r) => path.basename(r)).join(', ');
|
|
55
|
-
const result = spawnSync('envoak', [
|
|
56
|
-
'colony', 'signal',
|
|
57
|
-
'--status', 'in-progress',
|
|
58
|
-
'--task', task,
|
|
59
|
-
'--summary', summary,
|
|
60
|
-
], { encoding: 'utf-8', timeout: 15000 });
|
|
61
|
-
if (result.status !== 0) {
|
|
62
|
-
console.error(`[QUEEN] Failed to emit colony signal: ${result.stderr ?? result.stdout}`);
|
|
63
|
-
return null;
|
|
64
|
-
}
|
|
65
|
-
// Parse signal ID directly from "Signal emitted (id: UUID)" in stdout
|
|
66
|
-
const match = (result.stdout ?? '').match(/Signal emitted \(id:\s*([\w-]+)\)/);
|
|
67
|
-
if (match?.[1])
|
|
68
|
-
return match[1];
|
|
69
|
-
// Fallback: query the colony gradient for the latest in-progress signal with this task
|
|
70
|
-
try {
|
|
71
|
-
const statusResult = spawnSync('envoak', ['colony', 'status', '--json'], { encoding: 'utf-8', timeout: 10000 });
|
|
72
|
-
if (statusResult.stdout) {
|
|
73
|
-
const data = JSON.parse(statusResult.stdout);
|
|
74
|
-
const gradient = data.signals ?? data.gradient ?? [];
|
|
75
|
-
const latest = gradient.find((s) => s.task === task && s.status === 'in-progress');
|
|
76
|
-
if (latest)
|
|
77
|
-
return latest.id;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
catch {
|
|
81
|
-
/* ignore β signal was emitted, ID lookup failed */
|
|
82
|
-
}
|
|
83
|
-
return null;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Build the ground job script for a sub-spidersan.
|
|
87
|
-
* Returns the shell script string to be printed or written to a file.
|
|
88
|
-
*/
|
|
89
|
-
function buildGroundJobScript(repo, task, jobType, queenSignalId) {
|
|
90
|
-
const repoName = path.basename(repo);
|
|
91
|
-
// Security: Escape user inputs to prevent command injection in generated bash script
|
|
92
|
-
const safeRepo = escapeShellString(repo);
|
|
93
|
-
const safeTask = escapeShellString(`${task} [${repoName}]`);
|
|
94
|
-
const safeQueenSignalId = escapeShellString(queenSignalId ?? '');
|
|
95
|
-
const safeRepoName = escapeShellString(repoName);
|
|
96
|
-
const safeSummaryStart = escapeShellString(`Sub-spidersan started in ${repoName}.`);
|
|
97
|
-
const safeSummarySuccess = escapeShellString(`Ground job complete: ${task} [${repoName}] β success.`);
|
|
98
|
-
// We use variables for these strings inside the script to avoid complex escaping
|
|
99
|
-
const priorFlag = queenSignalId
|
|
100
|
-
? `\n --prior-signal-id "$QUEEN_SIGNAL_ID" \\`
|
|
101
|
-
: '';
|
|
102
|
-
const jobCommands = {
|
|
103
|
-
sync: ` # GROUND JOB: sync
|
|
104
|
-
git pull origin main --rebase 2>&1 | tail -3
|
|
105
|
-
spidersan pulse --quiet`,
|
|
106
|
-
conflicts: ` # GROUND JOB: conflict scan
|
|
107
|
-
TMP_FILE=$(mktemp /tmp/ssan-conflicts-XXXXXX)
|
|
108
|
-
trap 'rm -f "$TMP_FILE"' EXIT
|
|
109
|
-
spidersan conflicts --json --tier 1 > "$TMP_FILE"
|
|
110
|
-
jq '.summary' "$TMP_FILE"
|
|
111
|
-
rm -f "$TMP_FILE"
|
|
112
|
-
trap - EXIT`,
|
|
113
|
-
cleanup: ` # GROUND JOB: stale cleanup
|
|
114
|
-
spidersan stale
|
|
115
|
-
envoak colony gc`,
|
|
116
|
-
custom: ` # GROUND JOB: custom β replace this with your commands
|
|
117
|
-
echo "Custom job in $REPO_NAME_VAR"`,
|
|
118
|
-
};
|
|
119
|
-
return `#!/usr/bin/env bash
|
|
120
|
-
# Sub-spidersan ground job
|
|
121
|
-
# Generated by: spidersan queen spawn
|
|
122
|
-
# Fire-complete-dissolve pattern β run, emit result, exit.
|
|
123
|
-
|
|
124
|
-
set -euo pipefail
|
|
125
|
-
|
|
126
|
-
REPO=${safeRepo}
|
|
127
|
-
TASK=${safeTask}
|
|
128
|
-
QUEEN_SIGNAL_ID=${safeQueenSignalId}
|
|
129
|
-
REPO_NAME_VAR=${safeRepoName}
|
|
130
|
-
SUMMARY_START=${safeSummaryStart}
|
|
131
|
-
SUMMARY_SUCCESS=${safeSummarySuccess}
|
|
132
|
-
|
|
133
|
-
cd "$REPO"
|
|
134
|
-
|
|
135
|
-
# ββ Enlist ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
136
|
-
envoak colony signal \\
|
|
137
|
-
--status in-progress \\
|
|
138
|
-
--task "$TASK" \\
|
|
139
|
-
--summary "$SUMMARY_START" \\${priorFlag}
|
|
140
|
-
|| true # non-fatal if vault expired
|
|
141
|
-
|
|
142
|
-
# ββ Ground job ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
143
|
-
${jobCommands[jobType]}
|
|
144
|
-
RESULT=$?
|
|
145
|
-
|
|
146
|
-
# ββ Dissolve ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
147
|
-
if [ $RESULT -eq 0 ]; then
|
|
148
|
-
envoak colony close \\
|
|
149
|
-
--summary "$SUMMARY_SUCCESS" \\
|
|
150
|
-
|| true
|
|
151
|
-
echo "[SUB-SSAN] β
Done: $REPO_NAME_VAR"
|
|
152
|
-
else
|
|
153
|
-
# Using bash parameter expansion for the failure summary to inject the exit code safely
|
|
154
|
-
SUMMARY_FAIL="Ground job failed in $REPO_NAME_VAR (exit $RESULT). Queen: \${QUEEN_SIGNAL_ID:-unknown}."
|
|
155
|
-
envoak colony signal \\
|
|
156
|
-
--status blocked \\
|
|
157
|
-
--task "$TASK" \\
|
|
158
|
-
--summary "$SUMMARY_FAIL" \\
|
|
159
|
-
|| true
|
|
160
|
-
envoak colony close --summary "Ground job failed β see blocked signal." || true
|
|
161
|
-
echo "[SUB-SSAN] β Failed: $REPO_NAME_VAR (exit $RESULT)"
|
|
162
|
-
fi
|
|
163
|
-
`;
|
|
164
|
-
}
|
|
165
|
-
// ββ Commands ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
166
|
-
const queenSpawnCommand = new Command('spawn')
|
|
167
|
-
.description('Dispatch sub-spidersans for parallel ground jobs')
|
|
168
|
-
.requiredOption('-t, --task <description>', 'One-line description of the ground job')
|
|
169
|
-
.option('--type <type>', 'Job type: sync | conflicts | cleanup | custom (default: sync)', 'sync')
|
|
170
|
-
.option('--repos <paths>', 'Comma-separated repo paths (default: ecosystem repos)')
|
|
171
|
-
.option('--key-id <uuid>', 'Agent key ID to include in colony signal')
|
|
172
|
-
.option('--dry-run', 'Print job scripts without emitting colony signals')
|
|
173
|
-
.option('--json', 'Output job manifest as JSON')
|
|
174
|
-
.action(async (options) => {
|
|
175
|
-
const repos = resolveRepos(options.repos);
|
|
176
|
-
const jobType = options.type ?? 'sync';
|
|
177
|
-
const dryRun = options.dryRun ?? false;
|
|
178
|
-
console.log(`
|
|
179
|
-
π·οΈ QUEEN SPIDER β SPAWNING ${repos.length} SUB-SPIDERSAN(S)
|
|
180
|
-
ββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
181
|
-
Task: ${options.task}
|
|
182
|
-
Job type: ${jobType}
|
|
183
|
-
Repos: ${repos.map((r) => path.basename(r)).join(', ')}
|
|
184
|
-
Dry-run: ${dryRun}
|
|
185
|
-
ββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
186
|
-
`);
|
|
187
|
-
// Emit queen signal (skip in dry-run)
|
|
188
|
-
let queenSignalId = null;
|
|
189
|
-
if (!dryRun) {
|
|
190
|
-
queenSignalId = emitQueenSignal(options.task, repos);
|
|
191
|
-
if (queenSignalId) {
|
|
192
|
-
console.log(`[QUEEN] Signal emitted: ${queenSignalId}`);
|
|
193
|
-
}
|
|
194
|
-
else {
|
|
195
|
-
console.warn('[QUEEN] Could not retrieve queen signal ID β sub-spidersans will have no prior_signal_id.');
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
else {
|
|
199
|
-
queenSignalId = 'DRY-RUN-QUEEN-SIGNAL';
|
|
200
|
-
}
|
|
201
|
-
// Generate job scripts
|
|
202
|
-
const scriptDir = dryRun
|
|
203
|
-
? path.join(os.tmpdir(), 'ssan-queen-dry-run')
|
|
204
|
-
: mkdtempSync(path.join(os.tmpdir(), 'ssan-queen-'));
|
|
205
|
-
const manifest = [];
|
|
206
|
-
for (const repo of repos) {
|
|
207
|
-
const script = buildGroundJobScript(repo, options.task, jobType, queenSignalId);
|
|
208
|
-
const repoName = path.basename(repo);
|
|
209
|
-
const scriptPath = path.join(scriptDir, `sub-ssan-${repoName}.sh`);
|
|
210
|
-
if (!dryRun) {
|
|
211
|
-
try {
|
|
212
|
-
writeFileSync(scriptPath, script, { mode: 0o755 });
|
|
213
|
-
}
|
|
214
|
-
catch {
|
|
215
|
-
/* non-fatal */
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
manifest.push({ repo, script: scriptPath, queenSignalId });
|
|
219
|
-
console.log(`\nββ Sub-spidersan: ${repoName} ββ`);
|
|
220
|
-
if (dryRun) {
|
|
221
|
-
console.log(script);
|
|
222
|
-
}
|
|
223
|
-
else {
|
|
224
|
-
console.log(` Script: ${scriptPath}`);
|
|
225
|
-
console.log(` Run: bash "${scriptPath}"`);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
if (!dryRun && manifest.length > 0) {
|
|
229
|
-
console.log(`
|
|
230
|
-
ββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
231
|
-
[QUEEN] ${repos.length} job script(s) written to ${scriptDir}
|
|
232
|
-
[QUEEN] Run all in parallel:
|
|
233
|
-
|
|
234
|
-
for f in ${scriptDir}/sub-ssan-*.sh; do bash "$f" & done; wait
|
|
235
|
-
|
|
236
|
-
[QUEEN] Monitor via: spidersan queen status --queen-signal-id ${queenSignalId ?? '<id>'}
|
|
237
|
-
ββββββββββββββββββββββββββββββββββββββββββββββββ`);
|
|
238
|
-
}
|
|
239
|
-
if (options.json) {
|
|
240
|
-
console.log(JSON.stringify({ queenSignalId, repos, jobType, task: options.task, scripts: manifest.map((m) => m.script) }, null, 2));
|
|
241
|
-
}
|
|
242
|
-
});
|
|
243
|
-
const queenStatusCommand = new Command('status')
|
|
244
|
-
.description('Show active sub-spidersans spawned by this queen signal')
|
|
245
|
-
.option('--queen-signal-id <id>', 'Queen signal ID to filter by (reads colony gradient)')
|
|
246
|
-
.option('--json', 'Output as JSON')
|
|
247
|
-
.action(async (options) => {
|
|
248
|
-
const result = spawnSync('envoak', ['colony', 'status', '--json'], { encoding: 'utf-8', timeout: 10000 });
|
|
249
|
-
if (result.status !== 0 || !result.stdout) {
|
|
250
|
-
console.error('[QUEEN] Failed to read colony gradient');
|
|
251
|
-
process.exit(1);
|
|
252
|
-
}
|
|
253
|
-
let data = {};
|
|
254
|
-
try {
|
|
255
|
-
const parsed = JSON.parse(result.stdout);
|
|
256
|
-
data = parsed;
|
|
257
|
-
}
|
|
258
|
-
catch {
|
|
259
|
-
console.error('[QUEEN] Failed to parse colony gradient JSON');
|
|
260
|
-
process.exit(1);
|
|
261
|
-
}
|
|
262
|
-
// Filter to sub-spidersans: signals where payload.spawned_by matches queen signal ID
|
|
263
|
-
const gradient = data.signals ?? data.gradient ?? [];
|
|
264
|
-
const subs = gradient.filter((s) => {
|
|
265
|
-
if (!options.queenSignalId) {
|
|
266
|
-
// No filter β show all signals with a spawned_by field
|
|
267
|
-
return s.payload && typeof s.payload === 'object' && 'spawned_by' in s.payload;
|
|
268
|
-
}
|
|
269
|
-
return (s.payload &&
|
|
270
|
-
typeof s.payload === 'object' &&
|
|
271
|
-
s.payload['spawned_by'] === options.queenSignalId);
|
|
272
|
-
});
|
|
273
|
-
if (options.json) {
|
|
274
|
-
console.log(JSON.stringify({ queenSignalId: options.queenSignalId ?? null, subs }, null, 2));
|
|
275
|
-
return;
|
|
276
|
-
}
|
|
277
|
-
console.log(`
|
|
278
|
-
π·οΈ QUEEN STATUS${options.queenSignalId ? ` (queen: ${options.queenSignalId.slice(0, 8)})` : ''}
|
|
279
|
-
ββββββββββββββββββββββββββββββββ
|
|
280
|
-
Active sub-spidersans: ${subs.length}
|
|
281
|
-
`);
|
|
282
|
-
if (subs.length === 0) {
|
|
283
|
-
console.log(' No active sub-spidersans found.');
|
|
284
|
-
console.log(' (Sub-spidersans dissolve after completing their ground job.)');
|
|
285
|
-
return;
|
|
286
|
-
}
|
|
287
|
-
for (const sub of subs) {
|
|
288
|
-
const staleFlag = sub.isStale ? ' β οΈ STALE' : '';
|
|
289
|
-
console.log(` ${sub.status.padEnd(12)} ${sub.task ?? '(no task)'}${staleFlag}`);
|
|
290
|
-
if (sub.summary)
|
|
291
|
-
console.log(` ${sub.summary}`);
|
|
292
|
-
}
|
|
293
|
-
});
|
|
294
|
-
const queenDissolveCommand = new Command('dissolve')
|
|
295
|
-
.description('Manually close a stuck sub-spidersan session')
|
|
296
|
-
.argument('<signal-id>', 'Signal ID of the stuck sub-spidersan')
|
|
297
|
-
.option('--summary <text>', 'Dissolution summary', 'Manually dissolved by queen spider.')
|
|
298
|
-
.option('--dry-run', 'Print what would happen without acting')
|
|
299
|
-
.action(async (signalId, options) => {
|
|
300
|
-
if (options.dryRun) {
|
|
301
|
-
console.log(`[DRY-RUN] Would emit blocked signal for ${signalId} then close session.`);
|
|
302
|
-
return;
|
|
303
|
-
}
|
|
304
|
-
console.log(`[QUEEN] Dissolving sub-spidersan ${signalId.slice(0, 8)}...`);
|
|
305
|
-
// Emit a blocked signal to mark it, then it can be GC'd
|
|
306
|
-
const result = spawnSync('envoak', [
|
|
307
|
-
'colony', 'signal',
|
|
308
|
-
'--status', 'blocked',
|
|
309
|
-
'--task', 'sub-spidersan dissolved',
|
|
310
|
-
'--summary', options.summary ?? 'Manually dissolved by queen spider.',
|
|
311
|
-
'--prior-signal-id', signalId,
|
|
312
|
-
], { encoding: 'utf-8', timeout: 10000 });
|
|
313
|
-
if (result.status === 0) {
|
|
314
|
-
console.log(`[QUEEN] β
Dissolution signal emitted. Run 'envoak colony gc' to clean up.`);
|
|
315
|
-
}
|
|
316
|
-
else {
|
|
317
|
-
console.error(`[QUEEN] Failed to emit dissolution signal: ${result.stderr ?? result.stdout}`);
|
|
318
|
-
process.exit(1);
|
|
319
|
-
}
|
|
320
|
-
});
|
|
321
|
-
export const queenCommand = new Command('queen')
|
|
322
|
-
.description('π·οΈ Parallel agent dispatch β fan-out work to multiple sub-spidersans at once (use `torrent` instead for sequential subtasks in order)')
|
|
323
|
-
.addCommand(queenSpawnCommand)
|
|
324
|
-
.addCommand(queenStatusCommand)
|
|
325
|
-
.addCommand(queenDissolveCommand);
|
|
326
|
-
//# sourceMappingURL=queen.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queen.js","sourceRoot":"","sources":["../../src/commands/queen.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/radar.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"radar.d.ts","sourceRoot":"","sources":["../../src/commands/radar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgFpC,eAAO,MAAM,YAAY,SA6GnB,CAAC"}
|
package/dist/commands/radar.js
DELETED
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { Command } from 'commander';
|
|
2
|
-
import { io } from 'socket.io-client';
|
|
3
|
-
// Config
|
|
4
|
-
const HUB_URL = process.env.HUB_URL || 'https://hub.treebird.uk';
|
|
5
|
-
// Track active file edits from all agents
|
|
6
|
-
const activeEdits = new Map(); // file -> agents
|
|
7
|
-
// Time tracking for activity
|
|
8
|
-
const lastActivity = new Map(); // key -> timestamp
|
|
9
|
-
function formatTime(timestamp) {
|
|
10
|
-
return new Date(timestamp).toLocaleTimeString('en-US', {
|
|
11
|
-
hour12: false,
|
|
12
|
-
hour: '2-digit',
|
|
13
|
-
minute: '2-digit',
|
|
14
|
-
second: '2-digit'
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
function clearScreen() {
|
|
18
|
-
process.stdout.write('\x1Bc');
|
|
19
|
-
}
|
|
20
|
-
function renderRadar() {
|
|
21
|
-
clearScreen();
|
|
22
|
-
const now = Date.now();
|
|
23
|
-
const tierLabels = { 1: 'β οΈ WARN', 2: 'βΈοΈ PAUSE', 3: 'π BLOCK' };
|
|
24
|
-
console.log(`
|
|
25
|
-
π·οΈ SPIDERSAN CONFLICT RADAR
|
|
26
|
-
βββββββββββββββββββββββββββββββ
|
|
27
|
-
Real-time: who's editing what
|
|
28
|
-
Updated: ${new Date().toLocaleTimeString()}
|
|
29
|
-
βββββββββββββββββββββββββββββββ
|
|
30
|
-
`);
|
|
31
|
-
// Show active edits
|
|
32
|
-
if (activeEdits.size === 0) {
|
|
33
|
-
console.log(' β¨ No active file edits detected');
|
|
34
|
-
console.log(' (Waiting for file:changed events...)');
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
console.log('π ACTIVE FILES:\n');
|
|
38
|
-
for (const [file, agents] of activeEdits.entries()) {
|
|
39
|
-
const agentList = Array.from(agents);
|
|
40
|
-
const hasConflict = agentList.length > 1;
|
|
41
|
-
if (hasConflict) {
|
|
42
|
-
console.log(` π΄ ${file}`);
|
|
43
|
-
console.log(` π₯ ${agentList.join(' β ')} [CONFLICT!]`);
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
console.log(` π’ ${file}`);
|
|
47
|
-
console.log(` π€ ${agentList[0]}`);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
console.log('\nβββββββββββββββββββββββββββββββ');
|
|
52
|
-
console.log('Press Ctrl+C to exit');
|
|
53
|
-
}
|
|
54
|
-
export const radarCommand = new Command('radar')
|
|
55
|
-
.description('π·οΈ Real-time conflict radar - see who is editing what')
|
|
56
|
-
.option('--hub <url>', 'Hub URL to connect to', HUB_URL)
|
|
57
|
-
.action(async (options) => {
|
|
58
|
-
const hubUrl = options.hub;
|
|
59
|
-
console.log('π·οΈ Starting Conflict Radar...');
|
|
60
|
-
console.log(`π‘ Connecting to Hub: ${hubUrl}`);
|
|
61
|
-
let socket;
|
|
62
|
-
try {
|
|
63
|
-
socket = io(hubUrl, {
|
|
64
|
-
reconnection: true,
|
|
65
|
-
reconnectionAttempts: 10,
|
|
66
|
-
timeout: 5000
|
|
67
|
-
});
|
|
68
|
-
socket.on('connect', () => {
|
|
69
|
-
console.log('π Connected to Hub\n');
|
|
70
|
-
// Subscribe to relevant events
|
|
71
|
-
socket.emit('subscribe', {
|
|
72
|
-
events: ['file:changed', 'conflict:warning', 'agent:status']
|
|
73
|
-
});
|
|
74
|
-
// Start rendering
|
|
75
|
-
setTimeout(renderRadar, 500);
|
|
76
|
-
});
|
|
77
|
-
socket.on('disconnect', () => {
|
|
78
|
-
console.log('\nπ Disconnected from Hub');
|
|
79
|
-
});
|
|
80
|
-
socket.on('connect_error', (err) => {
|
|
81
|
-
console.log(`β οΈ Connection error: ${err.message}`);
|
|
82
|
-
});
|
|
83
|
-
// Listen for file change events
|
|
84
|
-
socket.on('file:changed', (event) => {
|
|
85
|
-
const { agent, file, action, timestamp } = event;
|
|
86
|
-
if (!activeEdits.has(file)) {
|
|
87
|
-
activeEdits.set(file, new Set());
|
|
88
|
-
}
|
|
89
|
-
if (action === 'editing' || action === 'saved') {
|
|
90
|
-
activeEdits.get(file).add(agent);
|
|
91
|
-
lastActivity.set(`${file}:${agent}`, Date.now());
|
|
92
|
-
}
|
|
93
|
-
else if (action === 'closed') {
|
|
94
|
-
activeEdits.get(file).delete(agent);
|
|
95
|
-
if (activeEdits.get(file).size === 0) {
|
|
96
|
-
activeEdits.delete(file);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
renderRadar();
|
|
100
|
-
});
|
|
101
|
-
// Listen for conflict warnings (from watch.ts)
|
|
102
|
-
socket.on('conflict:warning', (warning) => {
|
|
103
|
-
const tierLabels = { 1: 'β οΈ WARN', 2: 'βΈοΈ PAUSE', 3: 'π BLOCK' };
|
|
104
|
-
console.log(`\n${tierLabels[warning.tier]} | CONFLICT DETECTED!`);
|
|
105
|
-
console.log(` π File: ${warning.file}`);
|
|
106
|
-
console.log(` π₯ Agents: ${warning.agents.join(' β ')}`);
|
|
107
|
-
console.log(` π― Resolution: ${warning.resolution}`);
|
|
108
|
-
console.log(` π Time: ${formatTime(warning.timestamp)}\n`);
|
|
109
|
-
});
|
|
110
|
-
// Simulate local file activity (for demo/testing)
|
|
111
|
-
// In production, this would come from Hub
|
|
112
|
-
const simulateLocalActivity = () => {
|
|
113
|
-
// Just render periodically to show we're alive
|
|
114
|
-
setInterval(() => {
|
|
115
|
-
// Clean up stale entries (> 60s)
|
|
116
|
-
const cutoff = Date.now() - 60000;
|
|
117
|
-
for (const [key, timestamp] of lastActivity.entries()) {
|
|
118
|
-
if (timestamp < cutoff) {
|
|
119
|
-
const [file, agent] = key.split(':');
|
|
120
|
-
activeEdits.get(file)?.delete(agent);
|
|
121
|
-
if (activeEdits.get(file)?.size === 0) {
|
|
122
|
-
activeEdits.delete(file);
|
|
123
|
-
}
|
|
124
|
-
lastActivity.delete(key);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
renderRadar();
|
|
128
|
-
}, 5000); // Refresh every 5 seconds
|
|
129
|
-
};
|
|
130
|
-
simulateLocalActivity();
|
|
131
|
-
// Handle graceful shutdown
|
|
132
|
-
process.on('SIGINT', () => {
|
|
133
|
-
console.log('\nπ·οΈ Radar stopped.');
|
|
134
|
-
socket.disconnect();
|
|
135
|
-
process.exit(0);
|
|
136
|
-
});
|
|
137
|
-
process.on('SIGTERM', () => {
|
|
138
|
-
socket.disconnect();
|
|
139
|
-
process.exit(0);
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
catch (error) {
|
|
143
|
-
console.error('β Failed to start radar:', error);
|
|
144
|
-
process.exit(1);
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
//# sourceMappingURL=radar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"radar.js","sourceRoot":"","sources":["../../src/commands/radar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* spidersan rescue
|
|
3
|
-
*
|
|
4
|
-
* Rescue Mission:
|
|
5
|
-
* 1. Scan for untracked files (aliens)
|
|
6
|
-
* 2. Scan for unregistered branches (ghosts)
|
|
7
|
-
* 3. Triage & Salvage
|
|
8
|
-
*/
|
|
9
|
-
import { Command } from 'commander';
|
|
10
|
-
export declare const rescueCommand: Command;
|
|
11
|
-
//# sourceMappingURL=rescue.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rescue.d.ts","sourceRoot":"","sources":["../../src/commands/rescue.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,aAAa,SA0IpB,CAAC"}
|