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
|
@@ -24,9 +24,32 @@ import { existsSync, readFileSync, writeFileSync, appendFileSync, readdirSync, s
|
|
|
24
24
|
import { join, resolve } from 'path';
|
|
25
25
|
import { homedir } from 'os';
|
|
26
26
|
import { getStorage } from '../storage/index.js';
|
|
27
|
+
import { resolveSupabaseEnv } from './supabase-credentials.js';
|
|
27
28
|
import { handleEvent } from './ai/event-handler.js';
|
|
29
|
+
import { createNotifier, deliver } from './notify.js';
|
|
28
30
|
import { logActivity } from './activity.js';
|
|
29
31
|
const execFileAsync = promisify(execFile);
|
|
32
|
+
// Resolved on first use, not at import — the daemon gets its room token from
|
|
33
|
+
// `envoak vault inject`, so the env is only populated once the process runs.
|
|
34
|
+
let _notifier = null;
|
|
35
|
+
function notifier() {
|
|
36
|
+
return (_notifier ??= createNotifier());
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The compare-API credential, preferring the vault-injected name.
|
|
40
|
+
*
|
|
41
|
+
* It cannot be stored as `GITHUB_TOKEN`: envoak's protected-namespace filter
|
|
42
|
+
* (`SENSITIVE_PREFIXES` in Envoak vault.ts) refuses to inject any name starting
|
|
43
|
+
* `GITHUB_`, so a vault secret called GITHUB_TOKEN would be granted, decrypted,
|
|
44
|
+
* and then dropped — leaving the daemon silently unauthenticated at 60 req/h.
|
|
45
|
+
* Hence the app-prefixed `spidersan/SPIDERSAN_GITHUB_TOKEN`.
|
|
46
|
+
*
|
|
47
|
+
* `GITHUB_TOKEN` stays as a fallback so a plain shell (or CI) that already
|
|
48
|
+
* exports it keeps working.
|
|
49
|
+
*/
|
|
50
|
+
export function resolveGithubToken(env = process.env) {
|
|
51
|
+
return env.SPIDERSAN_GITHUB_TOKEN || env.GITHUB_TOKEN || undefined;
|
|
52
|
+
}
|
|
30
53
|
// ─── Paths ────────────────────────────────────────────────────────────────────
|
|
31
54
|
const SPIDERSAN_DIR = join(homedir(), '.spidersan');
|
|
32
55
|
const CURSOR_FILE = join(SPIDERSAN_DIR, 'git-watch-cursor.json');
|
|
@@ -70,14 +93,23 @@ function appendLog(file, entry) {
|
|
|
70
93
|
* Scans provided repoPaths first; if empty, scans all registered repos
|
|
71
94
|
* by reading their .spidersan/registry.json locations from ~/.spidersan.
|
|
72
95
|
*/
|
|
73
|
-
function normalizeRemoteUrl(url) {
|
|
74
|
-
// Normalize ssh and https to "owner/repo"
|
|
75
|
-
// git@github.com:treebird7/Envoak.git → treebird7/
|
|
76
|
-
// https://github.com/
|
|
96
|
+
export function normalizeRemoteUrl(url) {
|
|
97
|
+
// Normalize ssh and https to a lowercase "owner/repo" key
|
|
98
|
+
// git@github.com:treebird7/Envoak.git → treebird7/envoak
|
|
99
|
+
// https://github.com/Treebird-Ecosystem/treebird.git → treebird-ecosystem/treebird
|
|
100
|
+
// Lowercase because GitHub names are case-insensitive and event.repo is GitHub's
|
|
101
|
+
// canonical casing, which a hand-set remote URL need not match.
|
|
77
102
|
return url
|
|
78
103
|
.replace(/^git@github\.com:/, '')
|
|
79
104
|
.replace(/^https?:\/\/github\.com\//, '')
|
|
80
|
-
.replace(/\.git$/, '')
|
|
105
|
+
.replace(/\.git$/, '')
|
|
106
|
+
.toLowerCase();
|
|
107
|
+
}
|
|
108
|
+
// treebird moved to the Treebird-Ecosystem org on 2026-10-11; the old name still
|
|
109
|
+
// redirects, and a webhook or a not-yet-updated clone can report either.
|
|
110
|
+
const TREEBIRD_REPOS = new Set(['treebird-ecosystem/treebird', 'treebird7/treebird']);
|
|
111
|
+
export function isTreebirdRepo(repo) {
|
|
112
|
+
return TREEBIRD_REPOS.has(repo.toLowerCase());
|
|
81
113
|
}
|
|
82
114
|
function getRemoteForPath(repoPath) {
|
|
83
115
|
try {
|
|
@@ -108,6 +140,57 @@ function buildRepoMap(explicitPaths) {
|
|
|
108
140
|
}
|
|
109
141
|
return map;
|
|
110
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* Number of tracked-but-missing files in a working tree before we alarm. A few
|
|
145
|
+
* is normal (an intentional `rm`); whole directories missing is the signature of
|
|
146
|
+
* a stale-revert / branch-juggle that stranded the working tree behind HEAD
|
|
147
|
+
* (see coord-tree/patterns/shared-checkout-collision.md — the 2026-06-13 incident
|
|
148
|
+
* where a mixed `git reset` advanced HEAD past a stale tree, wiping node-tree/
|
|
149
|
+
* ci-tree/TREES.md from the working copy while .git stayed current).
|
|
150
|
+
*/
|
|
151
|
+
const WT_INTEGRITY_THRESHOLD = 5;
|
|
152
|
+
/**
|
|
153
|
+
* Detect the stale-revert signature in one repo: many tracked files DELETED in
|
|
154
|
+
* the working tree (HEAD/index intact). This is recoverable and non-destructive
|
|
155
|
+
* — `git restore` brings the files back — so we only warn, loudly, with the fix.
|
|
156
|
+
* Returns true if an alarm fired.
|
|
157
|
+
*/
|
|
158
|
+
export function checkWorkingTreeIntegrity(repoPath, log) {
|
|
159
|
+
let deleted;
|
|
160
|
+
try {
|
|
161
|
+
const out = execFileSync('git', ['ls-files', '--deleted'], {
|
|
162
|
+
cwd: repoPath,
|
|
163
|
+
encoding: 'utf-8',
|
|
164
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
165
|
+
}).trim();
|
|
166
|
+
if (!out)
|
|
167
|
+
return false;
|
|
168
|
+
deleted = out.split('\n').filter(Boolean);
|
|
169
|
+
}
|
|
170
|
+
catch {
|
|
171
|
+
return false; // not a git repo / git unavailable — skip silently
|
|
172
|
+
}
|
|
173
|
+
if (deleted.length < WT_INTEGRITY_THRESHOLD)
|
|
174
|
+
return false;
|
|
175
|
+
const sample = deleted.slice(0, 5).join(', ');
|
|
176
|
+
log(`🚨 working-tree integrity: ${deleted.length} tracked file(s) MISSING from the working tree in ` +
|
|
177
|
+
`${repoPath} (e.g. ${sample}${deleted.length > 5 ? ', …' : ''}). This is the stale-revert / ` +
|
|
178
|
+
`branch-juggle signature — HEAD likely advanced past a stranded working tree. Nothing is lost ` +
|
|
179
|
+
`(.git is intact). Recover with: cd ${repoPath} && git ls-files -z --deleted | xargs -0 git restore --`);
|
|
180
|
+
return true;
|
|
181
|
+
}
|
|
182
|
+
/** Run the working-tree integrity check across every watched local path. */
|
|
183
|
+
function sweepWorkingTreeIntegrity(repoMap, log) {
|
|
184
|
+
const seen = new Set();
|
|
185
|
+
for (const paths of repoMap.values()) {
|
|
186
|
+
for (const p of paths) {
|
|
187
|
+
if (seen.has(p))
|
|
188
|
+
continue;
|
|
189
|
+
seen.add(p);
|
|
190
|
+
checkWorkingTreeIntegrity(p, log);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
111
194
|
/**
|
|
112
195
|
* Discover repo paths from all .spidersan registries visible from ~/.spidersan.
|
|
113
196
|
* Falls back to scanning ~/Dev/* for .spidersan directories.
|
|
@@ -148,7 +231,7 @@ const TREE_ACTION_HINTS = {
|
|
|
148
231
|
'ts-tree': 'ts-review validate',
|
|
149
232
|
};
|
|
150
233
|
/**
|
|
151
|
-
* When a push lands on
|
|
234
|
+
* When a push lands on treebird (either org name), compare before..after via GitHub API
|
|
152
235
|
* and detect newly added gold-pair JSON files. Emits a targeted pending entry
|
|
153
236
|
* per tree so the validation cue is specific and actionable.
|
|
154
237
|
*/
|
|
@@ -156,7 +239,7 @@ async function detectTreePairs(event, log) {
|
|
|
156
239
|
if (!event.before_sha || !event.after_sha)
|
|
157
240
|
return;
|
|
158
241
|
const url = `https://api.github.com/repos/${event.repo}/compare/${event.before_sha}...${event.after_sha}`;
|
|
159
|
-
const githubToken =
|
|
242
|
+
const githubToken = resolveGithubToken();
|
|
160
243
|
const headers = {
|
|
161
244
|
'Accept': 'application/vnd.github.v3+json',
|
|
162
245
|
'User-Agent': 'spidersan-git-watch',
|
|
@@ -281,24 +364,24 @@ async function consumePendingTreePairs(log) {
|
|
|
281
364
|
const task = typeof entry.action_hint === 'string' ? entry.action_hint : `review ${entry.tree}/pairs/`;
|
|
282
365
|
const files = Array.isArray(entry.files) ? entry.files : [];
|
|
283
366
|
const summary = `spidersan auto-dispatch: ${entry.tree} pair(s) ready — ${entry.repo}@${entry.after_sha} — ${task}`;
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
'
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
367
|
+
// Retry-and-retain, now driven by the delivery result rather than
|
|
368
|
+
// by whether a subprocess exited 0. Tier 1: this is a review
|
|
369
|
+
// prompt, not a conflict — it obliges someone to look, not to stop.
|
|
370
|
+
const delivery = await deliver(notifier(), {
|
|
371
|
+
repo: String(entry.repo ?? 'unknown'),
|
|
372
|
+
branch: String(entry.branch ?? 'unknown'),
|
|
373
|
+
tier: 1,
|
|
374
|
+
message: summary,
|
|
375
|
+
dedupe: `tree_pairs:${id}`,
|
|
376
|
+
files,
|
|
377
|
+
details: { trigger: 'tree_pairs_ready', tree: entry.tree, task, after_sha: entry.after_sha },
|
|
378
|
+
}, log);
|
|
379
|
+
if (delivery.ok) {
|
|
296
380
|
succeeded.push({ entry, id });
|
|
297
381
|
log(`✅ dispatched ${id}`);
|
|
298
382
|
}
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
log(`⚠ hive signal failed for ${id}: ${msg} — retaining in pending`);
|
|
383
|
+
else {
|
|
384
|
+
log(`⚠ dispatch failed for ${id}: ${delivery.reason} — retaining in pending`);
|
|
302
385
|
failed.push(raw);
|
|
303
386
|
}
|
|
304
387
|
}
|
|
@@ -346,20 +429,10 @@ async function handlePush(event, localPaths, log) {
|
|
|
346
429
|
const shortSha = event.after_sha?.slice(0, 7) ?? 'unknown';
|
|
347
430
|
const who = event.sender_login ?? 'unknown';
|
|
348
431
|
const branch = event.branch ?? event.ref ?? 'unknown';
|
|
349
|
-
log(`⚠ git push: ${event.repo} ${branch} by ${who} (${shortSha}) — run \`spidersan
|
|
350
|
-
//
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
const commitCount = event.commits?.length ?? 1;
|
|
354
|
-
const summary = `${commitCount} commit${commitCount !== 1 ? 's' : ''} pushed to ${event.repo}/${branch} by ${who} (${shortSha})`;
|
|
355
|
-
execFile('envoak', [
|
|
356
|
-
'hive', 'signal',
|
|
357
|
-
'--status', 'idle',
|
|
358
|
-
'--task', `main updated: ${event.repo}`,
|
|
359
|
-
'--summary', summary,
|
|
360
|
-
], { timeout: 10000 }, () => { });
|
|
361
|
-
log(`📡 hive signal emitted: ${summary}`);
|
|
362
|
-
}
|
|
432
|
+
log(`⚠ git push: ${event.repo} ${branch} by ${who} (${shortSha}) — run \`spidersan conflicts\` to check conflicts`);
|
|
433
|
+
// sp-8iqm: the main-updated fleet announce was removed, not re-pointed. It
|
|
434
|
+
// fired into a dead `envoak hive signal` for a month and nobody missed it;
|
|
435
|
+
// the push is already logged to the activity log below. Alerts are for conflicts, not for every push to main.
|
|
363
436
|
const entry = {
|
|
364
437
|
type: 'git_push',
|
|
365
438
|
repo: event.repo,
|
|
@@ -368,12 +441,12 @@ async function handlePush(event, localPaths, log) {
|
|
|
368
441
|
after_sha: shortSha,
|
|
369
442
|
received_at: event.received_at,
|
|
370
443
|
ts: new Date().toISOString(),
|
|
371
|
-
action_hint: 'spidersan
|
|
444
|
+
action_hint: 'spidersan conflicts',
|
|
372
445
|
};
|
|
373
446
|
appendLog(ACTIVITY_LOG, { ...entry, source: 'git-watch' });
|
|
374
447
|
appendLog(PENDING_LOG, entry);
|
|
375
448
|
// Detect newly committed gold pairs in sql-tree / ts-tree
|
|
376
|
-
if (event.repo
|
|
449
|
+
if (isTreebirdRepo(event.repo)) {
|
|
377
450
|
await detectTreePairs(event, log);
|
|
378
451
|
}
|
|
379
452
|
// Phase C: AI advice — computed once per event (not per local path)
|
|
@@ -407,12 +480,16 @@ async function handlePush(event, localPaths, log) {
|
|
|
407
480
|
},
|
|
408
481
|
});
|
|
409
482
|
log(`🕷 AI [T${advice.tier}/${advice.action}] ${event.repo}/${branch}: ${advice.message.slice(0, 120)}`);
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
483
|
+
await deliver(notifier(), {
|
|
484
|
+
repo: event.repo,
|
|
485
|
+
branch,
|
|
486
|
+
tier: advice.tier,
|
|
487
|
+
message: advice.message,
|
|
488
|
+
dedupe: `push:${event.after_sha ?? 'unknown'}`,
|
|
489
|
+
agent: who !== 'unknown' ? who : undefined,
|
|
490
|
+
files,
|
|
491
|
+
details: { action: advice.action, commands: advice.commands, trigger: 'push', after_sha: event.after_sha },
|
|
492
|
+
}, log);
|
|
416
493
|
}
|
|
417
494
|
}
|
|
418
495
|
catch {
|
|
@@ -455,11 +532,15 @@ async function handlePR(event, _localPaths, log) {
|
|
|
455
532
|
},
|
|
456
533
|
});
|
|
457
534
|
log(`🕷 AI [T${advice.tier}/${advice.action}] PR ${event.repo}/${branch}: ${advice.message.slice(0, 120)}`);
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
535
|
+
await deliver(notifier(), {
|
|
536
|
+
repo: event.repo,
|
|
537
|
+
branch,
|
|
538
|
+
tier: advice.tier,
|
|
539
|
+
message: advice.message,
|
|
540
|
+
dedupe: `pr:${action}`,
|
|
541
|
+
agent: who !== 'unknown' ? who : undefined,
|
|
542
|
+
details: { action: advice.action, commands: advice.commands, trigger: 'pull_request', pr_action: action },
|
|
543
|
+
}, log);
|
|
463
544
|
}
|
|
464
545
|
}
|
|
465
546
|
catch {
|
|
@@ -532,12 +613,19 @@ async function handleDelete(event, localPaths, log) {
|
|
|
532
613
|
deleted_by: who,
|
|
533
614
|
},
|
|
534
615
|
});
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
616
|
+
// Tier 2: the files were tracked for conflict detection, so
|
|
617
|
+
// another branch may still be registered against them —
|
|
618
|
+
// actionable, but not a BLOCK the way a live overlap is.
|
|
619
|
+
await deliver(notifier(), {
|
|
620
|
+
repo: event.repo,
|
|
621
|
+
branch,
|
|
622
|
+
tier: 2,
|
|
623
|
+
message: `deleted branch had ${entry.files.length} active conflict registration(s) — other branches may share these files`,
|
|
624
|
+
dedupe: 'branch_deleted',
|
|
625
|
+
agent: who !== 'unknown' ? who : undefined,
|
|
626
|
+
files: entry.files,
|
|
627
|
+
details: { trigger: 'branch_deleted_with_active_registrations', deleted_by: who },
|
|
628
|
+
}, log);
|
|
541
629
|
}
|
|
542
630
|
// Archive first, then remove from active registry
|
|
543
631
|
appendLog(ARCHIVE_LOG, {
|
|
@@ -559,7 +647,7 @@ async function handleDelete(event, localPaths, log) {
|
|
|
559
647
|
}
|
|
560
648
|
async function dispatchEvent(event, repoMap, opts) {
|
|
561
649
|
const log = opts.logger ?? (opts.quiet ? () => { } : (m) => console.log(`[git-watch] ${m}`));
|
|
562
|
-
const localPaths = repoMap.get(event.repo) ?? [];
|
|
650
|
+
const localPaths = repoMap.get(event.repo.toLowerCase()) ?? [];
|
|
563
651
|
opts.onEvent?.(event);
|
|
564
652
|
switch (event.event_type) {
|
|
565
653
|
case 'push': return handlePush(event, localPaths, log);
|
|
@@ -569,11 +657,10 @@ async function dispatchEvent(event, repoMap, opts) {
|
|
|
569
657
|
}
|
|
570
658
|
}
|
|
571
659
|
function getConfig() {
|
|
572
|
-
const url =
|
|
660
|
+
const { url, key } = resolveSupabaseEnv();
|
|
573
661
|
if (!url)
|
|
574
662
|
return null;
|
|
575
663
|
const jwt = process.env.COLONY_SESSION_JWT;
|
|
576
|
-
const key = process.env.SUPABASE_KEY;
|
|
577
664
|
if (!jwt && !key)
|
|
578
665
|
return null;
|
|
579
666
|
return { url, key: key ?? '', jwt };
|
|
@@ -737,6 +824,8 @@ export async function startGitWatch(opts = {}) {
|
|
|
737
824
|
}
|
|
738
825
|
const repoMap = buildRepoMap(opts.repoPaths ?? []);
|
|
739
826
|
log(`Watching ${repoMap.size} repo(s): ${[...repoMap.keys()].join(', ')}`);
|
|
827
|
+
// Working-tree integrity sweep on startup (catches a stranded/stale-reverted tree)
|
|
828
|
+
sweepWorkingTreeIntegrity(repoMap, log);
|
|
740
829
|
// Shared high-water mark (monotonic seq dedup between realtime + poll paths)
|
|
741
830
|
const highWaterMark = { seq: readCursor() };
|
|
742
831
|
// Catch-up on startup
|
|
@@ -753,6 +842,7 @@ export async function startGitWatch(opts = {}) {
|
|
|
753
842
|
// Safety-sweep poll (5 min when realtime active, else use configured interval)
|
|
754
843
|
const sweepMs = realtimeHandle ? Math.max(pollMs, 5 * 60_000) : pollMs;
|
|
755
844
|
const pollTimer = setInterval(async () => {
|
|
845
|
+
sweepWorkingTreeIntegrity(repoMap, log);
|
|
756
846
|
await catchUp(cfg, repoMap, opts);
|
|
757
847
|
await consumePendingTreePairs(log);
|
|
758
848
|
}, sweepMs);
|
|
@@ -773,6 +863,7 @@ export async function catchUpOnce(opts = {}) {
|
|
|
773
863
|
throw new Error('git-watch: SUPABASE_URL and (SUPABASE_KEY or COLONY_SESSION_JWT) are required');
|
|
774
864
|
const repoMap = buildRepoMap(opts.repoPaths ?? []);
|
|
775
865
|
const log = opts.logger ?? (opts.quiet ? () => { } : (m) => console.log(`[git-watch] ${m}`));
|
|
866
|
+
sweepWorkingTreeIntegrity(repoMap, log);
|
|
776
867
|
await catchUp(cfg, repoMap, opts);
|
|
777
868
|
await consumePendingTreePairs(log);
|
|
778
869
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-events-subscriber.js","sourceRoot":"","sources":["../../src/lib/git-events-subscriber.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"git-events-subscriber.js","sourceRoot":"","sources":["../../src/lib/git-events-subscriber.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { MergeConflictKind } from './git.js';
|
|
2
|
+
/**
|
|
3
|
+
* Real merge-conflict analysis (git merge-tree backed).
|
|
4
|
+
*
|
|
5
|
+
* Thin orchestration over {@link getMergeConflicts}. Pure function of git state —
|
|
6
|
+
* no registry, no network. NEVER throws for "branch conflicts": a true conflict is
|
|
7
|
+
* a successful RESULT (`clean: false`); only environmental failures (missing ref,
|
|
8
|
+
* not a repository, unsupported tooling) populate `error`.
|
|
9
|
+
*
|
|
10
|
+
* Consumed by the `conflicts --real` command (B1) and `merge-plan`.
|
|
11
|
+
*
|
|
12
|
+
* @module git-merge-analyzer
|
|
13
|
+
*/
|
|
14
|
+
export type { MergeConflictKind } from './git.js';
|
|
15
|
+
export interface RealConflict {
|
|
16
|
+
file: string;
|
|
17
|
+
kind: MergeConflictKind;
|
|
18
|
+
}
|
|
19
|
+
export interface RealConflictReport {
|
|
20
|
+
base: string;
|
|
21
|
+
branch: string;
|
|
22
|
+
mergeBase: string | null;
|
|
23
|
+
conflicts: RealConflict[];
|
|
24
|
+
clean: boolean;
|
|
25
|
+
method: 'write-tree' | 'legacy';
|
|
26
|
+
error?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Compute true merge conflicts merging `branch` into `base`.
|
|
30
|
+
*
|
|
31
|
+
* @param base Trunk / target ref to merge into (local branch, `origin/<ref>`, or SHA).
|
|
32
|
+
* @param branch Feature ref being merged (local branch, `origin/<ref>`, or SHA).
|
|
33
|
+
* @returns A {@link RealConflictReport}. Never rejects for "they conflict"; resolves
|
|
34
|
+
* with `clean: false` and the conflict list. Environmental failures resolve
|
|
35
|
+
* with `error` set and `clean: false`.
|
|
36
|
+
*/
|
|
37
|
+
export declare function analyzeRealConflicts(base: string, branch: string): Promise<RealConflictReport>;
|
|
38
|
+
//# sourceMappingURL=git-merge-analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-merge-analyzer.d.ts","sourceRoot":"","sources":["../../src/lib/git-merge-analyzer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD;;;;;;;;;;;GAWG;AAEH,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAYpG"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { getMergeConflicts } from './git.js';
|
|
2
|
+
/**
|
|
3
|
+
* Compute true merge conflicts merging `branch` into `base`.
|
|
4
|
+
*
|
|
5
|
+
* @param base Trunk / target ref to merge into (local branch, `origin/<ref>`, or SHA).
|
|
6
|
+
* @param branch Feature ref being merged (local branch, `origin/<ref>`, or SHA).
|
|
7
|
+
* @returns A {@link RealConflictReport}. Never rejects for "they conflict"; resolves
|
|
8
|
+
* with `clean: false` and the conflict list. Environmental failures resolve
|
|
9
|
+
* with `error` set and `clean: false`.
|
|
10
|
+
*/
|
|
11
|
+
export async function analyzeRealConflicts(base, branch) {
|
|
12
|
+
const result = getMergeConflicts(base, branch);
|
|
13
|
+
return {
|
|
14
|
+
base: result.base,
|
|
15
|
+
branch: result.branch,
|
|
16
|
+
mergeBase: result.mergeBase,
|
|
17
|
+
conflicts: result.conflicts.map(({ file, kind }) => ({ file, kind })),
|
|
18
|
+
clean: result.error ? false : result.conflicts.length === 0,
|
|
19
|
+
method: result.method,
|
|
20
|
+
error: result.error,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=git-merge-analyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-merge-analyzer.js","sourceRoot":"","sources":["../../src/lib/git-merge-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAiC7C;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAY,EAAE,MAAc;IACnE,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAE/C,OAAO;QACH,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAC3D,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;KACtB,CAAC;AACN,CAAC"}
|
package/dist/lib/git.d.ts
CHANGED
|
@@ -1,15 +1,103 @@
|
|
|
1
|
+
import type { ExecFileSyncOptionsWithStringEncoding } from 'child_process';
|
|
1
2
|
export declare class GitError extends Error {
|
|
2
3
|
readonly code: 'NOT_A_REPO' | 'INVALID_REF' | 'EXEC_FAILED';
|
|
3
4
|
constructor(message: string, code: 'NOT_A_REPO' | 'INVALID_REF' | 'EXEC_FAILED');
|
|
4
5
|
}
|
|
6
|
+
type GitExecOptions = Pick<ExecFileSyncOptionsWithStringEncoding, 'stdio' | 'env' | 'timeout'>;
|
|
7
|
+
export declare function execGit(args: string[], options?: GitExecOptions): string;
|
|
5
8
|
export declare function getCurrentBranch(): string;
|
|
9
|
+
/**
|
|
10
|
+
* Repo name as used for the `repo_name` column in spider_registries.
|
|
11
|
+
*
|
|
12
|
+
* Must stay identical across push and read paths: `registry-sync --push` stamps
|
|
13
|
+
* rows with this value and `conflicts`/`cross-conflicts` filter on it, so any
|
|
14
|
+
* divergence makes a pull silently return zero rows (tb-ly0b).
|
|
15
|
+
*/
|
|
16
|
+
export declare function getRepoName(): string;
|
|
17
|
+
/**
|
|
18
|
+
* Every repo_name a read should match: the clone's directory name (what registry-sync
|
|
19
|
+
* writes) plus the lowercased GitHub repo name from `origin` (what the spidersan-webhook
|
|
20
|
+
* edge function writes for pushed branches — it never sees the local directory). They
|
|
21
|
+
* differ for spidersan-oss cloned as `spidersan`, or `toak` cloned as `Toak`.
|
|
22
|
+
*/
|
|
23
|
+
export declare function registryRepoNames(): string[];
|
|
6
24
|
export declare function getChangedFiles(options?: {
|
|
7
25
|
base?: string;
|
|
8
26
|
}): string[];
|
|
9
27
|
export declare function getFileAtRef(ref: string, filePath: string): string | null;
|
|
10
28
|
export declare function getRemoteHead(remote: string, branch: string): string | null;
|
|
29
|
+
export type MergeConflictKind = 'content' | 'add/add' | 'delete/modify' | 'rename';
|
|
30
|
+
export interface MergeConflictResult {
|
|
31
|
+
base: string;
|
|
32
|
+
branch: string;
|
|
33
|
+
mergeBase: string | null;
|
|
34
|
+
conflicts: {
|
|
35
|
+
file: string;
|
|
36
|
+
kind: MergeConflictKind;
|
|
37
|
+
}[];
|
|
38
|
+
clean: boolean;
|
|
39
|
+
method: 'write-tree' | 'legacy';
|
|
40
|
+
rawOutput?: string;
|
|
41
|
+
error?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Real conflicts merging `branch` into `base`. Prefers `--write-tree` (git ≥2.38),
|
|
45
|
+
* falls back to the legacy 3-arg form. NEVER throws for "they conflict" — only sets
|
|
46
|
+
* `error` for environmental failures (bad ref / not a repo / unsupported tooling).
|
|
47
|
+
*/
|
|
48
|
+
export declare function getMergeConflicts(base: string, branch: string): MergeConflictResult;
|
|
11
49
|
export declare function getAheadBehind(remote?: string, branch?: string): {
|
|
12
50
|
ahead: number;
|
|
13
51
|
behind: number;
|
|
14
52
|
};
|
|
53
|
+
/**
|
|
54
|
+
* Resolve a usable git ref for a branch name, preferring the remote-tracking
|
|
55
|
+
* ref (`refs/remotes/<remote>/<name>`) over the local ref (`refs/heads/<name>`).
|
|
56
|
+
*
|
|
57
|
+
* Returns the resolved ref string, or `null` if neither a remote nor a local
|
|
58
|
+
* ref exists — i.e. the branch is gone from this checkout AND the remote
|
|
59
|
+
* (an orphan). Preferring the remote ref means a stale local branch doesn't
|
|
60
|
+
* mask a delete, and vice-versa.
|
|
61
|
+
*
|
|
62
|
+
* Invalid branch names resolve to `null` rather than throwing, so a poisoned
|
|
63
|
+
* registry entry degrades to "orphan" instead of crashing reconcile-on-read.
|
|
64
|
+
*/
|
|
65
|
+
export declare function resolveBranchRef(name: string, remote?: string): string | null;
|
|
66
|
+
/**
|
|
67
|
+
* Branch names that exist on `remote` right now (`git ls-remote --heads`), or
|
|
68
|
+
* `null` when the remote can't be asked (offline, no remote, timeout). A missing
|
|
69
|
+
* local/tracking ref only proves "not fetched here"; this is the call that
|
|
70
|
+
* proves "deleted". One network round-trip for the whole registry.
|
|
71
|
+
*/
|
|
72
|
+
export declare function listRemoteHeads(remote?: string): Set<string> | null;
|
|
73
|
+
/** Resolve only the LOCAL ref (`refs/heads/<name>`), or `null` if none. */
|
|
74
|
+
export declare function resolveLocalBranchRef(name: string): string | null;
|
|
75
|
+
/**
|
|
76
|
+
* True if `ref` is an ancestor of `ancestorOf` — i.e. `ref` is fully merged
|
|
77
|
+
* into it. Backed by `git merge-base --is-ancestor` (exit 0 = ancestor,
|
|
78
|
+
* exit 1 = not). Any failure (not-an-ancestor, bad ref, not a repo) returns
|
|
79
|
+
* `false`, so the caller treats "can't prove merged" as "still live" — the
|
|
80
|
+
* safe default for conflict detection.
|
|
81
|
+
*
|
|
82
|
+
* NOTE: detects merge-commit / fast-forward merges, where the branch tip is
|
|
83
|
+
* an ancestor of trunk. Squash merges rewrite history, so the tip is NOT an
|
|
84
|
+
* ancestor — use {@link isSquashMergedInto} for those.
|
|
85
|
+
*/
|
|
86
|
+
export declare function isMergedInto(ref: string, ancestorOf: string): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* True if `ref`'s content landed in `ancestorOf` via a SQUASH merge (tb-tr1z).
|
|
89
|
+
*
|
|
90
|
+
* Squash merges rewrite history, so `merge-base --is-ancestor` can never see
|
|
91
|
+
* them. Instead we ask whether trunk contains a patch-id-equivalent change:
|
|
92
|
+
* commit the branch's tree onto its merge-base as one synthetic commit (the
|
|
93
|
+
* exact diff a squash merge lands), then `git cherry` it against trunk — a
|
|
94
|
+
* leading `-` means an equivalent patch is already there.
|
|
95
|
+
*
|
|
96
|
+
* The synthetic commit is a dangling object git eventually gc's; author and
|
|
97
|
+
* dates are pinned so repeat probes reuse the identical object instead of
|
|
98
|
+
* accreting new ones. Any failure returns `false` — "can't prove merged"
|
|
99
|
+
* stays "live", same as {@link isMergedInto}.
|
|
100
|
+
*/
|
|
101
|
+
export declare function isSquashMergedInto(ref: string, ancestorOf: string): boolean;
|
|
102
|
+
export {};
|
|
15
103
|
//# sourceMappingURL=git.d.ts.map
|