spidersan 0.20.2 ā 0.22.0
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 +54 -0
- package/README.md +29 -73
- package/dist/bin/command-registry.js +3 -3
- package/dist/bin/command-registry.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +5 -41
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/conflicts.d.ts +6 -3
- package/dist/commands/conflicts.d.ts.map +1 -1
- package/dist/commands/conflicts.js +7 -9
- package/dist/commands/conflicts.js.map +1 -1
- package/dist/commands/cross-conflicts.d.ts +2 -2
- package/dist/commands/cross-conflicts.d.ts.map +1 -1
- package/dist/commands/cross-conflicts.js +17 -13
- package/dist/commands/cross-conflicts.js.map +1 -1
- package/dist/commands/git-watch.d.ts +9 -17
- package/dist/commands/git-watch.d.ts.map +1 -1
- package/dist/commands/git-watch.js +23 -76
- package/dist/commands/git-watch.js.map +1 -1
- package/dist/commands/github-sync.d.ts.map +1 -1
- package/dist/commands/github-sync.js +2 -26
- package/dist/commands/github-sync.js.map +1 -1
- package/dist/commands/merge-order.d.ts +2 -1
- package/dist/commands/merge-order.d.ts.map +1 -1
- package/dist/commands/merge-order.js +60 -2
- package/dist/commands/merge-order.js.map +1 -1
- package/dist/commands/registry-sync.d.ts +3 -2
- package/dist/commands/registry-sync.d.ts.map +1 -1
- package/dist/commands/registry-sync.js +13 -22
- package/dist/commands/registry-sync.js.map +1 -1
- package/dist/commands/watch.js +2 -2
- package/dist/commands/watch.js.map +1 -1
- package/dist/lib/ai/reasoner.js +1 -1
- package/dist/lib/config.d.ts +4 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/git.d.ts +1 -1
- package/dist/lib/git.js +1 -1
- package/dist/lib/graph.d.ts +50 -1
- package/dist/lib/graph.d.ts.map +1 -1
- package/dist/lib/graph.js +148 -10
- package/dist/lib/graph.js.map +1 -1
- package/dist/lib/notify.d.ts +2 -2
- package/dist/lib/notify.js +2 -2
- package/dist/lib/push-registry.d.ts +1 -1
- package/dist/lib/push-registry.d.ts.map +1 -1
- package/dist/lib/push-registry.js +3 -2
- package/dist/lib/push-registry.js.map +1 -1
- package/dist/lib/supabase-credentials.d.ts +9 -27
- package/dist/lib/supabase-credentials.d.ts.map +1 -1
- package/dist/lib/supabase-credentials.js +9 -32
- package/dist/lib/supabase-credentials.js.map +1 -1
- package/dist/storage/factory.d.ts +4 -1
- package/dist/storage/factory.d.ts.map +1 -1
- package/dist/storage/factory.js +4 -7
- package/dist/storage/factory.js.map +1 -1
- package/dist/storage/index.d.ts +0 -1
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +0 -1
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/registry-sync.d.ts +26 -0
- package/dist/storage/registry-sync.d.ts.map +1 -0
- package/dist/storage/registry-sync.js +66 -0
- package/dist/storage/registry-sync.js.map +1 -0
- package/dist/storage/supabase.d.ts +7 -5
- package/dist/storage/supabase.d.ts.map +1 -1
- package/dist/storage/supabase.js +15 -7
- package/dist/storage/supabase.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* spidersan cross-conflicts
|
|
3
3
|
*
|
|
4
|
-
* Detect file conflicts ACROSS machines by comparing registries
|
|
4
|
+
* Detect file conflicts ACROSS machines by comparing registries from the configured storage.syncModule.
|
|
5
5
|
* Extends the local `conflicts` command to work globally.
|
|
6
6
|
*
|
|
7
7
|
* Flow:
|
|
8
|
-
* 1. Push local registry
|
|
8
|
+
* 1. Push local registry through the sync module (ensure freshness)
|
|
9
9
|
* 2. Pull all other machines' registries
|
|
10
10
|
* 3. Compare file lists, apply tier escalation
|
|
11
11
|
* 4. Produce a GlobalConflictReport
|
|
@@ -14,9 +14,8 @@ import { registryRepoNames } from '../lib/git.js';
|
|
|
14
14
|
import { Command } from 'commander';
|
|
15
15
|
import { getStorage } from '../storage/index.js';
|
|
16
16
|
import { LocalStorage } from '../storage/local.js';
|
|
17
|
-
import { SupabaseStorage } from '../storage/supabase.js';
|
|
18
17
|
import { classifyTier, TIER_LABELS } from '../lib/conflict-tier.js';
|
|
19
|
-
import {
|
|
18
|
+
import { resolveRegistrySync, syncModuleRequiredMessage } from '../storage/registry-sync.js';
|
|
20
19
|
export function detectCrossMachineConflicts(localBranches, remoteMachines, localMachineId, localMachineName) {
|
|
21
20
|
// Build file ā branch refs map
|
|
22
21
|
const fileMap = new Map();
|
|
@@ -76,7 +75,7 @@ export function detectCrossMachineConflicts(localBranches, remoteMachines, local
|
|
|
76
75
|
conflicts.sort((a, b) => b.tier - a.tier);
|
|
77
76
|
return conflicts;
|
|
78
77
|
}
|
|
79
|
-
// āāā Local-Only Mode (no
|
|
78
|
+
// āāā Local-Only Mode (no sync module) āāā
|
|
80
79
|
async function detectLocalConflicts() {
|
|
81
80
|
const storage = await getStorage();
|
|
82
81
|
const branches = await storage.list();
|
|
@@ -160,12 +159,12 @@ function formatJson(report, minTier) {
|
|
|
160
159
|
}
|
|
161
160
|
// āāā CLI Command āāā
|
|
162
161
|
export const crossConflictsCommand = new Command('cross-conflicts')
|
|
163
|
-
.description('Detect file conflicts across machines (
|
|
162
|
+
.description('Detect file conflicts across machines (needs storage.syncModule)')
|
|
164
163
|
.option('--repo <name>', 'Repository name (default: current repo)')
|
|
165
164
|
.option('--tier <level>', 'Minimum tier to display (1, 2, or 3)', '1')
|
|
166
165
|
.option('--strict', 'Exit with code 1 if TIER 2+ conflicts found')
|
|
167
166
|
.option('--json', 'Output as JSON')
|
|
168
|
-
.option('--local', 'Local-only mode (skip
|
|
167
|
+
.option('--local', 'Local-only mode (skip the sync module, use local registry)')
|
|
169
168
|
.action(async (opts) => {
|
|
170
169
|
const minTier = parseInt(opts.tier, 10) || 1;
|
|
171
170
|
// Determine repo name
|
|
@@ -188,15 +187,20 @@ export const crossConflictsCommand = new Command('cross-conflicts')
|
|
|
188
187
|
}
|
|
189
188
|
return;
|
|
190
189
|
}
|
|
191
|
-
// Cross-machine mode via
|
|
190
|
+
// Cross-machine mode via the configured sync module
|
|
192
191
|
try {
|
|
193
|
-
const
|
|
194
|
-
if (!
|
|
195
|
-
|
|
196
|
-
|
|
192
|
+
const supabase = await resolveRegistrySync();
|
|
193
|
+
if (!supabase) {
|
|
194
|
+
// Exit 1: this mode's whole purpose is the cross-machine check, and
|
|
195
|
+
// exiting 0 here read as "no conflicts" to scripts.
|
|
196
|
+
const [first, ...rest] = syncModuleRequiredMessage();
|
|
197
|
+
console.error(`ā ${first}`);
|
|
198
|
+
for (const line of rest)
|
|
199
|
+
console.error(line);
|
|
200
|
+
console.error(' For this machine only: spidersan cross-conflicts --local');
|
|
201
|
+
process.exit(1);
|
|
197
202
|
return;
|
|
198
203
|
}
|
|
199
|
-
const supabase = new SupabaseStorage(creds);
|
|
200
204
|
const localStorage = new LocalStorage();
|
|
201
205
|
// Load machine identity
|
|
202
206
|
let machineId = 'unknown';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-conflicts.js","sourceRoot":"","sources":["../../src/commands/cross-conflicts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cross-conflicts.js","sourceRoot":"","sources":["../../src/commands/cross-conflicts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* spidersan git-watch
|
|
2
|
+
* spidersan git-watch ā RETIRED.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* It subscribed to a hosted git-event table (Realtime plus REST catch-up). That
|
|
5
|
+
* table is being dropped, and the pluggable sync client has no git-event read
|
|
6
|
+
* API, so there is nothing for it to watch. The command stays registered so a
|
|
7
|
+
* cron job or launch agent that still calls it gets a clear refusal and a
|
|
8
|
+
* non-zero exit instead of "unknown command" or a silent no-op.
|
|
6
9
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* spidersan git-watch --once # catch-up only, then exit
|
|
10
|
-
* spidersan git-watch --repos ~/Dev/Envoak:~/Dev/Toak
|
|
11
|
-
* spidersan git-watch --interval 30000 # poll every 30s
|
|
12
|
-
* spidersan git-watch --json # machine-readable log output
|
|
13
|
-
*
|
|
14
|
-
* Notifications:
|
|
15
|
-
* push events ā warns agent to run `spidersan conflicts`
|
|
16
|
-
* branch delete ā marks registry entry abandoned, archives it
|
|
17
|
-
* PR/create ā logged to activity.jsonl
|
|
18
|
-
*
|
|
19
|
-
* Pending events are written to ~/.spidersan/git-events-pending.jsonl for
|
|
20
|
-
* future AI-layer (spidersan-smol) processing (P2).
|
|
10
|
+
* Replacement: pushed branches register themselves server-side, and `conflicts`
|
|
11
|
+
* / `registry-sync --pull` read them through the configured storage.syncModule.
|
|
21
12
|
*/
|
|
22
13
|
import { Command } from 'commander';
|
|
14
|
+
export declare const GIT_WATCH_RETIRED_MESSAGE: string[];
|
|
23
15
|
export declare const gitWatchCommand: Command;
|
|
24
16
|
//# sourceMappingURL=git-watch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-watch.d.ts","sourceRoot":"","sources":["../../src/commands/git-watch.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"git-watch.d.ts","sourceRoot":"","sources":["../../src/commands/git-watch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,eAAO,MAAM,yBAAyB,UAKrC,CAAC;AAEF,eAAO,MAAM,eAAe,SAStB,CAAC"}
|
|
@@ -1,84 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* spidersan git-watch
|
|
2
|
+
* spidersan git-watch ā RETIRED.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* It subscribed to a hosted git-event table (Realtime plus REST catch-up). That
|
|
5
|
+
* table is being dropped, and the pluggable sync client has no git-event read
|
|
6
|
+
* API, so there is nothing for it to watch. The command stays registered so a
|
|
7
|
+
* cron job or launch agent that still calls it gets a clear refusal and a
|
|
8
|
+
* non-zero exit instead of "unknown command" or a silent no-op.
|
|
6
9
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* spidersan git-watch --once # catch-up only, then exit
|
|
10
|
-
* spidersan git-watch --repos ~/Dev/Envoak:~/Dev/Toak
|
|
11
|
-
* spidersan git-watch --interval 30000 # poll every 30s
|
|
12
|
-
* spidersan git-watch --json # machine-readable log output
|
|
13
|
-
*
|
|
14
|
-
* Notifications:
|
|
15
|
-
* push events ā warns agent to run `spidersan conflicts`
|
|
16
|
-
* branch delete ā marks registry entry abandoned, archives it
|
|
17
|
-
* PR/create ā logged to activity.jsonl
|
|
18
|
-
*
|
|
19
|
-
* Pending events are written to ~/.spidersan/git-events-pending.jsonl for
|
|
20
|
-
* future AI-layer (spidersan-smol) processing (P2).
|
|
10
|
+
* Replacement: pushed branches register themselves server-side, and `conflicts`
|
|
11
|
+
* / `registry-sync --pull` read them through the configured storage.syncModule.
|
|
21
12
|
*/
|
|
22
13
|
import { Command } from 'commander';
|
|
23
|
-
|
|
14
|
+
export const GIT_WATCH_RETIRED_MESSAGE = [
|
|
15
|
+
'ā spidersan git-watch was retired: the hosted git-event feed it read is gone.',
|
|
16
|
+
' Use pushed-branch sync instead: configure storage.syncModule in ~/.spidersanrc',
|
|
17
|
+
' (or SPIDERSAN_SYNC_MODULE), then run `spidersan conflicts` or `spidersan registry-sync --pull`.',
|
|
18
|
+
' For local file watching: spidersan watch',
|
|
19
|
+
];
|
|
24
20
|
export const gitWatchCommand = new Command('git-watch')
|
|
25
|
-
.description('
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
.
|
|
29
|
-
.
|
|
30
|
-
.
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const repoPaths = options.repos
|
|
35
|
-
? options.repos.split(':').map((p) => p.trim()).filter(Boolean)
|
|
36
|
-
: [];
|
|
37
|
-
const logger = options.quiet
|
|
38
|
-
? undefined
|
|
39
|
-
: options.json
|
|
40
|
-
? (msg) => console.log(JSON.stringify({ ts: new Date().toISOString(), msg }))
|
|
41
|
-
: (msg) => console.log(`[git-watch] ${msg}`);
|
|
42
|
-
try {
|
|
43
|
-
if (options.once) {
|
|
44
|
-
await catchUpOnce({ repoPaths, logger, quiet: options.quiet });
|
|
45
|
-
if (!options.quiet)
|
|
46
|
-
console.log('[git-watch] catch-up complete');
|
|
47
|
-
process.exit(0);
|
|
48
|
-
}
|
|
49
|
-
const handle = await startGitWatch({
|
|
50
|
-
pollIntervalMs,
|
|
51
|
-
repoPaths,
|
|
52
|
-
logger,
|
|
53
|
-
quiet: options.quiet,
|
|
54
|
-
disableRealtime: options.realtime === false,
|
|
55
|
-
});
|
|
56
|
-
if (!options.quiet) {
|
|
57
|
-
console.log('[git-watch] daemon running ā Ctrl+C to stop');
|
|
58
|
-
console.log('[git-watch] pending events: ~/.spidersan/git-events-pending.jsonl');
|
|
59
|
-
}
|
|
60
|
-
// Graceful shutdown
|
|
61
|
-
const shutdown = () => {
|
|
62
|
-
if (!options.quiet)
|
|
63
|
-
console.log('\n[git-watch] stopping');
|
|
64
|
-
handle.stop();
|
|
65
|
-
process.exit(0);
|
|
66
|
-
};
|
|
67
|
-
process.on('SIGINT', shutdown);
|
|
68
|
-
process.on('SIGTERM', shutdown);
|
|
69
|
-
}
|
|
70
|
-
catch (err) {
|
|
71
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
72
|
-
if (options.json) {
|
|
73
|
-
console.error(JSON.stringify({ error: msg }));
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
console.error(`[git-watch] error: ${msg}`);
|
|
77
|
-
if (msg.includes('SUPABASE_URL')) {
|
|
78
|
-
console.error(' Set SUPABASE_URL and SUPABASE_KEY (or COLONY_SESSION_JWT) env vars');
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
process.exit(1);
|
|
82
|
-
}
|
|
21
|
+
.description('Retired: use pushed-branch sync via storage.syncModule')
|
|
22
|
+
// Old invocations (`git-watch --once`, `--interval 30000`, ...) must reach the
|
|
23
|
+
// refusal, not die on commander's "unknown option".
|
|
24
|
+
.allowUnknownOption()
|
|
25
|
+
.allowExcessArguments()
|
|
26
|
+
.action(() => {
|
|
27
|
+
for (const line of GIT_WATCH_RETIRED_MESSAGE)
|
|
28
|
+
console.error(line);
|
|
29
|
+
process.exit(1);
|
|
83
30
|
});
|
|
84
31
|
//# sourceMappingURL=git-watch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-watch.js","sourceRoot":"","sources":["../../src/commands/git-watch.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"git-watch.js","sourceRoot":"","sources":["../../src/commands/git-watch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACrC,+EAA+E;IAC/E,mFAAmF;IACnF,oGAAoG;IACpG,6CAA6C;CAChD,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC;KAClD,WAAW,CAAC,wDAAwD,CAAC;IACtE,+EAA+E;IAC/E,oDAAoD;KACnD,kBAAkB,EAAE;KACpB,oBAAoB,EAAE;KACtB,MAAM,CAAC,GAAG,EAAE;IACT,KAAK,MAAM,IAAI,IAAI,yBAAyB;QAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-sync.d.ts","sourceRoot":"","sources":["../../src/commands/github-sync.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"github-sync.d.ts","sourceRoot":"","sources":["../../src/commands/github-sync.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,EAOH,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,WAAW,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,UAAU,eAAe;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iFAAiF;IACjF,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;CAC9B;AAyBD,UAAU,WAAW;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,eAAe,CAAC;IACzB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAOD;;;;GAIG;AACH,wBAAsB,UAAU,CAC5B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,YAAY,EAAE,EACnB,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAmCjC;AAED,wBAAsB,cAAc,CAChC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,eAAe,EAAE,CAAC,CA0B5B;AAED,eAAO,MAAM,iBAAiB,SA+DxB,CAAC"}
|
|
@@ -5,9 +5,7 @@
|
|
|
5
5
|
* Part of F2: GitHub Branch Inventory.
|
|
6
6
|
*/
|
|
7
7
|
import { Command } from 'commander';
|
|
8
|
-
import { resolveSupabaseCredentials } from '../lib/supabase-credentials.js';
|
|
9
8
|
import { loadMachineIdentity } from '../lib/machine.js';
|
|
10
|
-
import { SupabaseStorage } from '../storage/supabase.js';
|
|
11
9
|
import { readFile } from 'fs/promises';
|
|
12
10
|
import { existsSync } from 'fs';
|
|
13
11
|
import { join } from 'path';
|
|
@@ -52,8 +50,8 @@ export async function scanBranch(config, branch, prs, options) {
|
|
|
52
50
|
if (!commit)
|
|
53
51
|
return null;
|
|
54
52
|
const pr = prs.find(p => p.headBranch === branch.name);
|
|
55
|
-
// CI status is fetched when requested but not
|
|
56
|
-
//
|
|
53
|
+
// CI status is fetched when requested but not persisted. Kept for behaviour
|
|
54
|
+
// parity with the previous serial scan.
|
|
57
55
|
if (options.includeCi)
|
|
58
56
|
void (await getCIStatus(config, branch.name));
|
|
59
57
|
const row = {
|
|
@@ -105,16 +103,6 @@ export async function scanRepository(config, options) {
|
|
|
105
103
|
await Promise.all(Array.from({ length: concurrency }, () => worker()));
|
|
106
104
|
return slots.filter((r) => r !== null);
|
|
107
105
|
}
|
|
108
|
-
async function storeResults(_results, _supabase) {
|
|
109
|
-
try {
|
|
110
|
-
console.warn(` ā ļø Supabase storage does not support GitHub branch sync yet`);
|
|
111
|
-
return 0;
|
|
112
|
-
}
|
|
113
|
-
catch (error) {
|
|
114
|
-
console.warn(` ā ļø Could not write to Supabase: ${error instanceof Error ? error.message : String(error)}`);
|
|
115
|
-
return 0;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
106
|
export const githubSyncCommand = new Command('github-sync')
|
|
119
107
|
.description('Fetch branch/PR/CI status from GitHub for configured repos')
|
|
120
108
|
.option('--repo <owner/repo>', 'Sync specific repo (auto-detects from git remote if not provided)')
|
|
@@ -130,8 +118,6 @@ export const githubSyncCommand = new Command('github-sync')
|
|
|
130
118
|
process.exit(1);
|
|
131
119
|
}
|
|
132
120
|
const machine = await loadMachineIdentity();
|
|
133
|
-
const creds = await resolveSupabaseCredentials();
|
|
134
|
-
const supabase = creds ? new SupabaseStorage(creds) : null;
|
|
135
121
|
let reposToScan;
|
|
136
122
|
if (options.all) {
|
|
137
123
|
const reposConfig = await loadReposConfig();
|
|
@@ -155,7 +141,6 @@ export const githubSyncCommand = new Command('github-sync')
|
|
|
155
141
|
}
|
|
156
142
|
console.log(`š·ļø GitHub sync: scanning ${reposToScan.length} repo(s)\n`);
|
|
157
143
|
const allResults = [];
|
|
158
|
-
let storedCount = 0;
|
|
159
144
|
for (const repo of reposToScan) {
|
|
160
145
|
try {
|
|
161
146
|
const parsedConcurrency = parseInt(options.concurrency, 10);
|
|
@@ -167,9 +152,6 @@ export const githubSyncCommand = new Command('github-sync')
|
|
|
167
152
|
});
|
|
168
153
|
console.log(` ā
Found ${results.length} branches`);
|
|
169
154
|
allResults.push(...results);
|
|
170
|
-
if (supabase && results.length > 0) {
|
|
171
|
-
storedCount += await storeResults(results, supabase);
|
|
172
|
-
}
|
|
173
155
|
}
|
|
174
156
|
catch (error) {
|
|
175
157
|
console.error(` ā ${error instanceof Error ? error.message : String(error)}`);
|
|
@@ -180,12 +162,6 @@ export const githubSyncCommand = new Command('github-sync')
|
|
|
180
162
|
}
|
|
181
163
|
else {
|
|
182
164
|
console.log(`\n š Total branches: ${allResults.length}`);
|
|
183
|
-
if (supabase && storedCount > 0) {
|
|
184
|
-
console.log(` š¾ Stored in Supabase: ${storedCount}`);
|
|
185
|
-
}
|
|
186
|
-
else if (!supabase) {
|
|
187
|
-
console.log(` ā¹ļø Supabase not configured or table missing (results shown above only)`);
|
|
188
|
-
}
|
|
189
165
|
}
|
|
190
166
|
});
|
|
191
167
|
//# sourceMappingURL=github-sync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-sync.js","sourceRoot":"","sources":["../../src/commands/github-sync.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"github-sync.js","sourceRoot":"","sources":["../../src/commands/github-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* spidersan merge-order
|
|
3
3
|
*
|
|
4
4
|
* Get optimal merge order based on dependencies and conflicts.
|
|
5
|
-
* Supports --blocking-count to prioritize tasks that block others (rarest-first)
|
|
5
|
+
* Supports --blocking-count to prioritize tasks that block others (rarest-first),
|
|
6
|
+
* and --critical-path to put the head of the longest remaining chain first.
|
|
6
7
|
*/
|
|
7
8
|
import { Command } from 'commander';
|
|
8
9
|
export declare const mergeOrderCommand: Command;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-order.d.ts","sourceRoot":"","sources":["../../src/commands/merge-order.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"merge-order.d.ts","sourceRoot":"","sources":["../../src/commands/merge-order.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,eAAO,MAAM,iBAAiB,SAoGxB,CAAC"}
|
|
@@ -2,16 +2,18 @@
|
|
|
2
2
|
* spidersan merge-order
|
|
3
3
|
*
|
|
4
4
|
* Get optimal merge order based on dependencies and conflicts.
|
|
5
|
-
* Supports --blocking-count to prioritize tasks that block others (rarest-first)
|
|
5
|
+
* Supports --blocking-count to prioritize tasks that block others (rarest-first),
|
|
6
|
+
* and --critical-path to put the head of the longest remaining chain first.
|
|
6
7
|
*/
|
|
7
8
|
import { Command } from 'commander';
|
|
8
9
|
import { getStorage } from '../storage/index.js';
|
|
9
|
-
import { addDependencyEdges, buildConflictGraph, calculateBlockingCounts, topologicalSort } from '../lib/graph.js';
|
|
10
|
+
import { addDependencyEdges, buildConflictGraph, buildDeclaredGraph, calculateBlockingCounts, calculateCriticalPath, orientForMeasurement, topologicalSort, } from '../lib/graph.js';
|
|
10
11
|
import { activeBranches } from '../lib/reconcile.js';
|
|
11
12
|
export const mergeOrderCommand = new Command('merge-order')
|
|
12
13
|
.description('Get optimal merge order for all branches')
|
|
13
14
|
.option('--json', 'Output as JSON')
|
|
14
15
|
.option('--blocking-count', 'Show how many branches each task blocks (rarest-first priority)')
|
|
16
|
+
.option('--critical-path', 'Order by longest remaining chain (ties: blocking count); refuses on a declared dependency cycle')
|
|
15
17
|
.action(async (options) => {
|
|
16
18
|
const storage = await getStorage();
|
|
17
19
|
if (!await storage.isInitialized()) {
|
|
@@ -30,6 +32,10 @@ export const mergeOrderCommand = new Command('merge-order')
|
|
|
30
32
|
// Build conflict graph, then fold in declared dependencies
|
|
31
33
|
// (`spidersan depends`) as directed dep-merges-first edges.
|
|
32
34
|
const conflictGraph = addDependencyEdges(buildConflictGraph(branches), branches);
|
|
35
|
+
if (options.criticalPath) {
|
|
36
|
+
printCriticalPathOrder(branchNames, branches, conflictGraph, options.json);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
33
39
|
// Calculate blocking counts (how many branches are blocked by each branch)
|
|
34
40
|
const blockingCounts = options.blockingCount
|
|
35
41
|
? calculateBlockingCounts(branchNames, conflictGraph)
|
|
@@ -90,6 +96,58 @@ export const mergeOrderCommand = new Command('merge-order')
|
|
|
90
96
|
console.log('š” Merge high-priority (š“) branches first to unblock others.');
|
|
91
97
|
}
|
|
92
98
|
});
|
|
99
|
+
/**
|
|
100
|
+
* --critical-path: orient the graph (declared edges kept, conflict edges
|
|
101
|
+
* pointed along the declared order), then sort by longest remaining chain.
|
|
102
|
+
* A declared cycle is refused with exit 1 ā never a silent fallback to the
|
|
103
|
+
* old heuristic, which would measure a graph nobody checked.
|
|
104
|
+
*/
|
|
105
|
+
function printCriticalPathOrder(branchNames, branches, conflictGraph, json) {
|
|
106
|
+
const blockingCounts = calculateBlockingCounts(branchNames, conflictGraph);
|
|
107
|
+
const orientation = orientForMeasurement(branchNames, buildDeclaredGraph(branches), buildConflictGraph(branches), blockingCounts);
|
|
108
|
+
if (!orientation.ok) {
|
|
109
|
+
if (json) {
|
|
110
|
+
console.log(JSON.stringify({ ok: false, error: 'dependency_cycle', cycles: orientation.cycles }, null, 2));
|
|
111
|
+
process.exit(1);
|
|
112
|
+
}
|
|
113
|
+
console.error('ā Declared dependencies form a cycle, so there is no critical path to measure.');
|
|
114
|
+
for (const cycle of orientation.cycles) {
|
|
115
|
+
console.error('');
|
|
116
|
+
for (const edge of cycle) {
|
|
117
|
+
console.error(` ${edge.dependent} depends on ${edge.dependency}`);
|
|
118
|
+
}
|
|
119
|
+
const dependents = [...new Set(cycle.map((edge) => edge.dependent))];
|
|
120
|
+
console.error(` Clear one: ${dependents.map((name) => `spidersan depends --clear --branch ${name}`).join(' | ')}`);
|
|
121
|
+
}
|
|
122
|
+
process.exit(1);
|
|
123
|
+
}
|
|
124
|
+
const criticalPath = calculateCriticalPath(branchNames, orientation.graph);
|
|
125
|
+
const order = topologicalSort(branchNames, orientation.graph, criticalPath, blockingCounts);
|
|
126
|
+
if (json) {
|
|
127
|
+
console.log(JSON.stringify({
|
|
128
|
+
order: order.map((name) => ({
|
|
129
|
+
name,
|
|
130
|
+
criticalPath: criticalPath.get(name) ?? 0,
|
|
131
|
+
blocksCount: blockingCounts.get(name) ?? 0,
|
|
132
|
+
mergesBefore: orientation.graph.get(name) ?? [],
|
|
133
|
+
})),
|
|
134
|
+
droppedConflictEdges: orientation.droppedConflictEdges,
|
|
135
|
+
}, null, 2));
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
console.log('š·ļø Merge Order (Critical Path)\n');
|
|
139
|
+
order.forEach((name, i) => {
|
|
140
|
+
const chain = criticalPath.get(name) ?? 0;
|
|
141
|
+
console.log(` ${i + 1}. ${name}${chain > 0 ? ` (chain of ${chain} after it)` : ''}`);
|
|
142
|
+
const after = orientation.graph.get(name) ?? [];
|
|
143
|
+
if (after.length > 0) {
|
|
144
|
+
console.log(` āā Merges before: ${after.join(', ')}`);
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
if (orientation.droppedConflictEdges > 0) {
|
|
148
|
+
console.log(`\nš” ${orientation.droppedConflictEdges} file-overlap pair(s) have no declared order; their direction was chosen by the sort.`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
93
151
|
/**
|
|
94
152
|
* Get list of branch names that are blocked by a given branch.
|
|
95
153
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-order.js","sourceRoot":"","sources":["../../src/commands/merge-order.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"merge-order.js","sourceRoot":"","sources":["../../src/commands/merge-order.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* spidersan registry-sync
|
|
3
3
|
*
|
|
4
|
-
* Sync local registry to/from
|
|
5
|
-
*
|
|
4
|
+
* Sync the local registry to/from other machines through the configured
|
|
5
|
+
* storage.syncModule. Without one there is nothing to sync with: exit 1 and say
|
|
6
|
+
* how to configure it.
|
|
6
7
|
*/
|
|
7
8
|
import { Command } from 'commander';
|
|
8
9
|
export declare const registrySyncCommand: Command;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-sync.d.ts","sourceRoot":"","sources":["../../src/commands/registry-sync.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"registry-sync.d.ts","sourceRoot":"","sources":["../../src/commands/registry-sync.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,eAAO,MAAM,mBAAmB,SA8G1B,CAAC"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* spidersan registry-sync
|
|
3
3
|
*
|
|
4
|
-
* Sync local registry to/from
|
|
5
|
-
*
|
|
4
|
+
* Sync the local registry to/from other machines through the configured
|
|
5
|
+
* storage.syncModule. Without one there is nothing to sync with: exit 1 and say
|
|
6
|
+
* how to configure it.
|
|
6
7
|
*/
|
|
7
8
|
import { Command } from 'commander';
|
|
8
9
|
import { execFileSync } from 'child_process';
|
|
9
10
|
import { LocalStorage } from '../storage/local.js';
|
|
10
|
-
import { SupabaseStorage } from '../storage/supabase.js';
|
|
11
|
-
import { resolveSupabaseCredentials } from '../lib/supabase-credentials.js';
|
|
12
11
|
import { loadMachineIdentity } from '../lib/machine.js';
|
|
13
12
|
import { getRepoName, registryRepoNames } from '../lib/git.js';
|
|
13
|
+
import { resolveRegistrySync, syncModuleRequiredMessage } from '../storage/registry-sync.js';
|
|
14
14
|
/**
|
|
15
15
|
* Get the repo root path.
|
|
16
16
|
*/
|
|
@@ -22,30 +22,21 @@ function getRepoPath() {
|
|
|
22
22
|
return process.cwd();
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
/**
|
|
26
|
-
* Get a SupabaseStorage instance, or null if not configured.
|
|
27
|
-
*/
|
|
28
|
-
async function getSupabaseStorage() {
|
|
29
|
-
// COLONY_SUPABASE_* used to sit in this chain as a last-resort fallback. It
|
|
30
|
-
// is gone deliberately: colony is a different Supabase project, so that
|
|
31
|
-
// fallback could push spider_registries into the wrong database (tb-ly0b).
|
|
32
|
-
const creds = await resolveSupabaseCredentials();
|
|
33
|
-
if (!creds)
|
|
34
|
-
return null;
|
|
35
|
-
return new SupabaseStorage(creds);
|
|
36
|
-
}
|
|
37
25
|
export const registrySyncCommand = new Command('registry-sync')
|
|
38
|
-
.description('Sync local registry to/from
|
|
39
|
-
.option('--push', 'Push local registry
|
|
40
|
-
.option('--pull', 'Pull other machines\' registries
|
|
26
|
+
.description('Sync local registry to/from other machines (needs storage.syncModule)')
|
|
27
|
+
.option('--push', 'Push local registry through the sync module')
|
|
28
|
+
.option('--pull', 'Pull other machines\' registries through the sync module')
|
|
41
29
|
.option('--status', 'Show sync status across all machines')
|
|
42
30
|
.option('--repo <name>', 'Limit to specific repo (default: current)')
|
|
43
31
|
.action(async (options) => {
|
|
44
|
-
const supabase = await
|
|
32
|
+
const supabase = await resolveRegistrySync();
|
|
45
33
|
if (!supabase) {
|
|
46
|
-
|
|
47
|
-
console.error(
|
|
34
|
+
const [first, ...rest] = syncModuleRequiredMessage();
|
|
35
|
+
console.error(`ā ${first}`);
|
|
36
|
+
for (const line of rest)
|
|
37
|
+
console.error(line);
|
|
48
38
|
process.exit(1);
|
|
39
|
+
return;
|
|
49
40
|
}
|
|
50
41
|
const machine = await loadMachineIdentity();
|
|
51
42
|
const repoName = options.repo || getRepoName();
|