spidersan 0.9.0 → 0.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +187 -0
- package/README.md +39 -280
- package/package.json +9 -13
- package/dist/bin/spidersan.d.ts +0 -9
- package/dist/bin/spidersan.d.ts.map +0 -1
- package/dist/bin/spidersan.js +0 -117
- package/dist/bin/spidersan.js.map +0 -1
- package/dist/commands/abandon.d.ts +0 -8
- package/dist/commands/abandon.d.ts.map +0 -1
- package/dist/commands/abandon.js +0 -43
- package/dist/commands/abandon.js.map +0 -1
- 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 -398
- package/dist/commands/bot.js.map +0 -1
- package/dist/commands/cleanup.d.ts +0 -8
- package/dist/commands/cleanup.d.ts.map +0 -1
- package/dist/commands/cleanup.js +0 -36
- package/dist/commands/cleanup.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/config.d.ts +0 -15
- package/dist/commands/config.d.ts.map +0 -1
- package/dist/commands/config.js +0 -337
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/conflicts.d.ts +0 -12
- package/dist/commands/conflicts.d.ts.map +0 -1
- package/dist/commands/conflicts.js +0 -581
- package/dist/commands/conflicts.js.map +0 -1
- package/dist/commands/context.d.ts +0 -8
- package/dist/commands/context.d.ts.map +0 -1
- package/dist/commands/context.js +0 -104
- package/dist/commands/context.js.map +0 -1
- package/dist/commands/cross-conflicts.d.ts +0 -17
- package/dist/commands/cross-conflicts.d.ts.map +0 -1
- package/dist/commands/cross-conflicts.js +0 -268
- package/dist/commands/cross-conflicts.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/depends.d.ts +0 -8
- package/dist/commands/depends.d.ts.map +0 -1
- package/dist/commands/depends.js +0 -36
- package/dist/commands/depends.js.map +0 -1
- package/dist/commands/doctor.d.ts +0 -30
- package/dist/commands/doctor.d.ts.map +0 -1
- package/dist/commands/doctor.js +0 -540
- package/dist/commands/doctor.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/git-watch.d.ts +0 -24
- package/dist/commands/git-watch.d.ts.map +0 -1
- package/dist/commands/git-watch.js +0 -84
- package/dist/commands/git-watch.js.map +0 -1
- package/dist/commands/github-sync.d.ts +0 -9
- package/dist/commands/github-sync.d.ts.map +0 -1
- package/dist/commands/github-sync.js +0 -180
- package/dist/commands/github-sync.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/index.d.ts +0 -36
- package/dist/commands/index.d.ts.map +0 -1
- package/dist/commands/index.js +0 -44
- package/dist/commands/index.js.map +0 -1
- package/dist/commands/init.d.ts +0 -8
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -23
- package/dist/commands/init.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/list.d.ts +0 -3
- package/dist/commands/list.d.ts.map +0 -1
- package/dist/commands/list.js +0 -45
- package/dist/commands/list.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/log.d.ts +0 -7
- package/dist/commands/log.d.ts.map +0 -1
- package/dist/commands/log.js +0 -110
- package/dist/commands/log.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/merge-order.d.ts +0 -9
- package/dist/commands/merge-order.d.ts.map +0 -1
- package/dist/commands/merge-order.js +0 -96
- package/dist/commands/merge-order.js.map +0 -1
- package/dist/commands/merged.d.ts +0 -8
- package/dist/commands/merged.d.ts.map +0 -1
- package/dist/commands/merged.js +0 -33
- package/dist/commands/merged.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 -245
- 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/ready-check.d.ts +0 -11
- package/dist/commands/ready-check.d.ts.map +0 -1
- package/dist/commands/ready-check.js +0 -147
- package/dist/commands/ready-check.js.map +0 -1
- package/dist/commands/rebase-helper.d.ts +0 -3
- package/dist/commands/rebase-helper.d.ts.map +0 -1
- package/dist/commands/rebase-helper.js +0 -52
- package/dist/commands/rebase-helper.js.map +0 -1
- package/dist/commands/register.d.ts +0 -5
- package/dist/commands/register.d.ts.map +0 -1
- package/dist/commands/register.js +0 -156
- package/dist/commands/register.js.map +0 -1
- package/dist/commands/registry-sync.d.ts +0 -9
- package/dist/commands/registry-sync.d.ts.map +0 -1
- package/dist/commands/registry-sync.js +0 -163
- package/dist/commands/registry-sync.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/stale.d.ts +0 -17
- package/dist/commands/stale.d.ts.map +0 -1
- package/dist/commands/stale.js +0 -131
- package/dist/commands/stale.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/sync.d.ts +0 -8
- package/dist/commands/sync.d.ts.map +0 -1
- package/dist/commands/sync.js +0 -60
- package/dist/commands/sync.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/watch.d.ts +0 -3
- package/dist/commands/watch.d.ts.map +0 -1
- package/dist/commands/watch.js +0 -428
- package/dist/commands/watch.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/index.d.ts +0 -11
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -11
- package/dist/index.js.map +0 -1
- package/dist/lib/activity.d.ts +0 -53
- package/dist/lib/activity.d.ts.map +0 -1
- package/dist/lib/activity.js +0 -267
- package/dist/lib/activity.js.map +0 -1
- package/dist/lib/agent-errors.d.ts +0 -41
- package/dist/lib/agent-errors.d.ts.map +0 -1
- package/dist/lib/agent-errors.js +0 -145
- package/dist/lib/agent-errors.js.map +0 -1
- package/dist/lib/ai/context-builder.d.ts +0 -16
- package/dist/lib/ai/context-builder.d.ts.map +0 -1
- package/dist/lib/ai/context-builder.js +0 -216
- package/dist/lib/ai/context-builder.js.map +0 -1
- package/dist/lib/ai/event-handler.d.ts +0 -21
- package/dist/lib/ai/event-handler.d.ts.map +0 -1
- package/dist/lib/ai/event-handler.js +0 -98
- package/dist/lib/ai/event-handler.js.map +0 -1
- package/dist/lib/ai/index.d.ts +0 -13
- package/dist/lib/ai/index.d.ts.map +0 -1
- package/dist/lib/ai/index.js +0 -11
- package/dist/lib/ai/index.js.map +0 -1
- package/dist/lib/ai/llm-client.d.ts +0 -37
- package/dist/lib/ai/llm-client.d.ts.map +0 -1
- package/dist/lib/ai/llm-client.js +0 -225
- package/dist/lib/ai/llm-client.js.map +0 -1
- package/dist/lib/ai/reasoner.d.ts +0 -11
- package/dist/lib/ai/reasoner.d.ts.map +0 -1
- package/dist/lib/ai/reasoner.js +0 -246
- package/dist/lib/ai/reasoner.js.map +0 -1
- package/dist/lib/ai/setup.d.ts +0 -40
- package/dist/lib/ai/setup.d.ts.map +0 -1
- package/dist/lib/ai/setup.js +0 -154
- package/dist/lib/ai/setup.js.map +0 -1
- package/dist/lib/ai/types.d.ts +0 -135
- package/dist/lib/ai/types.d.ts.map +0 -1
- package/dist/lib/ai/types.js +0 -39
- package/dist/lib/ai/types.js.map +0 -1
- package/dist/lib/ast.d.ts +0 -36
- package/dist/lib/ast.d.ts.map +0 -1
- package/dist/lib/ast.js +0 -135
- package/dist/lib/ast.js.map +0 -1
- package/dist/lib/colony-subscriber.d.ts +0 -56
- package/dist/lib/colony-subscriber.d.ts.map +0 -1
- package/dist/lib/colony-subscriber.js +0 -265
- package/dist/lib/colony-subscriber.js.map +0 -1
- package/dist/lib/config.d.ts +0 -62
- package/dist/lib/config.d.ts.map +0 -1
- package/dist/lib/config.js +0 -230
- package/dist/lib/config.js.map +0 -1
- package/dist/lib/conflict-analyzer.d.ts +0 -33
- package/dist/lib/conflict-analyzer.d.ts.map +0 -1
- package/dist/lib/conflict-analyzer.js +0 -114
- package/dist/lib/conflict-analyzer.js.map +0 -1
- package/dist/lib/conflict-renderer.d.ts +0 -7
- package/dist/lib/conflict-renderer.d.ts.map +0 -1
- package/dist/lib/conflict-renderer.js +0 -162
- package/dist/lib/conflict-renderer.js.map +0 -1
- package/dist/lib/conflict-tier.d.ts +0 -20
- package/dist/lib/conflict-tier.d.ts.map +0 -1
- package/dist/lib/conflict-tier.js +0 -49
- package/dist/lib/conflict-tier.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/crypto.d.ts +0 -71
- package/dist/lib/crypto.d.ts.map +0 -1
- package/dist/lib/crypto.js +0 -176
- package/dist/lib/crypto.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/errors.d.ts +0 -35
- package/dist/lib/errors.d.ts.map +0 -1
- package/dist/lib/errors.js +0 -71
- package/dist/lib/errors.js.map +0 -1
- package/dist/lib/git-events-subscriber.d.ts +0 -59
- package/dist/lib/git-events-subscriber.d.ts.map +0 -1
- package/dist/lib/git-events-subscriber.js +0 -779
- package/dist/lib/git-events-subscriber.js.map +0 -1
- package/dist/lib/git.d.ts +0 -15
- package/dist/lib/git.d.ts.map +0 -1
- package/dist/lib/git.js +0 -180
- package/dist/lib/git.js.map +0 -1
- package/dist/lib/github.d.ts +0 -83
- package/dist/lib/github.d.ts.map +0 -1
- package/dist/lib/github.js +0 -211
- package/dist/lib/github.js.map +0 -1
- package/dist/lib/graph.d.ts +0 -23
- package/dist/lib/graph.d.ts.map +0 -1
- package/dist/lib/graph.js +0 -134
- package/dist/lib/graph.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/regex-utils.d.ts +0 -6
- package/dist/lib/regex-utils.d.ts.map +0 -1
- package/dist/lib/regex-utils.js +0 -24
- package/dist/lib/regex-utils.js.map +0 -1
- package/dist/lib/remote-drift.d.ts +0 -60
- package/dist/lib/remote-drift.d.ts.map +0 -1
- package/dist/lib/remote-drift.js +0 -225
- package/dist/lib/remote-drift.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/security.d.ts +0 -77
- package/dist/lib/security.d.ts.map +0 -1
- package/dist/lib/security.js +0 -190
- package/dist/lib/security.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/lib/update-check.d.ts +0 -11
- package/dist/lib/update-check.d.ts.map +0 -1
- package/dist/lib/update-check.js +0 -113
- package/dist/lib/update-check.js.map +0 -1
- package/dist/storage/adapter.d.ts +0 -62
- package/dist/storage/adapter.d.ts.map +0 -1
- package/dist/storage/adapter.js +0 -8
- package/dist/storage/adapter.js.map +0 -1
- package/dist/storage/branch-registry-store.d.ts +0 -13
- package/dist/storage/branch-registry-store.d.ts.map +0 -1
- package/dist/storage/branch-registry-store.js +0 -2
- package/dist/storage/branch-registry-store.js.map +0 -1
- package/dist/storage/factory.d.ts +0 -10
- package/dist/storage/factory.d.ts.map +0 -1
- package/dist/storage/factory.js +0 -38
- package/dist/storage/factory.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/index.d.ts +0 -10
- package/dist/storage/index.d.ts.map +0 -1
- package/dist/storage/index.js +0 -11
- package/dist/storage/index.js.map +0 -1
- package/dist/storage/json-branch-registry-store.d.ts +0 -19
- package/dist/storage/json-branch-registry-store.d.ts.map +0 -1
- package/dist/storage/json-branch-registry-store.js +0 -112
- package/dist/storage/json-branch-registry-store.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/local.d.ts +0 -20
- package/dist/storage/local.d.ts.map +0 -1
- package/dist/storage/local.js +0 -40
- package/dist/storage/local.js.map +0 -1
- package/dist/storage/memory-branch-registry-store.d.ts +0 -16
- package/dist/storage/memory-branch-registry-store.d.ts.map +0 -1
- package/dist/storage/memory-branch-registry-store.js +0 -65
- package/dist/storage/memory-branch-registry-store.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/storage/supabase-registry-sync-client-impl.d.ts +0 -46
- package/dist/storage/supabase-registry-sync-client-impl.d.ts.map +0 -1
- package/dist/storage/supabase-registry-sync-client-impl.js +0 -322
- package/dist/storage/supabase-registry-sync-client-impl.js.map +0 -1
- package/dist/storage/supabase-registry-sync-client.d.ts +0 -9
- package/dist/storage/supabase-registry-sync-client.d.ts.map +0 -1
- package/dist/storage/supabase-registry-sync-client.js +0 -2
- package/dist/storage/supabase-registry-sync-client.js.map +0 -1
- package/dist/storage/supabase.d.ts +0 -34
- package/dist/storage/supabase.d.ts.map +0 -1
- package/dist/storage/supabase.js +0 -74
- package/dist/storage/supabase.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
- package/dist/types/cloud.d.ts +0 -101
- package/dist/types/cloud.d.ts.map +0 -1
- package/dist/types/cloud.js +0 -13
- package/dist/types/cloud.js.map +0 -1
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { ASTParser } from './ast.js';
|
|
2
|
-
import { classifyTier, TIER_LABELS } from './conflict-tier.js';
|
|
3
|
-
const SYMBOL_TIER_3_PATTERNS = [
|
|
4
|
-
/auth/i,
|
|
5
|
-
/security/i,
|
|
6
|
-
/secret/i,
|
|
7
|
-
/credential/i,
|
|
8
|
-
/password/i,
|
|
9
|
-
/token/i,
|
|
10
|
-
/api[_-]?key/i,
|
|
11
|
-
/private[_-]?key/i,
|
|
12
|
-
];
|
|
13
|
-
const SYMBOL_TIER_2_PATTERNS = [
|
|
14
|
-
/config/i,
|
|
15
|
-
/server/i,
|
|
16
|
-
/index/i,
|
|
17
|
-
];
|
|
18
|
-
export function analyzeConflicts(input) {
|
|
19
|
-
const options = input.options ?? {};
|
|
20
|
-
const targetFiles = unique(input.targetFiles);
|
|
21
|
-
const targetFilesSet = new Set(targetFiles);
|
|
22
|
-
const activeBranches = input.branches.filter(branch => branch.status === 'active');
|
|
23
|
-
const branchesByFile = new Map();
|
|
24
|
-
const astParser = options.useSymbolAware ? new ASTParser() : null;
|
|
25
|
-
for (const branch of activeBranches) {
|
|
26
|
-
const seenFiles = new Set();
|
|
27
|
-
for (const file of branch.files) {
|
|
28
|
-
if (!targetFilesSet.has(file) || seenFiles.has(file)) {
|
|
29
|
-
continue;
|
|
30
|
-
}
|
|
31
|
-
seenFiles.add(file);
|
|
32
|
-
const refs = branchesByFile.get(file) ?? [];
|
|
33
|
-
refs.push({ name: branch.name, agent: branch.agent });
|
|
34
|
-
branchesByFile.set(file, refs);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
const conflicts = [];
|
|
38
|
-
const byTier = { 1: [], 2: [], 3: [] };
|
|
39
|
-
let highest = 1;
|
|
40
|
-
for (const file of targetFiles) {
|
|
41
|
-
const branches = branchesByFile.get(file);
|
|
42
|
-
if (!branches || branches.length === 0) {
|
|
43
|
-
continue;
|
|
44
|
-
}
|
|
45
|
-
const pathTier = classifyTier(file, {
|
|
46
|
-
extraTier3: options.extraTier3,
|
|
47
|
-
extraTier2: options.extraTier2,
|
|
48
|
-
});
|
|
49
|
-
let tier = pathTier;
|
|
50
|
-
let classifierSource = 'path';
|
|
51
|
-
let symbolsOverlap;
|
|
52
|
-
if (astParser && isSymbolAwareFile(file)) {
|
|
53
|
-
try {
|
|
54
|
-
const symbolTier = classifySymbolTier(astParser.getSymbols(file));
|
|
55
|
-
tier = Math.max(pathTier, symbolTier.tier);
|
|
56
|
-
classifierSource = 'symbol';
|
|
57
|
-
symbolsOverlap = symbolTier.matches.length > 0 ? symbolTier.matches : undefined;
|
|
58
|
-
}
|
|
59
|
-
catch {
|
|
60
|
-
tier = pathTier;
|
|
61
|
-
classifierSource = 'path';
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
const conflict = {
|
|
65
|
-
file,
|
|
66
|
-
tier,
|
|
67
|
-
branches,
|
|
68
|
-
classifierSource,
|
|
69
|
-
recommendation: TIER_LABELS[tier].action,
|
|
70
|
-
...(symbolsOverlap ? { symbolsOverlap } : {}),
|
|
71
|
-
};
|
|
72
|
-
conflicts.push(conflict);
|
|
73
|
-
byTier[tier].push(conflict);
|
|
74
|
-
if (tier > highest) {
|
|
75
|
-
highest = tier;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return {
|
|
79
|
-
conflicts,
|
|
80
|
-
highest,
|
|
81
|
-
shouldBlock: highest === 3,
|
|
82
|
-
byTier,
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
function unique(values) {
|
|
86
|
-
return [...new Set(values)];
|
|
87
|
-
}
|
|
88
|
-
function isSymbolAwareFile(file) {
|
|
89
|
-
return /\.(ts|tsx|js|jsx)$/.test(file);
|
|
90
|
-
}
|
|
91
|
-
function classifySymbolTier(symbols) {
|
|
92
|
-
const tier3Matches = collectMatchingSymbols(symbols, SYMBOL_TIER_3_PATTERNS);
|
|
93
|
-
if (tier3Matches.length > 0) {
|
|
94
|
-
return { tier: 3, matches: tier3Matches };
|
|
95
|
-
}
|
|
96
|
-
const tier2Matches = collectMatchingSymbols(symbols, SYMBOL_TIER_2_PATTERNS);
|
|
97
|
-
if (tier2Matches.length > 0) {
|
|
98
|
-
return { tier: 2, matches: tier2Matches };
|
|
99
|
-
}
|
|
100
|
-
return { tier: 1, matches: [] };
|
|
101
|
-
}
|
|
102
|
-
function collectMatchingSymbols(symbols, patterns) {
|
|
103
|
-
const matches = new Set();
|
|
104
|
-
for (const symbol of symbols) {
|
|
105
|
-
for (const pattern of patterns) {
|
|
106
|
-
if (pattern.test(symbol.name)) {
|
|
107
|
-
matches.add(symbol.name);
|
|
108
|
-
break;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
return [...matches];
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=conflict-analyzer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conflict-analyzer.js","sourceRoot":"","sources":["../../src/lib/conflict-analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { ConflictReport } from './conflict-analyzer.js';
|
|
2
|
-
export interface RenderOptions {
|
|
3
|
-
verbose?: boolean;
|
|
4
|
-
showRecommendations?: boolean;
|
|
5
|
-
}
|
|
6
|
-
export declare function renderConflictReport(report: ConflictReport, options?: RenderOptions): string;
|
|
7
|
-
//# sourceMappingURL=conflict-renderer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conflict-renderer.d.ts","sourceRoot":"","sources":["../../src/lib/conflict-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AASD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CA2ChG"}
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { TIER_LABELS } from './conflict-tier.js';
|
|
2
|
-
export function renderConflictReport(report, options = {}) {
|
|
3
|
-
if (report.conflicts.length === 0) {
|
|
4
|
-
return '🕷️ No conflicts detected\n ✅ You\'re good to merge!';
|
|
5
|
-
}
|
|
6
|
-
const lines = [];
|
|
7
|
-
const branchConflicts = buildBranchConflicts(report);
|
|
8
|
-
const branchSummary = summarizeBranchConflicts(branchConflicts);
|
|
9
|
-
const showRecommendations = options.showRecommendations !== false;
|
|
10
|
-
for (const conflict of branchConflicts) {
|
|
11
|
-
const tierInfo = TIER_LABELS[conflict.tier];
|
|
12
|
-
lines.push(`${tierInfo.icon} TIER ${conflict.tier} (${tierInfo.label}): ${conflict.branch}`);
|
|
13
|
-
for (const file of conflict.files) {
|
|
14
|
-
const fileConflict = report.conflicts.find((entry) => entry.file === file);
|
|
15
|
-
const fileTier = fileConflict ? TIER_LABELS[fileConflict.tier] : tierInfo;
|
|
16
|
-
lines.push(` ${fileTier.icon} ${file}`);
|
|
17
|
-
const symbolsOverlap = conflict.symbolsByFile.get(file) ?? [];
|
|
18
|
-
if (options.verbose && symbolsOverlap.length > 0) {
|
|
19
|
-
lines.push(` ↳ symbols: ${symbolsOverlap.join(', ')}`);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
if (showRecommendations) {
|
|
23
|
-
lines.push(` → ${tierInfo.action}`);
|
|
24
|
-
}
|
|
25
|
-
lines.push('');
|
|
26
|
-
}
|
|
27
|
-
lines.push('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
28
|
-
lines.push(`📊 Summary: 🔴 ${branchSummary.tier3} BLOCK | 🟠 ${branchSummary.tier2} PAUSE | 🟡 ${branchSummary.tier1} WARN`);
|
|
29
|
-
const addAddHelper = renderAddAddResolution(report);
|
|
30
|
-
if (addAddHelper) {
|
|
31
|
-
lines.push(addAddHelper);
|
|
32
|
-
}
|
|
33
|
-
return lines.join('\n');
|
|
34
|
-
}
|
|
35
|
-
function summarizeBranchConflicts(conflicts) {
|
|
36
|
-
return {
|
|
37
|
-
tier1: conflicts.filter((conflict) => conflict.tier === 1).length,
|
|
38
|
-
tier2: conflicts.filter((conflict) => conflict.tier === 2).length,
|
|
39
|
-
tier3: conflicts.filter((conflict) => conflict.tier === 3).length,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
function buildBranchConflicts(report) {
|
|
43
|
-
const branchOrder = inferBranchOrder(report);
|
|
44
|
-
const branchOrderIndex = new Map(branchOrder.map((branch, index) => [branch, index]));
|
|
45
|
-
const grouped = new Map();
|
|
46
|
-
for (const conflict of report.conflicts) {
|
|
47
|
-
for (const branch of conflict.branches) {
|
|
48
|
-
let entry = grouped.get(branch.name);
|
|
49
|
-
if (!entry) {
|
|
50
|
-
entry = {
|
|
51
|
-
branch: branch.name,
|
|
52
|
-
files: [],
|
|
53
|
-
tier: 1,
|
|
54
|
-
symbolsByFile: new Map(),
|
|
55
|
-
};
|
|
56
|
-
grouped.set(branch.name, entry);
|
|
57
|
-
}
|
|
58
|
-
if (!entry.files.includes(conflict.file)) {
|
|
59
|
-
entry.files.push(conflict.file);
|
|
60
|
-
}
|
|
61
|
-
if (conflict.tier > entry.tier) {
|
|
62
|
-
entry.tier = conflict.tier;
|
|
63
|
-
}
|
|
64
|
-
if (conflict.symbolsOverlap && conflict.symbolsOverlap.length > 0) {
|
|
65
|
-
entry.symbolsByFile.set(conflict.file, [...conflict.symbolsOverlap]);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return [...grouped.values()].sort((left, right) => {
|
|
70
|
-
if (right.tier !== left.tier) {
|
|
71
|
-
return right.tier - left.tier;
|
|
72
|
-
}
|
|
73
|
-
return (branchOrderIndex.get(left.branch) ?? Number.MAX_SAFE_INTEGER)
|
|
74
|
-
- (branchOrderIndex.get(right.branch) ?? Number.MAX_SAFE_INTEGER);
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
function inferBranchOrder(report) {
|
|
78
|
-
const adjacency = new Map();
|
|
79
|
-
const indegree = new Map();
|
|
80
|
-
const firstSeen = new Map();
|
|
81
|
-
let seenIndex = 0;
|
|
82
|
-
const ensureBranch = (branch) => {
|
|
83
|
-
if (!adjacency.has(branch)) {
|
|
84
|
-
adjacency.set(branch, new Set());
|
|
85
|
-
}
|
|
86
|
-
if (!indegree.has(branch)) {
|
|
87
|
-
indegree.set(branch, 0);
|
|
88
|
-
}
|
|
89
|
-
if (!firstSeen.has(branch)) {
|
|
90
|
-
firstSeen.set(branch, seenIndex++);
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
for (const conflict of report.conflicts) {
|
|
94
|
-
const branchNames = conflict.branches.map((branch) => branch.name);
|
|
95
|
-
for (const branch of branchNames) {
|
|
96
|
-
ensureBranch(branch);
|
|
97
|
-
}
|
|
98
|
-
for (let index = 0; index < branchNames.length; index++) {
|
|
99
|
-
for (let nextIndex = index + 1; nextIndex < branchNames.length; nextIndex++) {
|
|
100
|
-
const from = branchNames[index];
|
|
101
|
-
const to = branchNames[nextIndex];
|
|
102
|
-
const edges = adjacency.get(from);
|
|
103
|
-
if (!edges || edges.has(to)) {
|
|
104
|
-
continue;
|
|
105
|
-
}
|
|
106
|
-
edges.add(to);
|
|
107
|
-
indegree.set(to, (indegree.get(to) ?? 0) + 1);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
const queue = [...indegree.entries()]
|
|
112
|
-
.filter(([, degree]) => degree === 0)
|
|
113
|
-
.map(([branch]) => branch)
|
|
114
|
-
.sort((left, right) => (firstSeen.get(left) ?? 0) - (firstSeen.get(right) ?? 0));
|
|
115
|
-
const ordered = [];
|
|
116
|
-
while (queue.length > 0) {
|
|
117
|
-
const branch = queue.shift();
|
|
118
|
-
if (!branch) {
|
|
119
|
-
break;
|
|
120
|
-
}
|
|
121
|
-
ordered.push(branch);
|
|
122
|
-
for (const next of adjacency.get(branch) ?? []) {
|
|
123
|
-
const nextDegree = (indegree.get(next) ?? 0) - 1;
|
|
124
|
-
indegree.set(next, nextDegree);
|
|
125
|
-
if (nextDegree === 0) {
|
|
126
|
-
queue.push(next);
|
|
127
|
-
queue.sort((left, right) => (firstSeen.get(left) ?? 0) - (firstSeen.get(right) ?? 0));
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
if (ordered.length === indegree.size) {
|
|
132
|
-
return ordered;
|
|
133
|
-
}
|
|
134
|
-
return [...firstSeen.entries()]
|
|
135
|
-
.sort((left, right) => left[1] - right[1])
|
|
136
|
-
.map(([branch]) => branch);
|
|
137
|
-
}
|
|
138
|
-
function renderAddAddResolution(report) {
|
|
139
|
-
const addAddFiles = report.conflicts
|
|
140
|
-
.map((conflict) => conflict.file)
|
|
141
|
-
.filter((file) => /\.md$/.test(file) || /docs\//.test(file));
|
|
142
|
-
if (addAddFiles.length === 0) {
|
|
143
|
-
return '';
|
|
144
|
-
}
|
|
145
|
-
const uniqueFiles = [...new Set(addAddFiles)];
|
|
146
|
-
return [
|
|
147
|
-
'',
|
|
148
|
-
'💡 Add/Add Conflict Helper',
|
|
149
|
-
'━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━',
|
|
150
|
-
'Detected files added in both branches. Recommended actions:',
|
|
151
|
-
' 1. Preserve incoming variant for auditability:',
|
|
152
|
-
' git checkout --theirs <file> && mv <file> <file>.<their-branch>.incoming && git add <file>.<their-branch>.incoming',
|
|
153
|
-
' 2. Keep canonical version in main branch and include note linking the incoming variant.',
|
|
154
|
-
' 3. Commit and continue rebase: git add -A && git rebase --continue',
|
|
155
|
-
'',
|
|
156
|
-
'Examples:',
|
|
157
|
-
...uniqueFiles.map((file) => ` • ${file} -> preserve incoming as ${file}.incoming`),
|
|
158
|
-
'━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━',
|
|
159
|
-
'',
|
|
160
|
-
].join('\n');
|
|
161
|
-
}
|
|
162
|
-
//# sourceMappingURL=conflict-renderer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conflict-renderer.js","sourceRoot":"","sources":["../../src/lib/conflict-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export type ConflictTier = 1 | 2 | 3;
|
|
2
|
-
export interface TierLabel {
|
|
3
|
-
label: string;
|
|
4
|
-
icon: string;
|
|
5
|
-
action: string;
|
|
6
|
-
}
|
|
7
|
-
export declare const DEFAULT_TIER_3_PATTERNS: RegExp[];
|
|
8
|
-
export declare const DEFAULT_TIER_2_PATTERNS: RegExp[];
|
|
9
|
-
export declare const TIER_LABELS: Record<ConflictTier, TierLabel>;
|
|
10
|
-
export declare function classifyTier(file: string, opts?: {
|
|
11
|
-
extraTier3?: RegExp[];
|
|
12
|
-
extraTier2?: RegExp[];
|
|
13
|
-
}): ConflictTier;
|
|
14
|
-
export declare function classifyWithLabel(file: string, opts?: {
|
|
15
|
-
extraTier3?: RegExp[];
|
|
16
|
-
extraTier2?: RegExp[];
|
|
17
|
-
}): {
|
|
18
|
-
tier: ConflictTier;
|
|
19
|
-
} & TierLabel;
|
|
20
|
-
//# sourceMappingURL=conflict-tier.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conflict-tier.d.ts","sourceRoot":"","sources":["../../src/lib/conflict-tier.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAErC,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,uBAAuB,EAAE,MAAM,EAU3C,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,EAS3C,CAAC;AAKF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,CAIvD,CAAC;AAEF,wBAAgB,YAAY,CACxB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GAC5D,YAAY,CAgBd;AAED,wBAAgB,iBAAiB,CAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GAC5D;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GAAG,SAAS,CAGpC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { compilePatterns } from './regex-utils.js';
|
|
2
|
-
export const DEFAULT_TIER_3_PATTERNS = [
|
|
3
|
-
/\.env$/,
|
|
4
|
-
/secrets?\./i,
|
|
5
|
-
/credentials/i,
|
|
6
|
-
/password/i,
|
|
7
|
-
/api[_-]?key/i,
|
|
8
|
-
/private[_-]?key/i,
|
|
9
|
-
/\.pem$/,
|
|
10
|
-
/auth\.(ts|js)$/,
|
|
11
|
-
/security\.(ts|js)$/,
|
|
12
|
-
];
|
|
13
|
-
export const DEFAULT_TIER_2_PATTERNS = [
|
|
14
|
-
/package\.json$/,
|
|
15
|
-
/package-lock\.json$/,
|
|
16
|
-
/tsconfig\.json$/,
|
|
17
|
-
/CLAUDE\.md$/,
|
|
18
|
-
/\.gitignore$/,
|
|
19
|
-
/server\.(ts|js)$/,
|
|
20
|
-
/index\.(ts|js)$/,
|
|
21
|
-
/config\.(ts|js)$/,
|
|
22
|
-
];
|
|
23
|
-
const COMPILED_DEFAULT_TIER_3 = compilePatterns(DEFAULT_TIER_3_PATTERNS);
|
|
24
|
-
const COMPILED_DEFAULT_TIER_2 = compilePatterns(DEFAULT_TIER_2_PATTERNS);
|
|
25
|
-
export const TIER_LABELS = {
|
|
26
|
-
1: { label: 'WARN', icon: '🟡', action: 'Consider coordinating, but safe to proceed.' },
|
|
27
|
-
2: { label: 'PAUSE', icon: '🟠', action: 'Coordinate with other agent before proceeding.' },
|
|
28
|
-
3: { label: 'BLOCK', icon: '🔴', action: 'Merge blocked. Resolve conflict first.' },
|
|
29
|
-
};
|
|
30
|
-
export function classifyTier(file, opts = {}) {
|
|
31
|
-
const tier3 = [...COMPILED_DEFAULT_TIER_3, ...compilePatterns(opts.extraTier3 ?? [])];
|
|
32
|
-
for (const pattern of tier3) {
|
|
33
|
-
if (pattern.test(file)) {
|
|
34
|
-
return 3;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
const tier2 = [...COMPILED_DEFAULT_TIER_2, ...compilePatterns(opts.extraTier2 ?? [])];
|
|
38
|
-
for (const pattern of tier2) {
|
|
39
|
-
if (pattern.test(file)) {
|
|
40
|
-
return 2;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return 1;
|
|
44
|
-
}
|
|
45
|
-
export function classifyWithLabel(file, opts = {}) {
|
|
46
|
-
const tier = classifyTier(file, opts);
|
|
47
|
-
return { tier, ...TIER_LABELS[tier] };
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=conflict-tier.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conflict-tier.js","sourceRoot":"","sources":["../../src/lib/conflict-tier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAUnD,MAAM,CAAC,MAAM,uBAAuB,GAAa;IAC7C,QAAQ;IACR,aAAa;IACb,cAAc;IACd,WAAW;IACX,cAAc;IACd,kBAAkB;IAClB,QAAQ;IACR,gBAAgB;IAChB,oBAAoB;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAa;IAC7C,gBAAgB;IAChB,qBAAqB;IACrB,iBAAiB;IACjB,aAAa;IACb,cAAc;IACd,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;CACrB,CAAC;AAEF,MAAM,uBAAuB,GAAG,eAAe,CAAC,uBAAuB,CAAC,CAAC;AACzE,MAAM,uBAAuB,GAAG,eAAe,CAAC,uBAAuB,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,WAAW,GAAoC;IACxD,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,6CAA6C,EAAE;IACvF,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,gDAAgD,EAAE;IAC3F,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,wCAAwC,EAAE;CACtF,CAAC;AAEF,MAAM,UAAU,YAAY,CACxB,IAAY,EACZ,OAAyD,EAAE;IAE3D,MAAM,KAAK,GAAG,CAAC,GAAG,uBAAuB,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;IACtF,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,CAAC;QACb,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,GAAG,uBAAuB,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;IACtF,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,CAAC;QACb,CAAC;IACL,CAAC;IAED,OAAO,CAAC,CAAC;AACb,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC7B,IAAY,EACZ,OAAyD,EAAE;IAE3D,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,OAAO,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;AAC1C,CAAC"}
|
package/dist/lib/crdt.d.ts
DELETED
|
@@ -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
|
package/dist/lib/crdt.d.ts.map
DELETED
|
@@ -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
|
package/dist/lib/crdt.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crdt.js","sourceRoot":"","sources":["../../src/lib/crdt.ts"],"names":[],"mappings":"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"}
|