@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.
Files changed (80) hide show
  1. package/dist/commands/cluster.d.ts +7 -1
  2. package/dist/commands/cluster.d.ts.map +1 -1
  3. package/dist/commands/cluster.js +9 -2
  4. package/dist/commands/cluster.js.map +1 -1
  5. package/dist/commands/digest.d.ts +7 -0
  6. package/dist/commands/digest.d.ts.map +1 -0
  7. package/dist/commands/digest.js +161 -0
  8. package/dist/commands/digest.js.map +1 -0
  9. package/dist/commands/install.d.ts.map +1 -1
  10. package/dist/commands/install.js +11 -1
  11. package/dist/commands/install.js.map +1 -1
  12. package/dist/commands/map.d.ts.map +1 -1
  13. package/dist/commands/map.js +2 -1
  14. package/dist/commands/map.js.map +1 -1
  15. package/dist/commands/mcp.d.ts +17 -2
  16. package/dist/commands/mcp.d.ts.map +1 -1
  17. package/dist/commands/mcp.js +16 -0
  18. package/dist/commands/mcp.js.map +1 -1
  19. package/dist/commands/merge-driver.d.ts +7 -0
  20. package/dist/commands/merge-driver.d.ts.map +1 -0
  21. package/dist/commands/merge-driver.js +186 -0
  22. package/dist/commands/merge-driver.js.map +1 -0
  23. package/dist/commands/merge-gate.d.ts +14 -0
  24. package/dist/commands/merge-gate.d.ts.map +1 -0
  25. package/dist/commands/merge-gate.js +200 -0
  26. package/dist/commands/merge-gate.js.map +1 -0
  27. package/dist/commands/merge.d.ts +4 -1
  28. package/dist/commands/merge.d.ts.map +1 -1
  29. package/dist/commands/merge.js +4 -3
  30. package/dist/commands/merge.js.map +1 -1
  31. package/dist/commands/prs.d.ts +3 -0
  32. package/dist/commands/prs.d.ts.map +1 -1
  33. package/dist/commands/prs.js +188 -13
  34. package/dist/commands/prs.js.map +1 -1
  35. package/dist/commands/query.d.ts.map +1 -1
  36. package/dist/commands/query.js +2 -1
  37. package/dist/commands/query.js.map +1 -1
  38. package/dist/commands/stats.d.ts.map +1 -1
  39. package/dist/commands/stats.js +1 -0
  40. package/dist/commands/stats.js.map +1 -1
  41. package/dist/commands/watch.d.ts.map +1 -1
  42. package/dist/commands/watch.js +83 -49
  43. package/dist/commands/watch.js.map +1 -1
  44. package/dist/defaults.d.ts +2 -0
  45. package/dist/defaults.d.ts.map +1 -0
  46. package/dist/defaults.js +7 -0
  47. package/dist/defaults.js.map +1 -0
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +84 -14
  50. package/dist/index.js.map +1 -1
  51. package/dist/install/atomic.d.ts +2 -0
  52. package/dist/install/atomic.d.ts.map +1 -0
  53. package/dist/install/atomic.js +70 -0
  54. package/dist/install/atomic.js.map +1 -0
  55. package/dist/install/hooks.d.ts.map +1 -1
  56. package/dist/install/hooks.js +21 -6
  57. package/dist/install/hooks.js.map +1 -1
  58. package/dist/install/index.d.ts +1 -0
  59. package/dist/install/index.d.ts.map +1 -1
  60. package/dist/install/index.js +122 -47
  61. package/dist/install/index.js.map +1 -1
  62. package/dist/install/markdown-inject.d.ts.map +1 -1
  63. package/dist/install/markdown-inject.js +24 -14
  64. package/dist/install/markdown-inject.js.map +1 -1
  65. package/dist/install/platforms.d.ts +3 -0
  66. package/dist/install/platforms.d.ts.map +1 -1
  67. package/dist/install/platforms.js +6 -0
  68. package/dist/install/platforms.js.map +1 -1
  69. package/dist/install/settings-inject.d.ts.map +1 -1
  70. package/dist/install/settings-inject.js +128 -35
  71. package/dist/install/settings-inject.js.map +1 -1
  72. package/dist/native.d.ts +42 -40
  73. package/dist/native.d.ts.map +1 -1
  74. package/dist/native.js +94 -53
  75. package/dist/native.js.map +1 -1
  76. package/package.json +10 -8
  77. package/dist/commands/migrate.d.ts +0 -4
  78. package/dist/commands/migrate.d.ts.map +0 -1
  79. package/dist/commands/migrate.js +0 -75
  80. 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":"AAYA,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,iBAsE/E"}
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"}
@@ -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 native_1 = require("../native");
40
- const version_1 = require("../version");
41
- const CODE_EXTENSIONS = new Set([
42
- '.py', '.js', '.jsx', '.mjs', '.ts', '.tsx',
43
- '.rs', '.go', '.java', '.c', '.h', '.cpp', '.cc', '.cxx', '.hpp',
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 = parseInt(opts.debounce || '3000', 10);
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 changedFiles = new Set();
55
- let timer = null;
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
- if (!filename)
60
- return;
61
- const filePath = filename.replace(/\\/g, '/');
62
- const parts = filePath.split('/');
63
- if (parts.some((p) => SKIP_DIRS.has(p)))
64
- return;
65
- const ext = path.extname(filePath).toLowerCase();
66
- if (!CODE_EXTENSIONS.has(ext))
67
- return;
68
- changedFiles.add(filePath);
69
- if (timer)
70
- clearTimeout(timer);
71
- timer = setTimeout(() => {
72
- const batch = [...changedFiles];
73
- changedFiles.clear();
74
- console.log(`\n[astria] ${batch.length} file(s) changed, rebuilding...`);
75
- try {
76
- const result = (0, native_1.runPipeline)(resolved, false, false, false, false, version_1.VERSION);
77
- console.log(`[astria] Rebuilt: ${result.nodesAdded} nodes, ${result.edgesAdded} edges, ${result.communities} communities`);
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
- console.log('\n[astria] Stopped.');
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":"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"}
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const DEFAULT_QUERY_BUDGET = 2000;
2
+ //# sourceMappingURL=defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,OAAO,CAAC"}
@@ -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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmCpC,QAAA,MAAM,OAAO,SAAgB,CAAC;AAoU9B,OAAO,EAAE,OAAO,EAAE,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', '2000')
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', '2000')
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
- .action(cluster_1.clusterCommand);
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 stdio server exposing the graph to AI agents (Claude, etc.)')
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 (impact + merge-order risk)')
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,2 @@
1
+ export declare function writeTextAtomic(filePath: string, text: string): void;
2
+ //# sourceMappingURL=atomic.d.ts.map
@@ -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":"AAgGA,QAAA,MAAM,oBAAoB;;;;;;IAGzB,CAAC;AA0KF,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"}
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"}
@@ -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
- fs.writeFileSync(hookPath, '#!/usr/bin/env node\n\n' + def.script, 'utf-8');
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
- fs.writeFileSync(hookPath, refreshed, 'utf-8');
242
+ (0, atomic_1.writeTextAtomic)(hookPath, refreshed);
235
243
  return `${def.hookName}: updated script to current version`;
236
244
  }
237
245
  if (hadLegacy) {
238
- fs.writeFileSync(hookPath, content, 'utf-8');
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
- fs.writeFileSync(hookPath, content.trimEnd() + '\n\n' + def.script, 'utf-8');
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
- fs.writeFileSync(hookPath, '#!/usr/bin/env node\n\n' + def.script, 'utf-8');
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
- fs.writeFileSync(hookPath, content, 'utf-8');
287
+ (0, atomic_1.writeTextAtomic)(hookPath, content);
273
288
  return `${def.hookName}: removed`;
274
289
  }
275
290
  function installGitHooks(projectDir) {