@nodesify/astria 1.0.10 → 1.0.12
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/dist/commands/cluster.d.ts +7 -1
- package/dist/commands/cluster.d.ts.map +1 -1
- package/dist/commands/cluster.js +9 -2
- package/dist/commands/cluster.js.map +1 -1
- package/dist/commands/digest.d.ts +7 -0
- package/dist/commands/digest.d.ts.map +1 -0
- package/dist/commands/digest.js +161 -0
- package/dist/commands/digest.js.map +1 -0
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +11 -1
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/map.d.ts.map +1 -1
- package/dist/commands/map.js +2 -1
- package/dist/commands/map.js.map +1 -1
- package/dist/commands/mcp.d.ts +17 -2
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +16 -0
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/merge-driver.d.ts +7 -0
- package/dist/commands/merge-driver.d.ts.map +1 -0
- package/dist/commands/merge-driver.js +186 -0
- package/dist/commands/merge-driver.js.map +1 -0
- package/dist/commands/merge-gate.d.ts +14 -0
- package/dist/commands/merge-gate.d.ts.map +1 -0
- package/dist/commands/merge-gate.js +200 -0
- package/dist/commands/merge-gate.js.map +1 -0
- package/dist/commands/merge.d.ts +4 -1
- package/dist/commands/merge.d.ts.map +1 -1
- package/dist/commands/merge.js +4 -3
- package/dist/commands/merge.js.map +1 -1
- package/dist/commands/prs.d.ts +3 -0
- package/dist/commands/prs.d.ts.map +1 -1
- package/dist/commands/prs.js +188 -13
- package/dist/commands/prs.js.map +1 -1
- package/dist/commands/query.d.ts.map +1 -1
- package/dist/commands/query.js +2 -1
- package/dist/commands/query.js.map +1 -1
- package/dist/commands/stats.d.ts.map +1 -1
- package/dist/commands/stats.js +1 -0
- package/dist/commands/stats.js.map +1 -1
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +83 -49
- package/dist/commands/watch.js.map +1 -1
- package/dist/defaults.d.ts +2 -0
- package/dist/defaults.d.ts.map +1 -0
- package/dist/defaults.js +7 -0
- package/dist/defaults.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +84 -14
- package/dist/index.js.map +1 -1
- package/dist/install/atomic.d.ts +2 -0
- package/dist/install/atomic.d.ts.map +1 -0
- package/dist/install/atomic.js +70 -0
- package/dist/install/atomic.js.map +1 -0
- package/dist/install/hooks.d.ts.map +1 -1
- package/dist/install/hooks.js +21 -6
- package/dist/install/hooks.js.map +1 -1
- package/dist/install/index.d.ts +1 -0
- package/dist/install/index.d.ts.map +1 -1
- package/dist/install/index.js +122 -47
- package/dist/install/index.js.map +1 -1
- package/dist/install/markdown-inject.d.ts.map +1 -1
- package/dist/install/markdown-inject.js +24 -14
- package/dist/install/markdown-inject.js.map +1 -1
- package/dist/install/platforms.d.ts +3 -0
- package/dist/install/platforms.d.ts.map +1 -1
- package/dist/install/platforms.js +6 -0
- package/dist/install/platforms.js.map +1 -1
- package/dist/install/settings-inject.d.ts.map +1 -1
- package/dist/install/settings-inject.js +128 -35
- package/dist/install/settings-inject.js.map +1 -1
- package/dist/native.d.ts +42 -40
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +94 -53
- package/dist/native.js.map +1 -1
- package/package.json +10 -8
- package/dist/commands/migrate.d.ts +0 -4
- package/dist/commands/migrate.d.ts.map +0 -1
- package/dist/commands/migrate.js +0 -75
- package/dist/commands/migrate.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"AAoBA,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,iBAmG/E"}
|
package/dist/commands/watch.js
CHANGED
|
@@ -36,50 +36,92 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.watchCommand = watchCommand;
|
|
37
37
|
const fs = __importStar(require("fs"));
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
const child_process_1 = require("child_process");
|
|
40
|
+
// The watcher does not second-guess discovery: the pipeline's detect pass
|
|
41
|
+
// already classifies every supported input (code, docs, manifests, media,
|
|
42
|
+
// office, PDFs) and honors .gitignore/.astriaignore, so any event outside
|
|
43
|
+
// the known-irrelevant directories schedules a rebuild. Filtering to a
|
|
44
|
+
// small language subset here used to miss Ruby/PHP/Kotlin edits, Markdown
|
|
45
|
+
// and manifest changes, and directory renames entirely.
|
|
46
|
+
const SKIP_DIRS = new Set([
|
|
47
|
+
'.astria',
|
|
48
|
+
'node_modules',
|
|
49
|
+
'target',
|
|
50
|
+
'.git',
|
|
51
|
+
'dist',
|
|
52
|
+
'__pycache__',
|
|
53
|
+
'.cache',
|
|
44
54
|
]);
|
|
45
|
-
const SKIP_DIRS = new Set(['.astria', 'node_modules', 'target', '.git', 'dist', '__pycache__']);
|
|
46
55
|
async function watchCommand(watchPath, opts) {
|
|
47
|
-
const debounceMs =
|
|
56
|
+
const debounceMs = Number(opts.debounce || '3000');
|
|
57
|
+
if (!Number.isFinite(debounceMs) || debounceMs <= 0) {
|
|
58
|
+
console.error(`Error: invalid --debounce value "${opts.debounce}" (must be a positive number of milliseconds)`);
|
|
59
|
+
process.exitCode = 1;
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
48
62
|
const resolved = path.resolve(watchPath);
|
|
49
63
|
if (!fs.existsSync(resolved) || !fs.statSync(resolved).isDirectory()) {
|
|
50
64
|
console.error(`Error: "${resolved}" is not a valid directory`);
|
|
51
65
|
process.exitCode = 1;
|
|
52
66
|
return;
|
|
53
67
|
}
|
|
54
|
-
let
|
|
55
|
-
let
|
|
68
|
+
let pendingEvents = new Set();
|
|
69
|
+
let debounceTimer = null;
|
|
70
|
+
// One rebuild at a time, at most one queued behind it: the rebuild runs
|
|
71
|
+
// as a child process (the pipeline is synchronous native code — running
|
|
72
|
+
// it inline would freeze the watcher for the whole build).
|
|
73
|
+
let rebuildInFlight = false;
|
|
74
|
+
let rebuildQueued = false;
|
|
75
|
+
const runRebuild = () => {
|
|
76
|
+
if (rebuildInFlight) {
|
|
77
|
+
rebuildQueued = true;
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
rebuildInFlight = true;
|
|
81
|
+
console.log(`\n[astria] ${pendingEvents.size} change event(s), rebuilding...`);
|
|
82
|
+
pendingEvents.clear();
|
|
83
|
+
const child = (0, child_process_1.spawn)(process.execPath, [process.argv[1], 'update', resolved], { stdio: 'inherit' });
|
|
84
|
+
child.on('error', (err) => {
|
|
85
|
+
console.error('[astria] Rebuild could not start:', err.message);
|
|
86
|
+
});
|
|
87
|
+
child.on('exit', (code) => {
|
|
88
|
+
if (code !== 0) {
|
|
89
|
+
console.error(`[astria] Rebuild exited with code ${code}`);
|
|
90
|
+
}
|
|
91
|
+
rebuildInFlight = false;
|
|
92
|
+
if (rebuildQueued) {
|
|
93
|
+
rebuildQueued = false;
|
|
94
|
+
runRebuild();
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
};
|
|
98
|
+
const scheduleRebuild = () => {
|
|
99
|
+
if (debounceTimer)
|
|
100
|
+
clearTimeout(debounceTimer);
|
|
101
|
+
debounceTimer = setTimeout(runRebuild, debounceMs);
|
|
102
|
+
};
|
|
56
103
|
let watcher;
|
|
57
104
|
try {
|
|
58
105
|
watcher = fs.watch(resolved, { recursive: true }, (_event, filename) => {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
catch (e) {
|
|
80
|
-
console.error(`[astria] Rebuild failed:`, e.message || e);
|
|
81
|
-
}
|
|
82
|
-
}, debounceMs);
|
|
106
|
+
// A missing filename or an extension-less name is usually a
|
|
107
|
+
// directory event (create/rename/delete): schedule a rebuild and
|
|
108
|
+
// let discovery reconcile the tree.
|
|
109
|
+
if (filename) {
|
|
110
|
+
const filePath = filename.replace(/\\/g, '/');
|
|
111
|
+
if (filePath.split('/').some((p) => SKIP_DIRS.has(p)))
|
|
112
|
+
return;
|
|
113
|
+
pendingEvents.add(filePath);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
pendingEvents.add('(directory event)');
|
|
117
|
+
}
|
|
118
|
+
scheduleRebuild();
|
|
119
|
+
});
|
|
120
|
+
watcher.on('error', (err) => {
|
|
121
|
+
console.error(`[astria] Watcher failed:`, err.message || err);
|
|
122
|
+
console.error('[astria] Stopping; restart the watcher to continue.');
|
|
123
|
+
watcher.close();
|
|
124
|
+
process.exitCode = 1;
|
|
83
125
|
});
|
|
84
126
|
}
|
|
85
127
|
catch (err) {
|
|
@@ -89,27 +131,19 @@ async function watchCommand(watchPath, opts) {
|
|
|
89
131
|
}
|
|
90
132
|
console.log(`[astria] Watching ${resolved} (debounce: ${debounceMs}ms)`);
|
|
91
133
|
console.log('[astria] Press Ctrl+C to stop');
|
|
134
|
+
const stop = () => {
|
|
135
|
+
console.log('\n[astria] Stopped.');
|
|
136
|
+
watcher.close();
|
|
137
|
+
process.exit(0);
|
|
138
|
+
};
|
|
92
139
|
if (process.platform === 'win32') {
|
|
93
140
|
const readline = require('readline');
|
|
94
141
|
const rl = readline.createInterface({ input: process.stdin });
|
|
95
|
-
rl.on('SIGINT',
|
|
96
|
-
console.log('\n[astria] Stopped.');
|
|
97
|
-
watcher.close();
|
|
98
|
-
rl.close();
|
|
99
|
-
process.exit(0);
|
|
100
|
-
});
|
|
142
|
+
rl.on('SIGINT', stop);
|
|
101
143
|
}
|
|
102
144
|
else {
|
|
103
|
-
process.on('SIGINT',
|
|
104
|
-
|
|
105
|
-
watcher.close();
|
|
106
|
-
process.exit(0);
|
|
107
|
-
});
|
|
108
|
-
process.on('SIGTERM', () => {
|
|
109
|
-
console.log('\n[astria] Stopped.');
|
|
110
|
-
watcher.close();
|
|
111
|
-
process.exit(0);
|
|
112
|
-
});
|
|
145
|
+
process.on('SIGINT', stop);
|
|
146
|
+
process.on('SIGTERM', stop);
|
|
113
147
|
}
|
|
114
148
|
}
|
|
115
149
|
//# sourceMappingURL=watch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,OAAO,CAAC"}
|
package/dist/defaults.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_QUERY_BUDGET = void 0;
|
|
4
|
+
// Single source of truth for CLI defaults that also exist on the Rust side.
|
|
5
|
+
// Keep in sync with DEFAULT_QUERY_BUDGET in crates/astria-mcp/src/lib.rs.
|
|
6
|
+
exports.DEFAULT_QUERY_BUDGET = 2000;
|
|
7
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":";;;AAAA,4EAA4E;AAC5E,0EAA0E;AAC7D,QAAA,oBAAoB,GAAG,IAAI,CAAC"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsCpC,QAAA,MAAM,OAAO,SAAgB,CAAC;AA2Y9B,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.program = void 0;
|
|
5
5
|
const commander_1 = require("commander");
|
|
6
|
+
const defaults_1 = require("./defaults");
|
|
6
7
|
const run_1 = require("./commands/run");
|
|
7
8
|
const health_1 = require("./commands/health");
|
|
8
9
|
const risk_1 = require("./commands/risk");
|
|
@@ -26,7 +27,6 @@ const diagnose_1 = require("./commands/diagnose");
|
|
|
26
27
|
const feedback_1 = require("./commands/feedback");
|
|
27
28
|
const global_1 = require("./commands/global");
|
|
28
29
|
const hook_guard_1 = require("./commands/hook-guard");
|
|
29
|
-
const migrate_1 = require("./commands/migrate");
|
|
30
30
|
const update_1 = require("./commands/update");
|
|
31
31
|
const watch_1 = require("./commands/watch");
|
|
32
32
|
const cluster_1 = require("./commands/cluster");
|
|
@@ -36,6 +36,9 @@ const history_1 = require("./commands/history");
|
|
|
36
36
|
const status_1 = require("./commands/status");
|
|
37
37
|
const install_1 = require("./commands/install");
|
|
38
38
|
const hook_1 = require("./commands/hook");
|
|
39
|
+
const merge_driver_1 = require("./commands/merge-driver");
|
|
40
|
+
const digest_1 = require("./commands/digest");
|
|
41
|
+
const merge_gate_1 = require("./commands/merge-gate");
|
|
39
42
|
const program = new commander_1.Command();
|
|
40
43
|
exports.program = program;
|
|
41
44
|
program
|
|
@@ -47,7 +50,7 @@ program
|
|
|
47
50
|
.description('Run the full pipeline on a directory')
|
|
48
51
|
.argument('<path>', 'Directory to analyze')
|
|
49
52
|
.option('--no-dedup', 'Skip near-duplicate node merging')
|
|
50
|
-
.option('--backend <name>', 'Semantic LLM backend: claude, openai (any OpenAI-compatible), or gemini')
|
|
53
|
+
.option('--backend <name>', 'Semantic LLM backend: claude, openai (any OpenAI-compatible), azure (Azure OpenAI), bedrock (AWS SigV4), kimi (Moonshot), or gemini')
|
|
51
54
|
.option('--judge <name>', 'Decision layer over the backend: jev (TypeSafe System One — gates trivial files, re-judges relations/node types, adds calibrated edge confidence)')
|
|
52
55
|
.option('--model <name>', 'Semantic LLM model name (backend-specific)')
|
|
53
56
|
.option('--wiki', 'Also export a markdown wiki to .astria/wiki')
|
|
@@ -62,7 +65,7 @@ program
|
|
|
62
65
|
.description('Run incremental AST-only rebuild')
|
|
63
66
|
.argument('<path>', 'Directory to update')
|
|
64
67
|
.option('--no-dedup', 'Skip near-duplicate node merging')
|
|
65
|
-
.option('--backend <name>', 'Semantic LLM backend: claude, openai (any OpenAI-compatible), or gemini')
|
|
68
|
+
.option('--backend <name>', 'Semantic LLM backend: claude, openai (any OpenAI-compatible), azure (Azure OpenAI), bedrock (AWS SigV4), kimi (Moonshot), or gemini')
|
|
66
69
|
.option('--judge <name>', 'Decision layer over the backend: jev (TypeSafe System One — gates trivial files, re-judges relations/node types, adds calibrated edge confidence)')
|
|
67
70
|
.option('--model <name>', 'Semantic LLM model name (backend-specific)')
|
|
68
71
|
.option('--embed', 'Compute local embeddings: similar_to edges + semantic query recall (one-time ~615 MB local model download, then offline)')
|
|
@@ -91,7 +94,7 @@ program
|
|
|
91
94
|
.option('--graph <path>', 'Path to project root', '.')
|
|
92
95
|
.option('--dfs', 'Use depth-first search instead of breadth-first')
|
|
93
96
|
.option('--depth <n>', 'Traversal depth', '2')
|
|
94
|
-
.option('--budget <n>', 'Token budget for output',
|
|
97
|
+
.option('--budget <n>', 'Token budget for output', String(defaults_1.DEFAULT_QUERY_BUDGET))
|
|
95
98
|
.option('--directed', 'Follow edges only in their stored direction (caller -> callee)')
|
|
96
99
|
.option('--detail <level>', 'Fidelity tier: "high" keeps only EXTRACTED/DECLARED facts')
|
|
97
100
|
.option('--cursor <n>', 'Continuation token from a previous truncated query', '0')
|
|
@@ -112,7 +115,7 @@ program
|
|
|
112
115
|
.command('map')
|
|
113
116
|
.description('Repo map: PageRank-ranked files with top symbols, within a token budget')
|
|
114
117
|
.option('--graph <path>', 'Path to project root', '.')
|
|
115
|
-
.option('--budget <n>', 'Token budget for output',
|
|
118
|
+
.option('--budget <n>', 'Token budget for output', String(defaults_1.DEFAULT_QUERY_BUDGET))
|
|
116
119
|
.option('--detail <level>', 'Fidelity tier: "high" keeps only EXTRACTED/DECLARED facts')
|
|
117
120
|
.option('--json', 'Emit machine-readable JSON')
|
|
118
121
|
.action(map_1.mapCommand);
|
|
@@ -190,13 +193,16 @@ program
|
|
|
190
193
|
.command('cluster-only')
|
|
191
194
|
.description('Run cluster + analyze + report only (no extract/build)')
|
|
192
195
|
.argument('<path>', 'Directory with existing graph')
|
|
193
|
-
.
|
|
196
|
+
.option('--resolution <r>', 'Community granularity 0.0–1.0: higher values produce more, smaller communities', '0')
|
|
197
|
+
.option('--exclude-hubs', 'Keep high-degree hub nodes out of propagation so they cannot glue communities together (hubs are attached to their strongest community afterwards)')
|
|
198
|
+
.action((path, opts) => (0, cluster_1.clusterCommand)(path, { resolution: opts.resolution, excludeHubs: opts.excludeHubs }));
|
|
194
199
|
program
|
|
195
200
|
.command('merge')
|
|
196
|
-
.description('Merge two graphs into a new output graph')
|
|
201
|
+
.description('Merge two graphs into a new output graph (cross-repo by default: ids namespaced per root; --same-repo shares ids and errors on conflicts)')
|
|
197
202
|
.argument('<pathA>', 'First project root')
|
|
198
203
|
.argument('<pathB>', 'Second project root')
|
|
199
204
|
.argument('<outPath>', 'Output project root')
|
|
205
|
+
.option('--same-repo', 'Treat both inputs as one repository: no id namespacing; differing definitions under the same id fail the merge')
|
|
200
206
|
.action(merge_1.mergeCommand);
|
|
201
207
|
program
|
|
202
208
|
.command('diff')
|
|
@@ -212,8 +218,14 @@ program
|
|
|
212
218
|
.action(history_1.historyCommand);
|
|
213
219
|
program
|
|
214
220
|
.command('mcp')
|
|
215
|
-
.description('Run an MCP
|
|
221
|
+
.description('Run an MCP server exposing the graph to AI agents — stdio by default, or HTTP with --http')
|
|
216
222
|
.option('--graph <path>', 'Path to project root', '.')
|
|
223
|
+
.option('--http', 'Serve MCP over HTTP (Streamable HTTP) instead of stdio — one server, many clients')
|
|
224
|
+
.option('--host <addr>', 'HTTP bind address (default 127.0.0.1; non-loopback requires a token)')
|
|
225
|
+
.option('--port <n>', 'HTTP port', '8620')
|
|
226
|
+
.option('--token <token>', 'Bearer token for HTTP serving (default: ASTRIA_MCP_TOKEN; required off-loopback)')
|
|
227
|
+
.option('--allow-origin <origin...>', 'Browser origins allowed to send HTTP requests, e.g. "http://localhost:5173" (requests with an Origin header are refused unless listed; native clients send none)')
|
|
228
|
+
.option('--projects <paths...>', 'Additional projects to serve: "name=path" or "path" (project name defaults to the directory name)')
|
|
217
229
|
.action(mcp_1.mcpCommand);
|
|
218
230
|
program
|
|
219
231
|
.command('tree')
|
|
@@ -232,10 +244,13 @@ program
|
|
|
232
244
|
.action(wiki_1.wikiCommand);
|
|
233
245
|
program
|
|
234
246
|
.command('prs')
|
|
235
|
-
.description('Map open pull requests onto the knowledge graph
|
|
247
|
+
.description('Map open pull requests onto the knowledge graph: CI state, review status, worktree mapping, ranked review queue, merge-order risk')
|
|
236
248
|
.argument('[count]', 'Number of PRs to analyze', '20')
|
|
237
249
|
.option('--graph <path>', 'Path to project root', '.')
|
|
238
250
|
.option('--conflicts', 'Flag PRs sharing communities (merge-order risk)')
|
|
251
|
+
.option('--triage', 'Compact per-PR triage lines instead of the full dashboard')
|
|
252
|
+
.option('--queue', 'Print only the ranked review queue')
|
|
253
|
+
.option('--json', 'Emit machine-readable JSON (ranked queue with all signals)')
|
|
239
254
|
.action(prs_1.prsCommand);
|
|
240
255
|
program
|
|
241
256
|
.command('add')
|
|
@@ -254,13 +269,68 @@ program
|
|
|
254
269
|
.option('--graph <path>', 'Path to project root', '.')
|
|
255
270
|
.option('--json', 'Emit machine-readable JSON')
|
|
256
271
|
.action(status_1.statusCommand);
|
|
257
|
-
program
|
|
258
|
-
.command('migrate')
|
|
259
|
-
.description('Migrate a pre-1.0 .graphify layout to .astria (renames the data folder, ignore file, and global store)')
|
|
260
|
-
.option('--graph <path>', 'Path to project root', '.')
|
|
261
|
-
.action(migrate_1.migrateCommand);
|
|
262
272
|
(0, install_1.registerInstallCommand)(program);
|
|
263
273
|
(0, hook_1.registerHookCommand)(program);
|
|
274
|
+
const mergeDriverCmd = program
|
|
275
|
+
.command('merge-driver')
|
|
276
|
+
.description('Git merge driver for .astria/graph.json — union-merges parallel-branch graph commits instead of conflicting');
|
|
277
|
+
mergeDriverCmd
|
|
278
|
+
.command('install')
|
|
279
|
+
.description('Wire the driver into .gitattributes + git config (idempotent)')
|
|
280
|
+
.action(() => {
|
|
281
|
+
try {
|
|
282
|
+
for (const msg of (0, merge_driver_1.mergeDriverInstall)(process.cwd())) {
|
|
283
|
+
console.log(msg);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
catch (err) {
|
|
287
|
+
console.error(err.message || err);
|
|
288
|
+
process.exitCode = 1;
|
|
289
|
+
}
|
|
290
|
+
});
|
|
291
|
+
mergeDriverCmd
|
|
292
|
+
.command('uninstall')
|
|
293
|
+
.description('Remove the .gitattributes entries and git config the install step added')
|
|
294
|
+
.action(() => {
|
|
295
|
+
try {
|
|
296
|
+
for (const msg of (0, merge_driver_1.mergeDriverUninstall)(process.cwd())) {
|
|
297
|
+
console.log(msg);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
catch (err) {
|
|
301
|
+
console.error(err.message || err);
|
|
302
|
+
process.exitCode = 1;
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
mergeDriverCmd
|
|
306
|
+
.command('run')
|
|
307
|
+
.description('Invoked by git during a merge — do not call by hand')
|
|
308
|
+
.argument('<base>', 'Base version path (%O)')
|
|
309
|
+
.argument('<ours>', 'Ours version path, merged in place (%A)')
|
|
310
|
+
.argument('<theirs>', 'Theirs version path (%B)')
|
|
311
|
+
.allowUnknownOption(true)
|
|
312
|
+
.action((base, ours, theirs) => {
|
|
313
|
+
process.exitCode = (0, merge_driver_1.mergeDriverRun)(base, ours, theirs);
|
|
314
|
+
});
|
|
315
|
+
program
|
|
316
|
+
.command('digest')
|
|
317
|
+
.description('Engineering digest from the graph: overview, health, hubs, communities, LLM spend — cron/CI friendly (hosted tier: app.graphify.com)')
|
|
318
|
+
.option('--graph <path>', 'Path to project root', '.')
|
|
319
|
+
.option('--out <file>', 'Write the markdown digest to a file instead of stdout')
|
|
320
|
+
.option('--json', 'Emit machine-readable JSON')
|
|
321
|
+
.action(digest_1.digestCommand);
|
|
322
|
+
program
|
|
323
|
+
.command('merge-gate')
|
|
324
|
+
.description('CI merge gate: fails when the graph is missing, stale, unhealthy, or the pending diff is too risky (hosted tier: app.graphify.com)')
|
|
325
|
+
.option('--graph <path>', 'Path to project root', '.')
|
|
326
|
+
.option('--max-age-hours <h>', 'Fail when the graph is older than this', '24')
|
|
327
|
+
.option('--min-health <n>', 'Fail when the health score is below this', '60')
|
|
328
|
+
.option('--max-risk <n>', 'Fail when the diff risk score exceeds this', '70')
|
|
329
|
+
.option('--staged', 'Assess the staged diff only (git diff --cached)')
|
|
330
|
+
.option('--base <ref>', 'Score the committed diff base...head (CI/PR mode — a clean checkout has no working-tree diff; e.g. --base origin/main)')
|
|
331
|
+
.option('--head <ref>', 'Head ref of the range (default HEAD; requires --base)')
|
|
332
|
+
.option('--json', 'Emit machine-readable JSON')
|
|
333
|
+
.action(merge_gate_1.mergeGateCommand);
|
|
264
334
|
program
|
|
265
335
|
.command('diagnose')
|
|
266
336
|
.description('Read-only graph health report: dangling edges, self-loops, duplicates, stubs')
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atomic.d.ts","sourceRoot":"","sources":["../../src/install/atomic.ts"],"names":[],"mappings":"AAWA,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAmBpE"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.writeTextAtomic = writeTextAtomic;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
const sleep = (ms) => Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
|
|
40
|
+
/// Write `text` to `filePath` via temp-file + rename so a crash, kill, or
|
|
41
|
+
/// disk-full mid-write can never leave a truncated config. On Windows the
|
|
42
|
+
/// rename replaces an existing target (libuv passes MOVEFILE_REPLACE_EXISTING);
|
|
43
|
+
/// a target locked by another process (editor, antivirus) is retried briefly
|
|
44
|
+
/// and finally falls back to a direct write — degraded, but never a failed
|
|
45
|
+
/// install over an intact old file.
|
|
46
|
+
function writeTextAtomic(filePath, text) {
|
|
47
|
+
const dir = path.dirname(filePath);
|
|
48
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
49
|
+
const tmp = path.join(dir, `.${path.basename(filePath)}.astria-tmp`);
|
|
50
|
+
fs.writeFileSync(tmp, text, 'utf-8');
|
|
51
|
+
for (let attempt = 0; attempt < 3; attempt++) {
|
|
52
|
+
try {
|
|
53
|
+
fs.renameSync(tmp, filePath);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
if (attempt === 2) {
|
|
58
|
+
// Last resort: keep the old direct-write behavior rather than fail.
|
|
59
|
+
try {
|
|
60
|
+
fs.unlinkSync(tmp);
|
|
61
|
+
}
|
|
62
|
+
catch { /* absent */ }
|
|
63
|
+
fs.writeFileSync(filePath, text, 'utf-8');
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
sleep(100);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=atomic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atomic.js","sourceRoot":"","sources":["../../src/install/atomic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,0CAmBC;AA9BD,uCAAyB;AACzB,2CAA6B;AAE7B,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAE/F,0EAA0E;AAC1E,0EAA0E;AAC1E,gFAAgF;AAChF,6EAA6E;AAC7E,2EAA2E;AAC3E,oCAAoC;AACpC,SAAgB,eAAe,CAAC,QAAgB,EAAE,IAAY;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;gBAClB,oEAAoE;gBACpE,IAAI,CAAC;oBAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAClD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,CAAC;QACb,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/install/hooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/install/hooks.ts"],"names":[],"mappings":"AAiGA,QAAA,MAAM,oBAAoB;;;;;;IAGzB,CAAC;AA0LF,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAM5D;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAM9D;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CA4B3D;AAID,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
package/dist/install/hooks.js
CHANGED
|
@@ -40,6 +40,7 @@ exports.statusGitHooks = statusGitHooks;
|
|
|
40
40
|
const fs = __importStar(require("fs"));
|
|
41
41
|
const path = __importStar(require("path"));
|
|
42
42
|
const child_process_1 = require("child_process");
|
|
43
|
+
const atomic_1 = require("./atomic");
|
|
43
44
|
const UPDATE_HELPER = `
|
|
44
45
|
const ASTRIA_HOOK_VERSION = '4';
|
|
45
46
|
// Prefer a workspace-local CLI, then a locally-installed package, and only
|
|
@@ -165,6 +166,13 @@ function isOwnShebangOnly(content) {
|
|
|
165
166
|
const trimmed = content.trim();
|
|
166
167
|
return trimmed === '' || SHEBANGS.includes(trimmed);
|
|
167
168
|
}
|
|
169
|
+
/// The appended updater is JavaScript — appending it to a hook git runs with
|
|
170
|
+
/// sh/bash (a user's shell hook, a husky-style hook) breaks that hook with
|
|
171
|
+
/// syntax errors on every commit. Only a Node-script hook can absorb it.
|
|
172
|
+
function isNodeScriptHook(content) {
|
|
173
|
+
const firstLine = content.split('\n', 1)[0].trim();
|
|
174
|
+
return firstLine.startsWith('#!') && firstLine.includes('node');
|
|
175
|
+
}
|
|
168
176
|
function getGitRoot(projectDir) {
|
|
169
177
|
try {
|
|
170
178
|
const result = (0, child_process_1.execSync)('git rev-parse --show-toplevel', {
|
|
@@ -217,7 +225,7 @@ function installHook(hooksDir, def) {
|
|
|
217
225
|
}
|
|
218
226
|
if (isOwnShebangOnly(content)) {
|
|
219
227
|
// File contained only our legacy section - rewrite fresh in current format
|
|
220
|
-
|
|
228
|
+
(0, atomic_1.writeTextAtomic)(hookPath, '#!/usr/bin/env node\n\n' + def.script);
|
|
221
229
|
return hadLegacy
|
|
222
230
|
? `${def.hookName}: migrated legacy hook to current format`
|
|
223
231
|
: `${def.hookName}: installed`;
|
|
@@ -231,21 +239,28 @@ function installHook(hooksDir, def) {
|
|
|
231
239
|
const refreshed = content.trim() === '' || SHEBANGS.includes(content.trim())
|
|
232
240
|
? '#!/usr/bin/env node\n\n' + def.script
|
|
233
241
|
: content.trimEnd() + '\n\n' + def.script;
|
|
234
|
-
|
|
242
|
+
(0, atomic_1.writeTextAtomic)(hookPath, refreshed);
|
|
235
243
|
return `${def.hookName}: updated script to current version`;
|
|
236
244
|
}
|
|
237
245
|
if (hadLegacy) {
|
|
238
|
-
|
|
246
|
+
(0, atomic_1.writeTextAtomic)(hookPath, content);
|
|
239
247
|
return `${def.hookName}: already installed (stale legacy section removed)`;
|
|
240
248
|
}
|
|
241
249
|
return `${def.hookName}: already installed`;
|
|
242
250
|
}
|
|
243
|
-
|
|
251
|
+
// Appending is only safe when the existing hook is a Node script; git
|
|
252
|
+
// executes hook files with sh when they lack a node shebang, and a
|
|
253
|
+
// JavaScript block appended to shell code breaks the hook (syntax
|
|
254
|
+
// errors on every commit) instead of adding the updater.
|
|
255
|
+
if (!isNodeScriptHook(content)) {
|
|
256
|
+
return `${def.hookName}: skipped (existing hook is not a Node script; appending the astria updater would break it — bridge it manually if you want graph refreshes)`;
|
|
257
|
+
}
|
|
258
|
+
(0, atomic_1.writeTextAtomic)(hookPath, content.trimEnd() + '\n\n' + def.script);
|
|
244
259
|
return hadLegacy
|
|
245
260
|
? `${def.hookName}: appended to existing hook (replaced legacy section)`
|
|
246
261
|
: `${def.hookName}: appended to existing hook`;
|
|
247
262
|
}
|
|
248
|
-
|
|
263
|
+
(0, atomic_1.writeTextAtomic)(hookPath, '#!/usr/bin/env node\n\n' + def.script);
|
|
249
264
|
try {
|
|
250
265
|
fs.chmodSync(hookPath, 0o755);
|
|
251
266
|
}
|
|
@@ -269,7 +284,7 @@ function uninstallHook(hooksDir, def) {
|
|
|
269
284
|
fs.unlinkSync(hookPath);
|
|
270
285
|
return `${def.hookName}: removed (deleted empty hook)`;
|
|
271
286
|
}
|
|
272
|
-
|
|
287
|
+
(0, atomic_1.writeTextAtomic)(hookPath, content);
|
|
273
288
|
return `${def.hookName}: removed`;
|
|
274
289
|
}
|
|
275
290
|
function installGitHooks(projectDir) {
|